240 likes | 432 Views
Image Processing for MRI. Tips and Pitfalls. Patient -> Image -> Beyond. signal reception FFT indices, coordinates File formats DICOM – 3D positions window levels. 16 bits are not enough precision. ~16 bit analogue to digital converter integers 0 – 65535.
E N D
Image Processing for MRI Tips and Pitfalls
Patient -> Image -> Beyond • signal reception • FFT • indices, coordinates • File formats • DICOM – 3D positions • window levels
16 bits are not enough precision • ~16 bit analogue to digital converter • integers 0 – 65535. • True dynamic range is higher (variable attenuators in receiver chain). • Complex FFT and other processing. • Use “intensity” image (floating point values), rather than indexed or rgb. • avoid read/writing intermediate files in tiff, gif.
FFT on 2D k-space k-space FFT
FFT Recipe 1 shift 2 FFT 3 unshift
FFT other tips • 1/N scaling between forward and reverse. • Lack of convention for forward/reverse. • Don’t 3D FFT multi-slice data. • Beware of indices and the location of DC. 0 N/2 + 1 N/2
Vertical axis reflection • Care mapping: • spatial transformations • k-space frequencies
2D data in memory and files 2D data stored sequentially in 1D memory/file MATLAB matrix(row, column) IDL matrix(column, row) C array [ index1 ] [ index2 ] index is written out most rapidly Symptoms: rotated (transposed) images.
File Formats • See David Clunie’s Medical Image web site. http://www.dclunie.com/ • Files contain: Information and pixel values. • Information in either: • fixed length header (gipl) • fixed length separate file (Analyze) • tags (ACR/NEMA, tiff, DICOM, SPI)
Big endian “big end first” Unix Motorola Mac Little endian “little end first” Intel (Windows and Linux on a PC) Endian (not indian) Order in which multiple byte variables are stored
Endian (cont) Problems reading file previously written on a different system. Most standard image file types and readers cope. MATLAB – specify within fopen IDL - byte swapping commands. Do not just swap every pair of bytes blindly.
3D Information in DICOM right-handed coordinate system +z Head ImagePositionPatient (x,y,z) r centre of top-left pixel +y Posterior ImageOrientationPatient c (rx, ry, rz, cx, cy, cz) image row and column directions +x Patient Left
Example Example • restrict FOV • surf command • vertices specified • no edge color !! relies on radiographer correctly entering supine/prone, head-foot !!
Decoding a DICOM directory • Thousands of files often with meaningless names. • Set up DICOM node to use sensible file names. • Examine the slice separations in 3D space using ImagePositionPatient. • for cardiac phases, use TriggerDelay? • Future standard: Multi-frame DICOM objects for MR. Also allow annotation for tractography, fMRI etc.
Coordinates }? (0,0) (1,1) (0.5,0.5) Tip: generate a 4x4 image, plot a point. To find rotation centres, create a cross test object.
Image Presentation same image
Window levels • Alarming differences in gamma • CRT, LCD • Sun, Mac, PC. • printer, toner level. • projector, room brightness. • Fix lower range at 0, adjust upper based on inspection (e.g. exclude fat). Guess gamma. Present with a colour bar. • Future: support for .png gamma correction.
Misc. • In subtraction images, beware of negative values wrapping round the integer range. • signed vs. unsigned integers • MR data is complex: transpose, complex conjugate and Hermitian transpose are not the same. • http://www.itk.org • software • test data (BrainWeb, Visible Human) • software links (Image Magick, MRIConvert).
misc. (cont) • vtk good for surface visualisation. • Data is discrete, not continuous. • Voxels usually anisotropic. • Care: voxel sizes (distortion) and resolution (reduced phase encodes). • sinc interpolation is best on bandlimited data – but you may need the raw data, not a truncated image.
Book Recommendations • 3D coordinates, transformations, plane. Computer Graphics Foley, van Dam, Feiner, Hughes. • Numerical programming (not code itself) Numerical Recipes in C www.nr.com Press, Teukolsky, Flannery, Vetterling. • Eigenvalues, SVD, FFT, Google search! Numerical Computing with MATLAB Moler www.mathworks.com/moler
Book Recommendations (cont) • Digital Image Processing Digital Image Processing using MATLAB Gonzalez, Woods and Eddins.
Final Remarks • “Don’t image process unless the results can be validated.” • “Concentrate on acquisition not image processing.”