ImageJ versions and changes in Inversion behavior
Posted by Robert Baer on Feb 01, 2010; 11:37pm
URL: http://imagej.273.s1.nabble.com/passing-image-to-ImageJ-via-Java-Web-Start-tp3689525p3689531.html
There has apparently been a some subtle change to the way image inversion
occurs as we moved from ImageJ v1.41o to v1.43o. Because I'm not entirely
clear what I'm looking for, the code I'm using is complex, and I'm not a
Java expert, I thought I'd start by asking if there are known changes to the
inversion behavior from1.41o to 1.43o. The code I'm working with was
originally designed with a version prior to 1.41o, but continues to work at
least through version 1.41o. It seems broken in v1.43o. I'm using the
Windows XP version of ImageJ.
The change in behavior that I notice is basically that with ImageJ 1.41o I
get a black on white image, but with the newer 1.43o I get a white on black
image at a critical intermediate image of the complex . The pixel count for
0 with version 1.43o is identical with the pixel count for 255 with version
1.42o. This is continues in this inverted fashion except for slight
deviations in pixel count at the highest "white values" (47-64) on the 1.42o
imageJ image which correspond to the "blackest values" on the 1.43o ImageJ
(207-190). I'm attaching the tab separated text file of the histograms
although I don't know if it will survive posting.
The other slight clue I have is that with newer version 1.43o, if I take my
white on black 8-bit grayscale image, change it to RGB, and then change it
back to 8-bit grayscale, the histogram values get automatically stretched to
cover the entire 256 grayscale range. With the older black on white image
from 1.42o, changing to RGB and back does not alter the histogram. I
therefore wonder if there might be some image formating step that my code is
doing whose behavior is having secondary effects on the "apparent inversion"
of the histogram. I reiterate that a single set of code has two outcomes
depending only on ImageJ version.
I realize this is limited information to go on, but I'm hoping for some
clues that might help me find the critical area of my code and produce a
clean reproducible example of my problem for more detailed feedback. All
suggests of where to start are welcome.
Thanks,
Rob Baer