First, let us open the MINC file:
handle = openimage ('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 the MATLAB
whos
command 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.