I use the Fiji plugin register_virtual_stack_slices-3.0.3.jar to do registration of a series of Tif file.
If I do on a small sample size, the generated Tif stack in the end is several hundred MB stored in hard disc. I can use matlab to get the inage info of the tif stack, including how the XYZ dimension:
afn = 'D:\QMDownload\5\rrrrr.tif'; info = imfinfo(afn); num_imagesZ = numel(info); aWidth = info(1).Width; aHeight = info(1).Height; for k = 1 : num_imagesZ % read a slice A = double(imread(afn, k, 'Info', info); end
However, if I use a large dataset of 171 tifs each 1GB to do registration, the final output is a 120GB tif stack. The code above no longer works. The num_imagesZ is 1, not 171.
I also can hard-code the read the slice:
for k = 1 : 171 % read a slice A = double(imread(afn, k, 'Info', info); end
However, the outcome of all the slices are pure zero, although the image looks normal.
Is there a way to deal with this problem?Thanks.