On 09/01/2009 04:11, "Matt Glasser" <[log in to unmask]> wrote:
> Here is an explanation of the GE DICOM header for the purpose of rotating
> gradient fields provided by Jolinda Smith, the author of MRIConvert:
>
> "Image Orientation Patient" is the correct field for getting the slice
> prescription angles. The six values are the direction cosines for the rows
> and columns in the image. In other words, they are the first two rows in the
> rotation matrix you'll need to transform your gradient table from "scanner
> space" to "image space". (The third row is the cross product of the first
> two rows.)
Hi,
On GE scanners, the gradient directions are already in image space, so you
don't need to transform the directions from scanner space to image space. On
the other hand, if you want to go from image space to scanner space, or some
other arbitrary direction, you would need the information in
ImageOrientationPatient.
Dave
>
> Here's the math. r[0] through r[5] are the six values in Image Orientation
> Patient.
>
> r[6] = r[1]*r[5] - r[2]*r[4];
> r[7] = r[2]*r[3] - r[0]*r[5];
> r[8] = r[0]*r[4] - r[1]*r[3];
>
> xGrad_rotated = r[0]*xGrad + r[1]*yGrad + r[2]*zGrad; yGrad_rotated =
> r[3]*xGrad + r[4]*yGrad + r[5]*zGrad; zGard_rotated = r[6]*xGrad +
> r[7]*yGrad + r[8]*zGrad;
>
> If MRIConvert is able to read the gradient table in the DICOM file, it does
> this transformation when writing the bvecs file for the FSL Nifti output, so
> you don't need to do it again."
>
> If you use MRIConvert you should get appropriately corrected bvecs files.
>
> Peace,
>
> Matt.
>
> -----Original Message-----
> From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On Behalf
> Of Michael Scheel
> Sent: Thursday, January 08, 2009 9:54 PM
> To: [log in to unmask]
> Subject: [FSL] read DICOM header to correct bvec for angulation
>
> Hi everybody,
>
> i have a question if anybody can give me some advise on a problem
> with a DTI series acquired on a General Electric Signa 3T.
> I have a diffusion DICOM dataset and the file for the gradient
> directions in the Scanner Coordinates.
> To avoid artefacts we aquired the data parallel to a plane (frontal
> sinus - cerebellum) - that gives quite a big angulation of the xy-plane.
> What I need to do is to take into account this angulation and correct
> the gradient-direction-file.
> My problem is that I don't know how to extract the amount of
> angulation from the DICOM header.
>
> So I guess my question boils down to:
>
> How do I extract the angulation parameters from the DICOM header and
> use it to correct the gradient-direction-file?
>
> Here is what the header says:
> ....
> ImagePositionPatient (0020,0032) -129.492\-147.271\35.8859
> value -129.492
> value -147.271
> value 35.8859
> ImageOrientationPatient (0020,0037) 1\-0\0\-0\0.844841\-0.535018
> value 1
> value -0
> value 0
> value -0
> value 0.844841
> value -0.535018
> .....
>
> I just don't know how to translate this, especially why are there 6
> values for the orientation when there are 3 planes that can be
> angulated?
>
> Thanks a lot, Michael.
|