Writing multidimensional TIFF files using imwrite
15 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi, I'm trying to write multidimensional TIFF files (also known as "hyperstacks" in ImageJ). For example, the "dimensions" will be microscopy attributes, such as fluorescence channel, timepoint, stage position, etc. I have an example below. I tried using the imwrite "append" mode in a nested for loop but it simply created a 21x1 stack, not a 7x3 as I had hoped. Any suggestions? Thanks.
% A is 7x3 cell array containing all images
outputFileName = 'img_stack.tif'
for j = 1:3 %channel number
for i = 1:7 % timepoint
imwrite(A{i,j}, outputFileName,'writemode','append','Compression','none');
end
end
1 Commento
Curtis Rueden
il 26 Nov 2017
Modificato: Curtis Rueden
il 26 Nov 2017
See also this question on StackOverflow. I recommend using the Bio-Formats library to export as OME-TIFF.
Risposte (2)
Kouichi C. Nakamura
il 3 Mag 2018
I recommend to use ijmshow in conjunction with Fiji's ImageJ-MATLAB.
addpath '/Applications/Fiji.app/scripts' % depends your Fiji installation
ImageJ
imp = ijmshow(I,'YXCZT')
% I is 5D array of uint8 or uint16
% the second argument determines which dimension represents what
% imp is a 5D hyperstack
ij.IJ.saveAsTiff(imp, 'image1.tif');
0 Commenti
Walter Roberson
il 3 Mag 2016
The information I find suggests that ImageJ parses the Tiff ImageDescription tag to determine the arrangement. I would need to study an example to determine the proper order.
imwrite() cannot write the ImageDescription tag; you would need to use the Tiff class for that.
0 Commenti
Vedere anche
Categorie
Scopri di più su Biomedical Imaging in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!