Many of my plugins deal with volume data (approximately 1500x750x100 - 1500x750 images, 100 slices).
For those for whom it might matter - these are OCT images of human retina. I now need to process time sequences, (xyz)t - I estimate 2-50 time points. (these would be several imaging sessions ("visits")). The subsequent visits are (claimed to be) registered with the first visit. If it turns out they are not...I can deal with that. The images are all single channel grayscale images (32-bit floats) - but this is negotiable. In particular, I could probably make do with 8-bit samples. My question is: is this a good fit for the ImageJ HyperStack mechanism? My only doubts come from the frequent phrase "must be RGB" I have seen while superficially browsing the documentation. This may be because the documentation appears to refer to specific interactive tools, where multiple channels appear to be very important. I'm primarily interested in programatic manipulation in Java plugins. Going further...my current usage involves a Extension to StackWindow (and ImagePlus) to link a displayed volume with yet another stack of images (not a "volume" - just a stack of related images - these are all "en face" images). So, I anticipate that I might want to make similar extensions to deal with a displayed HyperStack. This is desirable - but probably not essential, if it matters. Actually, I can see a case for making *that* stack into a HyperStack - again adding a "visit" time parameter. I would appreciate guidance on what parts of the ImageJ API I should pay attention to. Where should I start? I suppose I'm hoping for something analogous to a StackWindow API ("HyperStackWindow"?). Examples of Java code dealing with a similar situation ((xyz)t images - no "channels") would be pure gold. -- Kenneth Sloan [hidden email] Vision is the art of seeing what is invisible to others. -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Greetings Kenneth,
This is most of what I do in ImageJ; Process MRI datasets where volumes are acquired under a series of slightly different circumstances and then extract information therefrom. Check out https://imagej.net/Frames F_Profile is nice for looking at your raw data in the frame(time not RGB) direction. F_Project is used to process data in the frame direction. The GUI is useful for the quick and dirty, but what your looking for is the Compute interface and compute method; fully threaded... If your frames vary other than by index you will want to add slice labels to each frame(first slice). F_Slider is useful to viewing the varied output of processing the frame data. Enjoy, Fred PS. Anyone know when imagej.net will be writable again? On Thu, February 11, 2021 12:43 pm, Kenneth Sloan wrote: > Many of my plugins deal with volume data (approximately 1500x750x100 - > 1500x750 images, 100 slices). > For those for whom it might matter - these are OCT images of human retina. > > I now need to process time sequences, (xyz)t - I estimate 2-50 time > points. (these would be several imaging sessions ("visits")). The > subsequent visits are (claimed to be) registered with the first visit. > If it turns out they are not...I can deal with that. > > The images are all single channel grayscale images (32-bit floats) - but > this is negotiable. In particular, I could probably make do with 8-bit > samples. > > My question is: is this a good fit for the ImageJ HyperStack mechanism? > My only doubts come from the frequent phrase "must be RGB" I have seen > while superficially browsing the documentation. This may be because the > documentation appears to refer to specific interactive tools, where > multiple channels appear to be very important. > > I'm primarily interested in programatic manipulation in Java plugins. > > Going further...my current usage involves a Extension to StackWindow (and > ImagePlus) to link a displayed volume with yet another stack of images > (not a "volume" - just a stack of related images - these are all "en face" > images). So, I anticipate that I might want to make similar extensions to > deal with a displayed HyperStack. This is desirable - but probably not > essential, if it matters. > Actually, I can see a case for making *that* stack into a HyperStack - > again adding a "visit" time parameter. > > I would appreciate guidance on what parts of the ImageJ API I should pay > attention to. Where should I start? I suppose I'm hoping for something > analogous to a StackWindow API ("HyperStackWindow"?). > > Examples of Java code dealing with a similar situation ((xyz)t images - no > "channels") would be pure gold. > > -- > Kenneth Sloan > [hidden email] > Vision is the art of seeing what is invisible to others. > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Thanks - I will look at it.
-- Kenneth Sloan [hidden email] Vision is the art of seeing what is invisible to others. > On Feb 11, 2021, at 15:46, Fred Damen <[hidden email]> wrote: > > Greetings Kenneth, > > This is most of what I do in ImageJ; Process MRI datasets where volumes > are acquired under a series of slightly different circumstances and then > extract information therefrom. > > Check out https://imagej.net/Frames > > F_Profile is nice for looking at your raw data in the frame(time not RGB) > direction. > F_Project is used to process data in the frame direction. The GUI is > useful for the quick and dirty, but what your looking for is the Compute > interface and compute method; fully threaded... > If your frames vary other than by index you will want to add slice labels > to each frame(first slice). > F_Slider is useful to viewing the varied output of processing the frame data. > > > Enjoy, > > Fred > > PS. Anyone know when imagej.net will be writable again? > > > On Thu, February 11, 2021 12:43 pm, Kenneth Sloan wrote: >> Many of my plugins deal with volume data (approximately 1500x750x100 - >> 1500x750 images, 100 slices). >> For those for whom it might matter - these are OCT images of human retina. >> >> I now need to process time sequences, (xyz)t - I estimate 2-50 time >> points. (these would be several imaging sessions ("visits")). The >> subsequent visits are (claimed to be) registered with the first visit. >> If it turns out they are not...I can deal with that. >> >> The images are all single channel grayscale images (32-bit floats) - but >> this is negotiable. In particular, I could probably make do with 8-bit >> samples. >> >> My question is: is this a good fit for the ImageJ HyperStack mechanism? >> My only doubts come from the frequent phrase "must be RGB" I have seen >> while superficially browsing the documentation. This may be because the >> documentation appears to refer to specific interactive tools, where >> multiple channels appear to be very important. >> >> I'm primarily interested in programatic manipulation in Java plugins. >> >> Going further...my current usage involves a Extension to StackWindow (and >> ImagePlus) to link a displayed volume with yet another stack of images >> (not a "volume" - just a stack of related images - these are all "en face" >> images). So, I anticipate that I might want to make similar extensions to >> deal with a displayed HyperStack. This is desirable - but probably not >> essential, if it matters. >> Actually, I can see a case for making *that* stack into a HyperStack - >> again adding a "visit" time parameter. >> >> I would appreciate guidance on what parts of the ImageJ API I should pay >> attention to. Where should I start? I suppose I'm hoping for something >> analogous to a StackWindow API ("HyperStackWindow"?). >> >> Examples of Java code dealing with a similar situation ((xyz)t images - no >> "channels") would be pure gold. >> >> -- >> Kenneth Sloan >> [hidden email] >> Vision is the art of seeing what is invisible to others. >> >> -- >> ImageJ mailing list: http://imagej.nih.gov/ij/list.html >> > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Free forum by Nabble | Edit this page |