Hi Timothy

you should be able to. You can use the -nth <frame #> switch to convert 
each frame individually
cheers
Bruce


On Mon, 11 Jul 2011, Timothy Brown wrote:

> Hi All,
>
> Can mri_convert be used with multiframe dicom?


Is this advice still valid? I tried converting a multi frame DICOM (176 frames in one file) using the -nth flag in mri_convert in Freesurfer 5.3 and it did not work as I expected. 

$ $FREESURFER_HOME/bin/mri_convert -i RAW/301/foo.dcm -o PROCESSED/subj/mri/orig/001.mgz -nth 0
/path/to/bin/mri_convert -i RAW/301/foo.dcm -o PROCESSED/subj/mri/orig/001.mgz -nth 0
$Id: mri_convert.c,v 1.179.2.7 2012/09/05 21:55:16 mreuter Exp $
reading from RAW/301/foo.dcm...
Starting DICOMRead2()
dcmfile = RAW/301/foo.dcm
dcmdir = RAW/301
WARNING: tag image orientation not found in RAW/301/foo.dcm
Ref Series No = 301
Found 3 files, checking for dicoms
WARNING: tag image orientation not found in RAW/301/foo.dcm
Found 1 dicom files in series.
WARNING: tag image orientation not found in RAW/301/foo.dcm
First Sorting
Computing Slice Direction


 WARNING: it appears that the image position for all slices is the same.
 This is a problem with the DICOM file. Using direction cosines from col and row
 to compute slice direction, but the output may be misoriented.

Vs: 0 0 0
Vs: -nan -nan -nan
Second Sorting
Counting frames
nframes = 1
nslices = 1
ndcmfiles = 1
PE Dir = UNKNOWN (dicom read)
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
TransferSyntaxUID: --1.2.840.10008.1.2.1--
Loading pixel data
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
TR=0.00, TE=0.00, TI=0.00, flip angle=0.00
i_ras = (-0, -0, 0)
j_ras = (-0, -0, 0)
k_ras = (nan, nan, -nan)
Reslicing using trilinear interpolation
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
/usr/pubsw/packages/vxl/1.13.0/src/core/vnl/algo/vnl_qr.txx: vnl_qr<T>::solve() : matrix is rank-deficient by 2
MRIresample(): error inverting matrix; determinant is -nan, matrix is:
-0.000  -0.000   nan   nan;
-0.000  -0.000   nan   nan;
 0.000   0.000  -nan  -nan;
 0.000   0.000   0.000   1.000;

I get the exact same output running with -nth 0 as I do not using the -nth flag at all. If I try using -nth 1 (or -nth i for any integer i > 0) I get
mri_read(): start frame (1) is out of range (1 frames in volume)

mri_convert reports nframes = 1. I can look in the DICOM headers of the file and find
(0028, 0008) Number of Frames                    IS: ‘176’
and
(2001, 1018) [Number of Slices MR]               SL: 176

Anything I can do to tell mri_convert the correct number of frames?

Flavin




The material in this message is private and may contain Protected Healthcare Information (PHI). If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.