function imstack = tif_stack_read(file, nch)
% read single tif file containing 4 channels 

warning('off', 'MATLAB:imagesci:tiffmexutils:libtiffWarning')
warning('off', 'MATLAB:tifflib:TIFFReadDirectory:libTiffWarning')

InfoImage=imfinfo(file);
col=InfoImage(1).Width;
row=InfoImage(1).Height;
n=length(InfoImage);
imstack=zeros(row,col,n,'uint8');
 
tif = Tiff(file, 'r');
for i=1:n
   tif.setDirectory(i);
   imstack(:,:,i)=tif.read();
end
tif.close();

imstack = reshape(imstack,row,col,nch,n/nch);
imstack = permute(imstack,[1 2 4 3]);
