I have a tiff image stack in uint16 datatype and I’d like to convert this to uint8 datatype. I’m not sure how to do this in Fiji.
I have loaded the stack in Fiji and I tried to change the datatype while exporting. But I couldn’t find any tab in Fiji export options for specifying the datatype.
Suggestions on how to do this in Fiji or alternatively in Python/MATLAB will be really helpful.
The im2uint8()
function can be used to convert the image from uint16
(unsigned integer 16) to uint8
(unsigned integer 8) in MATLAB.
Image = imread("Test_Image.tiff");
Image = im2uint8(Image);
imshow(Image);
Reading the images in a loop using the imread()
function with second argument being the Image_Index
corresponding to the image number within the .tiff image collection can be used to grab the entire image data stored in the file. Using imwrite()
in append
and WriteMode
will allow each converted image to be saved into one file named in this example as Converted_Image.tiff
.
%Multiple image tiff conversion%
File_Name = "Test_Image.tiff";
Image_Data = imfinfo(File_Name);
Number_Of_Images = length(Image_Data);
Tiff_Structure = struct('Image_File',[]);
for Image_Index = 1: Number_Of_Images
Image = imread(File_Name,Image_Index);
Uint8_Image = im2uint8(Image);
%For more information and plotting individual images%
Tiff_Structure(Image_Index).Image_File = Uint8_Image;
%Saving the converted images to one tiff file%
imwrite(Uint8_Image,'Converted_Image.tiff','WriteMode','append');
end
Using MATLAB version: R2019b