First, let us open the MINC file:
handle = openimage ('examples/yates_19445.mnc');Now, we may wish to find out some basic data about the MINC file. Try the following (note that we will need nf, the number of frames, below):
ns = getimageinfo (handle, 'NumSlices') nf = getimageinfo (handle, 'NumFrames') getimageinfo (handle, 'ImageSize')Note that for the study yates_19445, nf will be 21. However, it is a good idea to always use getimageinfo to find the number of frames rather than assuming that it will always stay the same for a particular type of study.
Now, let us read in the frame lengths and mid-frame times:
FrameLengths = getimageinfo (handle, 'FrameLengths'); MidFTimes = getimageinfo (handle, 'MidFrameTimes');Note that FrameLengths and MidFTimes are both column vectors. This will be important when performing matrix arithmetic with them.
Now, we read in all frames for one slice-slice 8 in this case, although you can work with whatever slice you like:
slice = 8; PET = getimages (handle, slice, 1:nf);Note that this is the step where MATLAB uses up large amounts of memory. If you execute whos now, you will see that MATLAB's variables alone are taking up nearly 3 megabytes of memory. However, the entire MATLAB workspace generally takes up considerably more memory than is reported by whos, because of MATLAB's overhead and inefficient memory management scheme.