MATLAB Answers

I need to import a file of unsupported format into Matlab (multiple image sequence)

7 views (last 30 days)
John Crane
John Crane on 21 Aug 2011
I have files that contain multiple frames of raw data images (uint16 or uint32)and I have the row column information and how many frames are stored consecutively in the file. However, I can not find a suitable approach for telling matlab to import this file and the images it contains. It is a proprietary format (Ultrasound data) but I can look in a separate header file to find out the image parameters. Does anyone know how to tellMatlab to not only tell it the size of columns and rows but that there are multiple images as well???
Thank You!

Answers (1)

Chaowei Chen
Chaowei Chen on 22 Aug 2011
Does the file follows a certain format like tif? In this case, frame_k = imread('filename.tif',k);
If it is a custom format, I bet you can work around with the template below
fid = fopen(f_name, 'rb' );
file_id = fread( fid, 16, 'uchar');
file_head = fread( fid, 5, 'int32' ); % File_header
nFr = file_head(1); width = file_head(2); depth = file_head(3); nFrp3D = file_head(4); n3D = file_head(5);
fclose(fid);
  1 Comment
John Crane
John Crane on 22 Aug 2011
It is not one of the supported file formats but it is similar to a tif. For these file there is no header and imaging data starts at byte 0. I would get the parameters from another file. Would you still do an fread when you have file_head(1..5)?
It just doesn't appear to me how to pass the multi frame parameters into fread or imread.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!