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.