450 likes | 694 Views
Converting DTI data into Nrrd file format. Sonia Pujol, Ph.D. Gordon Kindlmann, Ph.D. Randy Gollub, M.D, Ph.D. Acknowledgments. National Alliance for Medical Image Computing NIH U54EB005149 Neuroimage Analysis Center NIH P41RR013218 Section on Tissue Biophysics and Biomimetics
E N D
Converting DTI data into Nrrd file format Sonia Pujol, Ph.D. Gordon Kindlmann, Ph.D. Randy Gollub, M.D, Ph.D.
Acknowledgments National Alliance for Medical Image Computing NIH U54EB005149 Neuroimage Analysis Center NIH P41RR013218 Section on Tissue Biophysics and Biomimetics National Institutes of Health Thanks to Dr. Carlo Pierpaoli
Disclaimer It is the responsibility of the user of 3DSlicer to comply with both the terms of the license and with the applicable laws, regulations and rules.
Material • Slicer 2.6 http://www.na-mic.org/Wiki/index.php/Slicer:Slicer2.6_Getting_Started • Tensor Sample Data Set Tensor_data.zip http://www.na-mic.org/Wiki/index.php/Slicer:Workshop:User_Training_101 • Prerequisites This tutorial assumes that you have already completed • Slicer Basics Loading and Viewing Data (Slicer Training 1) • Slicer DT-MRI ( Slicer Training 8) http://www.na-mic.org/Wiki/index.php/Slicer:Workshop:User_Training_101
Goal of the Tutorial Training on how to generate Nrrd headers DTI data and validate the orientation information within Slicer.
Overview • Part 1: Nrrd description • Part 2: Nrrd requirements • Part 3: Generating Nrrd Files • Part 4: Nrrd training data • Part 5: Orientation validation within Slicer
Background • Challenge: Concise and standardized description of the information contained in DWI and DTI data. • Current situation: • DICOM (Supplement 49) contains information on how to represent b-values and gradient directions of DWI • However no-one uses it: every vendor has their own unique way of archiving the relevant image acquisition parameters • The definition of the coordinate frame of the diffusion gradients (or the resulting estimated tensor) is not explicitly recorded in the header. • DICOM has no standard for tensors • Proposed Solution:Nrrd format
Nearly Raw Raster Data (Nrrd) • The flexible Nrrd format includes a single header file and image file(s) that can be separate or combined. • A Nrrd header accurately represents N-dimensional raster information for scientific visualization and medical image processing. • NA-MIC has developed a way of using the Nrrd format to represent Diffusion Weighted Images (DWI) volumes and Diffusion Tensor Images (DTI). • Nrrd DWI and Nrrd DTI data can be read into 3D Slicer, to visually confirm that the orientation of the tensors is consistent with expected neuroanatomy
DTI Pipeline Dxz Dxx Dxy Dyy Dyz Dzz Diffusion Sensitizing Gradients DWI images DTI images
(X,Y,Z) (I,J,K) Coordinate frames Diffusion Sensitizing Gradients (X,Y,Z) DWI and DTI Image Orientation (I,J,K) Patient Space (R,A,S)
Transformation matrices T: IJKRAS (I,J,K) (X,Y,Z) T: XYZRAS (R,A,S)
Nrrd Terminology T: XYZRAS (X,Y,Z) (I,J,K) T: IJKRAS (R,A,S)
Overview • Part 1: Nrrd description • Part 2: Nrrd requirements • Part 3: Generating Nrrd Files • Part 4: Nrrd training data • Part 5: Orientation validation within Slicer
DTI Requirements To generate a Nrrd header for DTI data, you’ll need to know about the data representation and acquisition: DTI Volume characteristics • Data Type • Endianess • Dimensions Disk Storage • Axis Ordering Coordinate Frames • DTI Image Orientation • Gradient Measurement Frame Tensor coefficients • Order of the tensor coefficients
Overview • Part 1: Nrrd description • Part 2: Nrrd requirements • Part 3: Generating Nrrd Files • Part 4: Nrrd training data • Part 5: Orientation validation within Slicer
Generating Nrrd Files • Nrrd files can be generated from the Tk console of Slicer using the “unu” command line tool • unu is part of set of libraries called “Teem” compiled into Slicer 2.6 (http://teem.sourceforge.net/) • Slicer includes a Nrrd reader to load DTI volumes in Nrrd format
Unu syntax • General Syntax: unucmd-iinput-ooutput • Tips: “unu” list of unu commands “unucmd” help on cmd
Unu syntax: ‘make’ command • ‘make’ syntax: unumake-iinput-ooutput • ‘make’ documentation: unumakehelp on make
Running unu on Mac/Linux/Solaris To run the unu command from the Tk console, type ./unu • on Mac, you need to be in the directory /Lib/darwin-ppc/teem-build/bin • on Linux, you need to be in the directory /Lib/linux-x86/teem-build/bin • on Solaris, you need to be in the directory /Lib/solaris8/teem-build/bin. Another option for Mac/Linux/Solaris platforms is to enter the whole path to the /bin directory containing the executables when running the command.
Running unu on Windows To run the unu command from the Tk console, type unu. On Windows, you do not need to be in the directory win32/bin/teem-build: the unu commands run from any location.
Overview • Part 1: Nrrd description • Part 2: Nrrd requirements • Part 3: Generating Nrrd Files • Part 4: Nrrd DTI training data • Part 5: Orientation validation within Slicer
Creating Nrrd header for the DTI Training Data From the Analyze header, extract the: • DTI Volume characteristics Data Type: Float “--type float” Endianess: Big Endian “--endian big” Dimensions: 91 109 91 6 “--size 91 109 91 6” • Disk Storage Axis Ordering: columns, rows, slices, tensor elements “--kinds space space space 3d-symmetric-matrix” • Tensor coefficients Order of the tensor coefficients: Dxx, Dyy, Dzz, Dxy,Dxz, Dyz
DTI Training Data • Coordinate Frames DTI Image Orientation: Right-Anterior-Superior • “--space ras” • Tensors Measurement Frame T: XYZRAS “--measurement frame (1,0,0) (0,1,0) (0,0,1)” • Space Direction and SpaceOrigin T: IJKRAS --directions "(-1.98901,0.0,0.0) (0.0,1.99083,0.0) (0.0,0.0,2.0)--origin "(0,0,0)"
Complete unu Command (Mac/Linux/Solaris) ./unumake -h -i Tensors.img --size 91 109 91 6 --type float --encoding raw --endian big --space ras --spaceunit mm mm mm --measurementframe "(1,0,0)(0,1,0)(0,0,1)“ --directions "(-1.98901,0.0,0.0) (0.0,1.99083,0.0) (0.0,0.0,2.0) none" --origin "(0,0,0)" | unu shuffle -a 3 -p 0 3 4 1 5 2 -o myTensors.nhdr
Complete unu Command (Windows) unumake -h -i Tensors.img --size 91 109 91 6 --type float --encoding raw --endian big --space ras --spaceunit mm mm mm --measurementframe "(1,0,0)(0,1,0)(0,0,1)“ --directions "(-1.98901,0.0,0.0) (0.0,1.99083,0.0) (0.0,0.0,2.0) none" --origin "(0,0,0)" | unu shuffle -a 3 -p 0 3 4 1 5 2 -o myTensors.nhdr
Reordering the Tensor Coefficients Initial tutorial dataset 0:Dxx 1:Dyy 2:Dzz 3:Dxy 4:Dxz 5:Dyz Final tutorial dataset 0:Dxx 3:Dxy 4:Dxz 1:Dyy 5:Dyz 2:Dzz unu shuffle –a 3 –p 0 3 4 1 5 2
Step1: Unu Command into Slicer Type the unu command directly in the Tk console of Slicer
Step 2: Adding axis description You need to add an additional kinds field to the generated Nrrd header to specify how the data is stored to disk (This is analogous to the “Intent” field in NIfTI file format)
Step 2: Adding axis description Type the following Tcl commands in the Tk console: set file [open myTensors.nhdr a] puts $file “kinds: space space space 3d-symmetric-matrix” close $file
Step 2: Axis description In this example kinds states that the data is stored with the tensors coefficients in the slowest axis.
Step 3: Viewing the NRRD Header Type more MyTensors.nhdr in the Tk console to display the content of the NRRD header you just made
Step 3: Viewing the Nrrd Header Slicer displays the content of the Nrrd header
Overview • Part 1: Nrrd description • Part 2: Nrrd requirements • Part 3: Generating Nrrd Files • Part 4: Nrrd training data • Part 5: Orientation validation within Slicer
Loading a Nrrd Volume Click on Add Volume in the Main Panel of Slicer
Loading a Nrrd Volume The Props Panel of the module Volumes appears. Select Nrrd Reader in the Properties field Click on Browse and load the file myTensors.nhdr
Loading a Nrrd Volume Check that the path to myTensors.nhdr is correctly loaded. If needed, type the correct path directly in the window. Click on Apply
Loading a Nrrd Volume Slicer loads the Nrrd Tensor
Fractional Anisotropy Compute the Fractional Anisotropy from the Nrrd Tensor Volume using the DT-MRI module (Slicer Training 4)
Corpus Callosum Tracts Seed tracts in the Corpus Callosum using the tractography tools from the DT-MRI module (Slicer Training 4)
Corpus Callosum Tracts The orientation of the tracts within the Corpus Callosum confirms that the orientation information contained in the Nrrd file is correct.
Conclusion • Standardized description of the information contained in DTI data. • Rapid, intuitive visual assessment of orientation results within Slicer • Open-Source: http://teem.sourceforge.net/nrrd/