How to open a series of multi-channel images as a virtual hyperstack?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

How to open a series of multi-channel images as a virtual hyperstack?

Stein Rørvik
I have a folder with a series of 16-bit tiffs of the same XY-size, each are a three-channel image where each channel represents red, green and blue.
My files are thus of the same format as the "HeLa Cells" sample image.

ImageJ opens each of these as a RGB composite by default, which is okay.
I want to work on the red, green and blue channels separately, and that can be easily done by changing it from composite to greyscale using the channels tool.

My first question is: Is there any setting I can change to make ImageJ default to open the images as a 3-slice greyscale stack instead of composite?  That will be convenient.

What I want to do is to open the entire folder series as a hyperstack, and then be able to switch between the R-G-B channels. So If I have 20 files in the folder, I want a 20 slice stack with three channels. If I try to open the folder as an image sequence, ImageJ creates a 60 slice 1-channel stack which is not what I want. That is, each slice represents R1,G1,B1,R2,G2,B2 etc.

My second question is therefore: Is there any plugin or already existing method that will open such a series of multi-channel images as a hyperstack?

Another problem is that the size of the dataset is quite large. The total size may be up to 100 GB, too much to open in memory on a desktop PC. The ideal solution would therefore be to work with the data using a virtual stack. I only need to see one channel/slice at a time, but I need to quickly navigate between channels and slices, as what I want to do is to compare the R-G-B channels as a function of slice position in the sequence.

So my third question is: Is there any plugin or already existing method that can open such a series of multi-channel images as a virtual hyperstack?
So that only one channel/slice is in memory at every time. Loading all three channels in memory at every slice change would also be okay as it is the number of images that are the main problem.

If I try to import the folder as a virtual image sequence, I get a virtual stack that only consists of the first (red) channel which is not what I want.
A solution could therefore be to have an option to select which channel the virtual stack should consist of, in case each image has more than one channel.
Having the ability to open the dataset as three separate virtual stacks (one stack for each channel) would be an acceptable solution.

Yes I know that I can do the above by creating a macro that opens each image, splits the channels, and saves each channel in separate folders. Then each folder could be opened as a virtual stack. But due to the size of each dataset and the fact that they are stored on a slow server, that will slow down my workflow considerably.

Stein


--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html