Effacer les filtres
Effacer les filtres

Convert Double 3D matrix into 3D Tiff file

6 vues (au cours des 30 derniers jours)
Quan Zheng
Quan Zheng le 5 Mar 2024
Commenté : Quan Zheng le 5 Mar 2024
Hi all,
I am currently working on a 3D matrix contains 220 different values from 0-1 with Double format. The scale of this matrix is 2520*2520*1804. Now I want to convert this into a 3D Tiff file using imwrite function and it turns out the file is too big. I would much appreciate if anyone could give me some possible solutions on regard this issue. Thank you very much for your time.
Cheers,
Quan

Réponse acceptée

Walter Roberson
Walter Roberson le 5 Mar 2024
AImage data
matrix
Image data, specified as a full (nonsparse) matrix.
  • For grayscale images, A can be m-by-n.
  • For indexed images, A can be m-by-n. Specify the associated colormap in the map input argument.
  • For truecolor images, A must be m-by-n-by-3. imwrite does not support writing RGB images to GIF files.
For TIFF files, A can be an m-by-n-by-4 array containing color data that uses the CMYK color space.
You are trying to write m = 2520 n = 2520 ... by something that is not 3 or 4. imwrite() cannot do handle it.
What you can do is imwrite() one layer at a time, with "writemode", "append". The result will, however, not be a 3D Tiff file.
In order to get a 3D tiff file. you need to use the Tiff() class, and you have to write special tags.
Unfortunately there is no tiff write volume corresponding to tiffreadVolume
  1 commentaire
Quan Zheng
Quan Zheng le 5 Mar 2024
Hi Walter,
Thank you for your responds. As you suggested, I have tried to save the files into 2D slices and stack them into 3DTiff using Image J and it perfactly worked.
Thanks heaps again.
Cheers,
Quan

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by