MRIcro tutorial -- mricro 教程
MRIcro tutorial |
参考网址:http://www.mccauslandcenter.sc.edu/mricro/mricron/
http://www.cabiatl.com/mricro/mricro/mricro.html
This guide gives is a brief description of how you can use MRIcro and SPM to work with patient scans. For the MRIcro manual and software, visit the MRIcro home page (also available at www.icn.ucl.ac.uk/groups/jd/mricro/mricro.html). I also keep a have a FAQ that describes some of the more unusual features of MRIcro. Information about SPM can be found atwww.fil.ion.bpmf.ac.uk/spm/, or at www.mrc-cbu.cam.ac.uk/Imaging/. This tutorial will describe the following features:
- Download this tutorial
- Viewing images
- Creating regions of interest (marking and viewing lesions)
- Segmenting a region of interest
- Linear and nonlinear normalization functions
- Normalize paitent scans in stereotactic space (SPM5)
- Normalize paitent scans in stereotactic space (SPM2)
- Normalizing patient (or EPI) scans in stereotactic space ( SPM99 )
- Normalizing patient scans in stereotactic space ( SPMwin )
- Creating multislice images
- Creating multiple slices that only show one hemisphere
- Working with multiple regions of interest
- Yoking images to check registration
- Displaying a rendered image of the brain's surface
- Batch processing scanner images
Downloading this tutorial
- Windows users can download this tutorial by downloading the Windows installer.
- Linux users can download a zip file: shift+click here. This will copy a compressed version of the MRIcro web pages ('mritut.zip') to your computer (The zipped file requires around 450 kb).
- The MRIcro installation include a 1x1x1mm MRI scan. This is useful for learning how to use MRIcro. The image is named 'ch2bet.img': this is scalp-stripped version of the average of 27 T1-weighted scans of the same individual as displayed at www.bic.mni.mcgill.ca/cgi/icbm_view). A version of this image with the scalp included is also included with the latest MRIcro releases (this file is named ch2.img). Note that this MNI image does not exactly match the Talairach atlas. However, an MNI atlas is available.
Viewing an image
- Select 'Open Analyze Format hdr+img...' from the 'File' menu. You will be asked to select the MRI you wish to view. At the Medical Research Council, the (normalized) T1 scans have the name 'n'+scan number (e.g. n12345) while the T2 ('pathological') scans have the name 'p'+ scan number (e.g. p12345).
- The 'slice viewer' panel has three sliders: the top slider determines the scan slice you will be shown.
Left: The 'Slice viewer panel'. Controls on this panel allow you to adjust the appearance of the image you have opened. - You can use the 'black' and 'white' sliders to adjust the brightness of the image. An automated brightness can be selected by selecting 'Contrast autobalance' from the 'View' menu. With some images (those with more than 256 levels of gray), adjusting the brightness sliders will cause the 'optimise contrast' button to appear (in the figure above, it is the black and white circle). Selecting 'Contrast autobalance' from the 'View' menu usually improves the image's appearance.
- The bottom of the slice viewer panel allows you to select the cut you wish to view (transverse, sagittal, coronal, projection, free rotate or multiple slice views are available).
- An easy way to view an image is to select the projection view, and then click on the brain image to select the coordinates you wish to view.
Creating a region of interest
- Run MRIcro and select 'Open Analyze Format hdr+img...' from the 'File' menu. Enter the name and path of the file you wish to view.
- You will probably only want to create a region of interest on the T1 weighted scan, but you may want to open up a T2/proton density/T2* image to check the lesion location. For more information on different types of MRI scans, visit Joseph P. Hornak's The Basics of MRI web page. The Whole Brain Atlas also has examples of MRI/CT data.
Left: T1, proton density and T2 weighted slices from the same patient. The 'pathological' T2 scan is useful for locating the lesioned region in the brain. The 'anatomical' T1 scans usually have the best scan resolution, and are useful for localizing anatomical structures. The PD scan shows overall hydrogen density per cubic mm. Note artifacts caused by an aneurysm clip located directly anterior to the lesion (black hole, with a white halo in these images). Right: Relative brightness levels for different material in T1 and T2 scans. Notice that lesions are generally bright in T2 scans. - Regions of interest can only be drawn on the transverse, coronal and sagittal slices of the images (MRIcro versions prior to 1.20 only allow ROIs to be defined on the transverse slices). In the slice viewer panel, click on the button that shows a minature axial view of the brain. If the image does not appear to be sliced axially when the transverse button is selected (e.g. the scan looks coronal), then you may want to rotate the image, as described in the next section.
- Press F3 to select the closed pen (or click on this tool in the region of interest panel).
Left: Drawing a region of interest on a scan. - Go to the slice you wish to edit (you can use the F1 and F2 keys to go to the next lower or higher slice, respectively)
- Draw the region of interest by dragging the mouse cursor around the border while depressing the left mouse button.
- Go to the center of the region, an click the right mouse button to fill the region.
- If you make a mistake, press the icon of the hand holding an upside down pencil (it is in the region of interest panel). This will erase your region of interest from this slice only. You can also shift-click to delete a region of a ROI. For example, shift-left-clicking deletes a region of interest beneath the mouse's movements, while shift-right clicking deletes a filled-region underneath the mouse's position.
- Repeat steps 5-8 until you have drawn the lesion on all of the slices.
- Choose 'Save ROI...' from the 'ROI' menu. It is often useful to give the ROI the same name as the image file (e.g. if the image file is n12345.img then the roi should be as n12345.roi).
- Open the next image you wish to view. Repeat until you have created region of interest information for all of the images you want to process.
Note: MRIcro 1.36 and later includes tools for creating intensity-defined 3D regions of interest.
Segmenting a region of interest
MRIcro can also be used to filter a region of interest based on the image intensity of the scan. For example, consider an fMRI study of auditory cortex. The experimenter has drawn a region of interest to delineate this region of the cortex, but is specifically interested if the activity of the gray matter is modulated with the task. To solve this problem, the experimenter could filter the ROI of auditory cortex in order to remove white matter from the analysis. Note that SPM99 has a series of sophisticated segmenting algorithms that may be more accurate than MRIcro in many instances. MRIcro can apply an intensity filter to the entire volume (so the same contrast levels are applied to all of the slices in the entire image), to a single slice or to a region within a single slice.
Here is a step-by-step guide for segmenting an ROI using MRIcro:
- Draw your ROI as described in the previous section.
- Make sure to adjust the contrast of your image so that the different tissues appear visually distinctive. For images with more than 8 bits per voxel you may want to use the precision contrast tool (select 'Precise contrast' from the 'Viewer' menu).
- Select 'Apply intensity filter to slice/region...' from the 'ROI' menu. You will then be asked if you want to apply the contrast filter to the entire slice or a region of the slice. If you want to apply the filter to only a region, you will be asked to click on the top-left and bottom-right corners of the region you wish to filter. In the example below, we want to apply a different threshold to the dark clip artifact than the bright lesion. Therefore, we need to select the appropriate region.
- Adjust the intensity thresholds so that the tissue you want to preserve is highlighted in green. For example, when selecting the gray matter, the image might look like the panel C in the figure below.
- Press the 'Filter as shown' button.
- If you plan to use the ROI with SPM, you will want to convert the ROI to an Analyze format image. To do this, choose 'Export ROI as Analyze image...' from the 'ROI' menu.
Linear and nonlinear normalization functions
SPM can be used to 'normalize' MRI scans. These functions reorient the angle, position, size, etc of the scan to standard stereotaxic space. Normalized brains are much easier to read, because the slices match those available in published atlases. In addition, the majority of modern functional imaging studies normalize their scans to standardized space. Therefore, if you normalize your patient scans, the resulting scans will be easy to interpret relative to each other, to atlases and to functional imaging studies. However, SPM's normalization routines can be disrupted by a patient's lesions. This is because the lesioned region is very different from the corresponding region in the template (that comes from a healthy individual). In particular, SPM's non-linear routines are sensitive to lesions, and these routines will try to eliminate the lesion by compressing that region (distorting the shape of the brain in the process, see the figure below). There are two solutions. First, you can normalize the brain using only the linear components of the coregistration (e.g. set the parameter estimation defaults so that there are no nonlinear iterations and no basis functions). This method tends to do a fairly decent job of coregistering the brain. If you are using SPM99, you can take advantage of its 'object masking' feature to coregister a patient's scans. With this method, the masked region (e.g. area of a lesion) does not influence the parameter estimation. The advantage of this method is that SPM can apply nonlinear basis functions to the image, allowing a better coregistration. In addition, the lesion does not influence the linear components of the normalization, allowing a better linear fit as well. This section describes how to implement this technique.
Left: Linear, linear+nonlinear, and masked linear+nonlinear (respectively) normalizations of the same image to the MNI representative brain (shown on the far right). Note that without a mask (2nd from left), the nonlinear components compress the lesion, hiding the true position and size of the lesion. This example is from Matthew Brett. |
The table below shows each of the linear functions (translation, rotation, zoom and shear) applied to representative input images. Note that all of these functions can be applied in each of the three dimensions (e.g. rotation can be applied in the x, y and z coordinates, correcting yaw, pitch and roll of the input image). With the linear functions, note that any three points that are colinear in the input image will also be colinear in the output (though two parallel lines in an input image may not be parallel after an affine transformation). Also, all of the 12 linear parameters (translation, zoom, rotation and affine functions each in the x,y and z dimensions) are computed based on information from the entire image -therefore these functions are rarely disrupted by unusual local features found in MRI scans (e.g. aneurysm clip artifacts or lesions). The final row in this table shows how a nonlinear basis function can be used to coregister a brain image. In the representative example, the input image has a fisheye effect, which can be compensated for by a simple basis function. Unlike the linear functions, points that are colinear in the input image may not necessarily be colinear after nonlinear normalization. Furthermore, nonlinear functions are more heavily influenced by local image information, and therefore nonlinear normalization of patient scans may lead to distortion due to the unusual appearance of the lesion or aneurysm clips. For this reason, it is important to mask lesions and clip artifacts when estimating a nonlinear normalization (see the next section, which describes lesion masking in SPM99).
Input | Function | Output |
translation (e.g. shift up)
rigid body transform |
||
rotate (e.g. pitch down)
rigid body transform |
||
zoom (e.g. stretch wider)
affine transform |
||
shear
affine transform |
||
nonlinear basis function (e.g. shrink middle, expand edges) |
Normalize patient MRI scans with MRIcro and SPM5
The best way to normalize images with SPM5 is to use the unified normalization routine (simply press the 'Segment' button in SPM5). This option appears to give better solutions than previous versions of SPM or the standard normalization (which you get if you press SPM5's 'Normalize' button). Further, it does not appear that lesion masking is necessary if you use the unified normaliazation with brain lesions (see Crinion et al. (2007).
Normalize patient MRI scans with MRIcro and SPM2
This section presents a step-by-step guide for implementing the technique described by Brett et al. For a reprint of this article, please contact Chris Rorden. For references, please cite:
|
This section describes how to mask lesions so they do not disrupt the automated normalization functions of SPM2. Using this technique, SPM2 can accurately align a patient's scan to stereotaxic space without causing undue distortion. To complete this you will need SPM2 beta (or later) and MRIcro version 1.19 or later.
Stage 1: using MRIcro on a Windows PC:
- Open the patients MRI scan and ensure that the scan is in the correct orientation and you have marked the anterior commissue (see Stage 1, steps 1-2 of the section on normalizing patient scans with SPM99).
- Use MRIcro's Region of Interest tools to create a ROI that accurately maps the location and extent of the lesion (see the earlier section on creating ROIs).
- Make a lesion image. With your image and ROI open, choose 'Export ROI as Analyze image...' from the 'ROI' menu.Choose 'ROI is 1, background is 0' and save the image with the prefix 'l' (for 'Lesion', so if your file is named 'filename.img', you will have a new image named 'lfilename.img'.
- Make a masking image. With your image and ROI open, choose 'Export ROI as smoothed Analyze image...'. Choose a FWHM smooth of 8mm, a 0.001% threshold and make sure you select 'ROI is 0 [SPM object mask]'. Save your image with the prefix 'm' for mask. So if your original filename was 'filename.img', the mask image should be 'mfilename.img'.
Stage 2: using SPM2 to normalize your image:
Note: you will want to have the file 'lesionmask.m' in the same folder as SPM2. This simple script will allow you to quickly normalize images with SPM2. You may want to read through this script to ensure that it is accurate for your images: it assumes you are converting T1-weighted images. In addition, it is assumed that you have 3 Analyze files for each individual, all in the same folder: 'filename.img', 'lfilename.img', 'mfilename.img'. These files represent the MRI scan, the lesion definition and a smoothed version of the image that is used as a mask.
contents for lesionmask.m (click here to download; place in spm folder): %red text are comments, not codespm_defaults %initialize spm variables global defaults %initialize varialbes dnrm = defaults.normalise; %normalization is based on SPM defaults dnrm.write.vox = [1 1 1]; %set resilcing of high resolution images for 1mm isotropic dnrm.estimate.wtsrc = 1; %use mask image for normalization dnrm.estimate.weight = fullfile(spm('Dir'),'apriori','brainmask.mnc'); %use a mask for the template image: we want to align shape of brain, not the scalp dnrm.write.bb = [[-91 -125 -71];[89 91 109]]; %set bounding box to match brodmann and AAL maps that come with MRIcro VG0 = spm_vol(fullfile(spm('Dir'),'templates','T1.mnc'));%match scans to the T1-weighted template V = spm_vol(spm_get(Inf,'*.IMAGE','Select images')); %have the user select image for i=1:length(V), %repeat for each image the user selected [pth,nam,ext] = fileparts(V(i).fname);%segment file path/file name and extension wtsrcName = fullfile(pth,['m' nam ext]); %the mask image has the prefix 'm' VF = V(i); %select the MRI scan matname = [spm_str_manip(V(i).fname,'sd') '_sn.mat']; %name for file that will store transformation matrix prm = spm_normalise(VG0,VF,matname,dnrm.estimate.weight,wtsrcName ,dnrm.estimate); %normalize an image based on our preferences spm_write_sn(V(i),prm,dnrm.write); %reslice the image to new coordinates and save to disk LesionName = fullfile(pth,['l' nam ext]); %the lesion image has the prefix 'l' spm_write_sn(LesionName,prm,dnrm.write); %reslice the lesion to new coordinates and save to disk end; %repeat for each image |
- Open Matlab and type 'lesionmask' into the command window.
- You will be asked to select your images. Only select the MRI scans (e.g. filename.img), you should not select the mask (mfilename.img) and lesion (lfilename.img) images. Note you can select multiple files to batch convert images.
- SPM2 will then normalize images, the output will be a normalized version of the MRI scan ('wfilename.img') and a normalized copy of the lesion ('wlfilename.img').
Stage 3: using MRIcro on a Windows PC:
- Save the lesion in MRIcro's compressed ROI format. Open the lesion defintion scan (e.g. 'wlfilename.img') select 'Export Analyze image as ROI...' ('ROI' menu). You will be asked to set a minimum threshold for accepting a region as a lesion: you should set this value to 50 (50% of the maximum image intensity). Give this the same name as the patients normalized image (the ROI for image 'wfilename.img' should be 'wfilename.roi'.
- Open the normalized patient image with the 'Open image...' command ('File' menu). This should load both the normalized image and (if you have successfully completed the previous step) the normalized ROI. Notice that the volume of the lesion is displayed in the region of interest panel. Make sure to save your ROI. You can now view the lesion from any view and get a good idea of the size/position of the lesion (all in standardized stereotactic space).
Normalize patient MRI scans with MRIcro and SPM99
This section presents a step-by-step guide for implementing the technique described by Brett et al. For a reprint of this article, please contact Chris Rorden. For references, please cite:
|
This section describes how to mask lesions so they do not disrupt the automated normalization functions of SPM. This technique is also useful for EPI fMRI images from healthy individuals (where EPI artifacts can also disrupt normalization). The MRC-CBU has a page devoted to EPI masking. Souheil J. Inati has also posted a useful technique for normalizing EPI scans with SPM.
SPM99 can compute normalize patient scans to a stereotaxi standard template using both linear and nonlinear functions. Allowing SPM to apply nonlinear transformations will generally result in a more accurate normalization. However, with patient scans, nonlinear functions can effectively squash the region of a lesion (as it has no equivalent in the healthy template brain), causing considerable distortion of the brain. This section describes how to create and apply a lesion mask with SPM99, which allows accurate linear and nonlinear normalization of scans that have large lesions.
You will require SPM 99 beta (or later) and MRIcro version 1.19 or later (to get the latest version of MRIcro, go to theMRIcro home page).
Stage 1: using MRIcro on a Windows PC:
- Open your scan and check the image orientation and the amount of neck presented in the image: when the slice viewer panel is set to display transverse slices, you should see transverse slices with the anterior portion of the brain (and the nose) toward the top of the screen and the posterior regions of the brain toward the bottom of your computer screen. Furthermore, the amount of neck displayed in your image should roughly match the amount of spinal cord shown in the template image. If your image is not in the correct format, choose the 'Save as...[rotate/format/clip/4D->3D]' from the 'File' menu. A window will appear which allows you to describe the current orientation of the brain and the amount of the spinal cord you wish to clip from the image. The preview button allows you to ensure that you have selected the correct orientation. Once you have correctly described the image orientation, press the 'save Intel' (or 'Save Sun', both SPMwin and MRIcro can read either format). Advanced note: if all of your scans are in the same non-transverse format (e.g. coronal), you can set SPM96/SPM99 [but not SPMwin] to automatically rotate the scans for you by setting the 'sptl_Ornt' parameter of your spm_defaults.m file. For more details, search the SPM archives for 'sptl_Ornt'. Another option is to reorient the images using SPM99's 'display' feature.
Left: The left panel shows a coronal format scan. Note that when the transverse view button (highlighted in green) is selected, the scan appears to be coronal. The right panel shows MRIcro's scan rotation panel, with the format for the scan set to coronal. Note that the rotation panel has 'clip low' and 'clip high' settings, which allow you to interactively shave slices off of the image. In this example, I want to remove some of the excess spinal cord, so that this region will not influcence SPM. Note that the sagittal view on the right shows much more spinal cord than the template brain (shown in the projection view, below). - Make sure that the 'origin' fields correctly designates the location of the Anterior Commissure (see the diagrams below to get an idea of where the AC is located, or read Matthew Brett's AC-PC web page). To find the AC, click on the projection views button (it looks like a cube) and make sure that the 'XBars' command is selected. Then, use the mouse to click on the location of the AC (in the example below, the AC is located near 46 64 37). Once the image cross-bars are positioned at the AC, input the X Y and Z coordinates listed in the 'slice viewer' panel into the origin fields of the 'header information' panel. You should then save the header (press the floppy disk icon located in the header information panel).
Left: The location of the anterior commissure (AC) on the Montreal Neurological Institute's representative brain. The location of the crossbars (which are now at the AC) is given at the top of the slice viewer panel (lower left) . These values should be placed in the 'Origin' fields (upper left) of the header information panel in order to tell SPM the location of the AC. - Making the lesion definition image. Open the source image with MRIcro and create a region of interest (see the earlier section on creating ROIs) that includes the region of the lesion only. Using MRIcro's 'Save ROI as Analyze image...' command (from the 'ROI' menu) to convert the lesion into a format that SPM can read. As a convention, I usually add the 'L' prefix to these lesion definition files, so the lesion for image '123.img' should be 'L123.img'. Advanced note: If you draw the lesion in one plane only (e.g. drawing on transverse slices only) your ROI will usually have discontinuous stepping artifacts in the the dimension orthogonal to the plane you are drawing in (e.g. when drawing the ROI on transverse scans, you are marking images in the X and Y dimensions, and the Z dimension may having stepping artifacts). These irregularities will look unusual when SPM normalizes the lesion into stereotaxic space. One solution is to use MRIcro to save smooth the lesion before normalization. To do this, choose the 'Export ROI as smoothed Analyze image' function [instead of the unsmoothed function] and select a narrow smoothing band [4mm] will a 50% cutoff [Threshold=0.5], and make sure that the dropdown box selects 'ROI is 1 [reslice ROI]. Press save, and give the file a suitable filename for a lesion definition (e.g. my convention is to add the 'L' prefix to the file name). Saving the lesion definition with these smoothing values will create an image file that is no larger than the original lesion but does not have any specific stepping artifacts.
- Make the mask image -if the MRI scan includes any regions of unusual appearance besides the lesion (e.g. any clip artifacts), add these to your MRIcro ROI. Essentially, you want to mask out any unusual regions of the brain that do not have an equivalent on the template image and therefore can throw off SPM's normalization routines. Then save this as an image mask by choosing the 'Export ROI as smoothed Analyze image' function. This will save the region of interest as an Analyze format image. You will use this as the mask in SPM. As a convention, I usually add the 'm' prefix to these mask files, so the mask for image '123.img' should be 'm123.img'. Advanced note: This window has a number of options for controlling the amount of smoothing, the full width half maximum (FWHM) describes the width of the smoothing function, which should be the same as you are using in SPM (often 8mm). The threshold sets the mask's sensitivity to the presence of an ROI: 0.001 is standard. In addition, you can set how the filter deals with the edge of an image -you will probably want to keep the setting at 'Adjust sides in Z-plane only [SPM]', which precisely mimics SPM's behavior (and will show the same edge boundary artifacts as SPM). Finally, make sure that the final drop down box is set for 'ROI is 0 [SPM object mask].
Stage 2: Using SPM99 on a UNIX machine or with Windows NT:
- Launch SPM99. This will vary depending on your system, usually you start Matlab and then type 'SPM' in the Matlab command window.
- Press the 'PET/SPECT' button (or the 'fMRI' button, it does not matter for image normalization).
- Check the settings by pressing the 'Defaults' button and choosing "defaults/spatial normalization/parameter estimation"to make sure that the "masked object brain"setting is set to "true".
- Use the 'Display' button to check that the image horizontal plane is roughly that of the AC-PC line (see the figure above, you may need to adjust the 'pitch' setting). If you change the image orientation, make sure to save the settings by pressing 'reorient images'.
- You are now ready to normalize the images.Press the 'Normalize' button and choose the 'Determine parameters and write normalized"function.
- You will be asked to locate four sets of images:
- The image you wish to get the parameters from (the patient's scan, e.g. 123.hdr)
- The mask file (e.g. the mask you made from the patients ROI file, e.g. m123.hdr).
- The images you wish to write these parameters to -the patient's scan (e.g. 123.hdr) -the lesion definition file (e.g. L123.hdr)
- The template image (e.g. look in SPM's template folder and choose T1.img)
- SPM will now normalize your brain. The output files will be named with the prefix 'n' (e.g. if your patient's brain is 123.hdr', the output will be 'n123.hdr', and if the lesion definition is 'L123.hdr', the output will be 'nL123.hdr').
Stage 3: using MRIcro on a Windows PC:
- Save the lesion in MRIcro's compressed ROI format. Open the lesion defintion scan (e.g. 'nL123.hdr') select 'Export Analyze image as ROI...' ('ROI' menu). You will be asked to set a threshold for accepting a region as a lesion: you should set this value to 50 (50% of the maximum image intensity). Give this the same name as the patients normalized image (the ROI for image 'n123.hdr' should be 'n123.roi'.
- Open the normalized patient image with 'Open Analyze format .hdr + .img' ('File' menu). This should load both the normalized image and (if you have successfully completed the previous step) the normalized ROI. Notice that the volume of the lesion is displayed in the region of interest panel. Make sure to save your ROI. You can now view the lesion from any view and get a good idea of the size/position of the lesion (all in standardized stereotactic space).
Normalize patient MRI scans with MRIcro and SPMwin
SPM for windows (SPMwin) is a freely available standalone implementation of SPM96. Unlike other versions of SPM, SPMwin does not require Matlab. Therefore the software is completely free and many users find the user interface friendlier than Matlab versions of SPM. However, the current release of SPMwin does not implement SPM99's ability to create object masks for normalization of patient scans (see the previous section for details). However, for the majority of patient scans, SPMwin can do a reasonable job of coregistration, with the caveat that the normalization should only include linear transformations. The nonlinear transformations will often distort patient scans in an attempt to eliminate the region of the lesion. See the section on linear and nonlinear transformationsfor more details on the advantages and disadvantages of applying nonlinear transformations to patient scans.
You will require SPMwin and MRIcro version 1.19 or later (to get the latest version of MRIcro, go to the MRIcro home page)
Stage 1: using MRIcro on a Windows PC:
- Open your scan and check the image orientation and the amount of neck presented in the image. The previous section explains this step in detail .
- Make sure that the 'origin' fields correctly designate the location of the Anterior Commissure. The previous section explains this step in detail .
Stage 2: Using SPMwin on a Windows PC:
- Run SPMwin. From the 'File' menu choose the 'new/normalization' command. Once you have told the computer how many scans you wish to normalize, you will see a window named 'spatial normalization' with the icon of a small book. Double click on the icon, you will see four small icons labelled 'template','image to estimate parameters' and 'image to normalize'.
- Double click on the template icon. Make sure that the listed template is the correct one for your patient's scan (e.g. if you are normalizing a T1 scan, make sure that the template is 'T1.hdr'). If it is incorrect, click on the filename and press delete, then drag and drop the correct template header to SPMwin's template icon.
- Drag and drop the patient scan's header file to both the 'image to estimate parameters' and 'image to normalize' icons.
- You may want to check the settings by choosing the 'settings' command from the 'calculate' menu. If so, make sure that 'sync' interpolation is selected in the 'general' tab. Makesure that the 'Number of nonlinear iterations' and 'Number of basis functions' are both set to zero (parameter estimation tab). Also check the reslicing dimensions in the 'reslicing' tab.
- Choose 'start' from the calculate menu. When the normalization is complete a new image file will be created, which will have the prefix 'n' (e.g. if your patient's scan had the name '12345.img', the normalized scan will be named 'n12345.img').
Stage 3: using MRIcro on a Windows PC:
- Open the normalized scan (e.g. n12345.vhd and n12345.img). Press the floppy disk icon in the header informtion window to create an Analyze format header (n12345.hdr).
- Create region of interest that marks the region of the lesion (as described in the 'Create ROI' section). This region of interest should only include the regions of the lesion. Notice that the volume of the lesion is displayed in the region of interest panel. Make sure to save your ROI. You can now view the lesion from any view and get a good idea of the size/position of the lesion (all in standardized stereotactic space).
Creating multislice views
MRIcro allows you to quickly create 'multislice' images that show a number of preselected cuts from an scan. This can be useful for presenting similar slices from a number of patients. This section describes how to generate a multislice view.
- Open the image you wish to view by choosing "Open analyze format hdr+img". If you want to superimpose a region of interest [ROI, e.g. an outline of a lesion] there are two options. First, if the ROI has the same name as your image (e.g. the image is named "mr1.img" and the ROI is "mr1.roi", the ROI will have been opened automatically when you loaded the image. If the ROI has a different name, or if you want to superimpose multiple ROIs, select "Open ROIs..." from the 'ROI' menu. A dialog box will appear and you can control+click on each ROI you wish to open [e.g. for the tutorial, you can open "a.roi","b.roi" and "c.roi" simultaneously].
- Open the Etc menu's 'Option' window and select the slices that you want to view (these values are shown outlined by yellow in the figure below). You can display up to twelve slices, but if you wish to show fewer slices enter a zero into the unused fields. For this stage you must enter the slice number rather than the Talairach position (e.g. in the image that comes with this tutorial, Z of 0mm is on the 37th slice, so to show Z=0mm enter the number 37). An easy way to find the corresponding slice number is to show the projection view of an image. You can then adjust the slice number (using the boxes in the slice viewer panel) and see the corresponding Talairach coordinate (if the slice viewer's 'info' button is selected).
- I typically display axial slices 48, 56, 64, 72, 80, 88, 96, 104, 112, 122, and 132 (for normalized images with 1mm slices, like the image that is downloaded with this tutorial). These slices correspond to Talairach slices -24, -16, -8, 0, 8, 16, 24, 32, 40, 50, 60mm, which are common transverse slices.
- The options window has a number of additional settings that control the multislice view. Once you have selected your desired settings, press the 'OK' button. (MRIcro will remember your preferred settings, so you usually only have to set these up once). There are a number of options that you can choose:
- Select whether you want to view Transverse or Coronal slices. I usually show tranverse views, but for some images (e.g. showing hippocampal lesions), the coronal view may be more appropriate.
- Select whether you want to see a sagittal view.
- Select from the various options for the sagittal view.
- To generate a multislice view, click the multislice view in the Slice Viewer panel. You should see a multislice image similar to the one displayed below.
Creating multiple slices that only show one hemisphere
Recent versions of MRIcro have made this a bit easier and more powerful. This tutorial describes features in MRIcro 1.35and later.
- Select 'Open Analyze Format hdr+img...' from the 'File' menu. You will be asked to select the MRI you wish to view.
- Open the Etc menu's 'Option' window and make sure that multislice options are set for 'Show right hemisphere' (this box is outlined in green in the diagram of the Options window shown in the previous section) , or 'Show left hemisphere' if you wish to show the left hemisphere. You can also set the other multislice options by setting the approriate check boxes and values.
- Set how whether you want to see coronal or transverse slices, and set how much overlap you want: you can values between 1/2 (the entire left side will be hidden) to 1/5 (only a small chunk of the left side will be hidden. These controls are outlined in red in the diagram of the Options window shown in the previous section)
- Press the 'Set Mask' button to interactively adjust the border threshold (also outlined in red in the diagram of the Options window shown in the previous section). A dialog box appears that allows you to set the boundary threshold for your image. As you adjust the threshold image, portions of your image that are above the threshold will appear as the region of interest colour (red in the left images on the figure below) . Adjust the threshold so that the skull defines a boundary for the brain (top panel in the image below) .If the threshold is set too high (middle panel below) or too low (bottom panel below) , the resulting multislice will show mask artifacts (the right side of each panel shows the corresponding multislice for each mask setting).
- When you are happy with your settings, close the threshold window and close the Options window.
- Press the multislice button in the slice viewer panel (it has an icon with multiple brain images).
- If you are happy with the result, you can use the 'Save as picture' command to save the image in a standard graphic format of your choice.
- WARNING : If you have set the 'translucent ROIs' checkbox in the Option window, you should ensure that all regions of interest exist only in the hemisphere that is to be displayed. Translucent regions of interest (and for advanced users, functional imaging hotspots) are added after MRIcro has overlaid the scans, and ROIs in the hidden hemifield can appear on the visible hemisphere of the incorrect slice.
Working with multiple ROIs
It is often useful to display overlapping regions of interest (ROIs) from different individuals. For example, after you have normalized the brain scans from several neurological patients, it can be useful to explore the regions of mutual involvement. There are a couple of important issues to bear in mind when combining multiple ROIs. First of all, all of the ROIs need to be from spatially coregistered images - i.e. the ROIs must have the same voxel size and image dimensions. Consider if we want to examine the ROIs from patients A and B. These two patients are shown in the picture below as 'A' and 'B'. The first thing we might want to generate is a density plot, that would should us which regions are mutually involved.This is represented as A+B in the figure below. To do this, you can conduct the following steps:
- open a template image that has the same spatial dimensions as the patient's images.
- Open the ROIs using the 'Open ROI[s]...' option from the ROI menu. Select multiple ROIs by control+clicking on the different filenames.
- MRIcro now shows the overlayed lesions, as illustrated by A+B below.
However, it can also be useful to apply boolean (logical) operators to the ROIs. MRIcro includes three logical ROI operators - intersection, union and subtraction. Each of these commands is found in the "ROI comparisons" submenu of the "ROI" menu. For example, we could find the region that is involved in two groups of patients. In this case we could compute theINTERSECTION of the two data sets (a logical "AND"): Only voxels which are present in ALL the ROIs will be present in the output ROI. Another reasonable comparison would be to examine the UNION of two data sets (a logical "OR"): voxels present in ANY of the ROIs will be included in the output ROI (AUB in the figure above). A final useful comparison is MASK, where MRIcro identifies the region that is unique to A (AmB in the figure above). Note that in the sample above only two ROIs were compared. In practice, you can apply the comparisons to many ROIs simultaneously (control+click on the file names to select multiple ROIs).
The logic and power of subtraction analysis is described in Karnath et al. For a reprint of this article, please contactChris Rorden. For references, please cite:
|
Lesion density plots (A+B in the figure above) have become a common tool method for attempting to infer the functional role of an anatomical region. However, you should be careful with the inferences you draw from density plots. One problem is that the size and extent of naturally occurring lesions is typically determined by vasculature (for strokes), and susceptibility to sheer and impact (for traumatic brain injury) rather than function. Therefore, simply overlapping lesions from patients who show a specific deficit will often highlight regions involved with the function as well as regions that are simply more susceptible to damage. One potential solution is to directly compare patients with a specific deficit to control patients with a SUBTRACTION analysis. Regions that are susceptible to damage will be occur with similar frequency in both groups, and be effectively cancelled out. On the other hand, regions that are required for the target function will tend to be damaged in the target patients but not in the control patients. In any case, note that naturally occurring lesions vary greatly in the location and extent of the damage, adding a huge amount of variability into an analysis. This large variance substantially reduces the power of anatomical studies. One solution is to conduct analysis on a large number of patients. A second solution is to restrict analysis to patients with focal lesions.
The "ROI comparisons" submenu also allows you to compare SUBTRACTIONs between two different groups of patients. This allows you to identify if certain regions are more common for one pathology than another. To implement this command, you should first open your template image. Then choose the "Subtract ROIs" command. You will then be asked to select the positive ROIs. Next you will be asked to select the negative ROIs. The figure below illustrates two groups of patients (A and B). The right panels show the subtraction between these two groups (A-B, A-B%). You can either subtract the absolute numbers or relative percentages (the default setting). Select 'ROI density colorbar' from the ROI menu to see a legend. The percentage subtraction shows 11 levels of ROI: each bar represents 20% increments - so the lightest blue represents 81..100% B. The middle purple percentage bar designates regions where there is an identical percent of A and B (0%). Comparisons are most meaningful when both groups are the same size.
Yoking images to check registration
SPM99 includes a feature named 'check reg' that allows you to view the same Talairach coordinates for two Analyze format images. This function is useful for testing the normalization of scans to a template. MRIcro's yoking feature is conceptually identical, but allows you to check the coregistration of two or more images simultaneously. Viewing more than two images allows one to check the normalization of several images to a template, or to compare to different normalization techniques with each other.
To view yoked images, launch one copy of MRIcro for each image you wish to view. Load the images and make sure that the 'Yoke' checkbox is selected. Once this is done, the images will all show corresponding slices -irregardless if the images are sliced to different dimensions (e.g. one image shows 1mm slices, whil the other shows 2mm slices) or whether the images are cropped differently (e.g. one image showing more of the skull). To move to a different position, click on the desired location in any of the images -the other images will be updated to match your selection. It is generally useful to shrink the toolpanel and optimize the formsize (in the 'Viewer' menu) when viewing multiple images, allowing you to maximize the available screen space.
In the example below, three images are yoked simultaneously -showing (from left to right) a template image and the scans from two neurological patients. The two left most scans are from the same patient -notice that the nonlinear functions of the normalization have compressed the lesion in the rightmost scan (as described in the normalization section). Clicking on any position in any of the three scans will show the corresponding location in all three scans. Note that in this example the images are cropped differently -with the normalized images showing less of the skull than the template. Despite this, the yoking finds the corresponding location in all three images.
Displaying a rendered image of the brain's surface.
I now have a web page devoted to volume rendering with MRIcro.
Batch processing scanner images.
Most MRI systems export scans as in either DICOM or a proprietary format. Unfortunately, SPM and many scientific packages require Analyze format files. MRIcro can convert many common medical image formats to the Analyze format file. For a list of the formats supported by MRIcro and other free converters see MRIcro's home page.
This section describes how to stack a series of two dimensional images to create three dimensional volumes. Most fMRI studies will generate a vast number of scans, and MRIcro is designed to ease the conversion of these scans for processing with SPM or other brain imaging packages.
The batch processing panel is the most complicated feature of MRIcro for the user. Unfortunately, different scanners use very different methods for saving images. MRIcro has been designed to work in many different situations, and this flexibility has meant that the interface is rather complex. However, images from a single scanner are virtually always in the same general format, so once you have tuned MRIcro's conversion the first time, subsequent conversions should be simple.
As an example, consider a series of DICOM format file's named a11.dcm...a31.dcm that contain slices from two brain volumes. Each volume is composed of three slices. Furthermore, only every fourth is relevant (e.g. the other scans were not T1 images), so the relevant slices are image a11, a15, a19, a23, a27 and a31. In addition, the orientation of these scans does not correspond with the standard SPM axial slices.
The left column in the figure above shows the six DICOM images in this example. We will process the images in two steps. First, we will convert all of the slices to a single multivolume Analyze format image (that SPM can not use). Next, we will rotate the images to the correct orientation and convert each volume to a separate Analyze format file (that SPM can read).
Here is the sequence of steps to batch process these images:
- Launch MRIcro and select 'Convert DICOM/Genesis/Interfile/Siemens/Picker to Analyze' from the 'Import' menu.
- A new window appears (as shown above). For our example we will want to adjust the values to match our data set:
- Number of files: Total number of slices to be converted (in our case, 6 slices).
- Increment: what is the numerical spacing between successive images (in our case, this should be 4, as every fourth scan is the T1).
- Volumes: How many brain volumes are we converting (in our example there are two brain volumes).
- First file is dorsal: Select this to reverse the slice order (e.g. the slice order is dorsal to ventral). In our example, slice order is ventral to dorsal (the first slice [a11] is ventral), so we will leave this button unchecked.
- Interleaved slices: Check this if the slices from the different volumes are interleaved, rather than sequential. In our example, the volumes are sequentially stored (the first slices [a11, a15, a19] belong to the first volume followed by the slices for the next volume [a23, a27, a31]). If the slices for the first volume were a11, a19, a27 and slices from the second volume were a15, a23, a31 we would want to select this checkbox.
- Use extension as index: select this if the image index number is in the extension, e.g. a.11,a.15,...a.31. On our files, the extension (.dcm) is not the index, so we leave this option unchecked.
- Sort Using DICOM index, not filename: Some scanners name slices based somewhat randomly (e.g. saving the files as file1.dcm, file6.dcm,file2.dcm,file5.dcm,file3.dcm,file4.dcm). These scanners often save the true sequence in the DICOM header (group/element 0020h/0013h). This option will reorder the slices based on information in the DICOM header. Our files are indexed correctly by the filename, so we can leave this unchecked.
- Open sequential files: ignore filename: Unfortunately, some scanners save images with a very complicated file naming system that MRIcro will not be aware of (e.g. fileA-1,fileB-2,fileC-3,etc). In this case, I suggest that you write a simple program to rename the files to a numerical sequence that MRIcro can interpret (e.g. file1,file2,file3). However, as a last resort you can have MRIcro ignore the filename altogether and open sequential files in a folder. Important: Before using this option, place the image files you want to convert into a folder that has no other files of any type in it. This option may or may not work- your images may end up in a scrambled order. It works best best when used in conjunction with the "Sort Using DICOM Index" option. In our example, we will [thankfully] leave this option unchecked.
- Press the 'Design' button to check that you have correctly described the slice order. A window appears that shows the slice order, indexed from one. In our example, the design window will list: Volume 1: 1, 5, 9 Volume 2: 13, 17, 21 This accurately describes our data with the first volume storing the 1st, 5th and 9th slices (a11, a15, a19) and the second volume storing the 13th, 17th and 21st slices (a23, a27, a31).
- Once you have described the slices, choose 'Select' and find the first DICOM (or NEMA, Genesis) file in the series (i.e. the slice with the lowest numerical value, in our example this is a11.dcm). The file names must end with the numberical index (a11.dcm is valid, 11a.dcm is not). Optionally, the file index may be padded by zeros (e.g. file008.dcm, file009.dcm, file010.dcm is valid, as is file8.dcm, file9.dcm, file10.dcm).
- Give a name for the output Analyze format image (e.g. lets call it 'out.img').
- MRIcro should now process all of the slices and create a multivolume Analyze format image. If successful, you can close the DICOM conversion window.
- You will now be able to open the image by selecting 'Open analyze img+hdr...' from the 'File' menu. You can only view volumes one at a time, so MRIcro will ask you to name the volume you want to view.
- You should now check the header information panel and make sure all of the information is correct.
- You may want to adjust the image intensity value shown in the header information panel. SPM will use this scale for determining the signal level. This is especially crucial for SPM99b (the final release of SPM99 should do this automatically). See the SPM99 normalization section of this tutorial for details on how to automatically adjust the image intensity.
- Check to make sure that the slice thickness (Z size [mm]) is correct.
- To extract the individual brain volumes, select 'Save as...' from the 'File' menu. A new window appears. You may want to adjust the orientation by selecting the 'format' and checking the results with the preview. In my example, the images need to be rotated 180 degrees in the Z plane, so the format needs to be set to 'axial down'. Click the 'Save Intel' button to extract and rotate all of the volumes. You will be asked to give the output a name, for example if you name the output 'xout.img', the files will be called 'xout1.img', 'xout2.img'...etc.
- You can now delete the multivolume image if you wish (in our example, out.img).
In our example, each DICOM file contained one image. Furthermore, the two volumes were stored sequentially rather than being stored with 'interleaved slices' (that is, all the slices for the first volume had lower numbers than the scans for the second volume). Note that the design window allows you to adjust these features.
Interleaving:
In the figure on the left, slice interleaving is shown on the right panel. In our example, the volumes were saved sequentially (e.g. all of the first volume's slices had lower indexes [a11, a15,a19] than the second volume [a23, a27, a31]). However, some scanners save volumes in an 'interleaved' format. Selecting the 'slice interleaving' option will tell MRIcro that the slices are interleaved (e.g. the first volume is a11, a19, a27, and the second volume is a15, a23, a31). |
Mosaics:
The NEMA format only specifies image size in two dimensions, so 3D volumes are stored as 'mosaics', which show various cuts on the same plane. The figure aboveshows a 2x3 NEMA mosaic. One way to test whether your images are a mosaic is to select 'Open foreign' from the 'Import' menu. If you see multiple slices simultaneously, you are dealing with a mosaic. MRIcro should automatically detect and convert Siemens images if you click the 'Autodetect Mosaics' checkbox (though see Interleave note below). Otherwise, you will have to manually set the mosaic height and width when converting the images to Analyze format. Note that the more recent DICOM format does describe images in three dimensions, so quick opening these files will show only one slice per plane (and for conversion purposes, you should set the mosaic height/width both to 1). |
Interleaved Mosaics:
Most mosaic files store slices in the same order we read English: starting from the top left and reading from left to right. However, some Siemens scanners create mosaics where the slice order is interleaved within the mosaic. If you select 'mosaic slice interleave', MRIcro will try to correctly read the order of Siemens mosaics. Note that the 'Autodetect Mosaics' checkbox will NOT detect slice interleaving for Siemens Vision mosaics, as some fMRI labs have created and distributed acquisition protocols that incorrectly set up the image header. Therefore, Vision users must always manually determine if the mosaic images are interleaved. |
MRIcro tutorial -- mricro 教程的更多相关文章
- HP LoadRunner 12.02 Tutorial T7177-88037教程独家中文版
HP LoadRunner 12.02 Tutorial T7177-88037教程独家中文版 Tylan独家呕血翻译 转载请注明出自“天外归云”的博客园 Welcome to the LoadRun ...
- Comprehensive Tutorial 综合教程(MainDemo应用程序)
Follow this tutorial to create a simple application used to store contacts and other related objects ...
- [Python 3.x 官方文档翻译]The Python Tutorial Python教程
Python is an easy to learn, powerful programming language. It has efficient high-level data structur ...
- 转:libFuzzer Tutorial(libFuzzer教程)
转:https://github.com/google/fuzzer-test-suite/blob/master/tutorial/libFuzzerTutorial.md 本文在Ubuntu16下 ...
- 一站式SpringBoot for NoSQL Study Tutorial 开发教程学习手册
SpringBoot2.0 + NoSQL使用教程,项目名称:“SpringBoot2NoSQL” 项目地址: https://gitee.com/475660/SpringBoot2NoSQL 项目 ...
- [译]处理文本数据(scikit-learn 教程3)
原文网址:http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html 翻译:Tacey Won ...
- 帮助你提高排版技巧的18个 PS 文字特效教程
Photoshop 文字特效教程对于学习基础的和高级的排版思维有很大的帮助.在这篇文章中,你会发现一组最新发布的文字效果教程.这些高品质的 Photoshop 教程可以帮助你设计出惊人的2D,3D,木 ...
- PhoneCat App 教程
https://docs.angularjs.org/tutorial AngularJS教程第一篇文章的翻译,因为我在看中文版的AngularJS的翻译的时候,发现第一篇文章翻译的不准确,很有可能是 ...
- html5 教程网站
html5 MDN Canvas tutorial Canvas教程 canvas: 阮一峰 在那山的那边海的那边有一群程序猿 使用 HTML5 canvas 绘制精美的图形 HTML5定稿了,为什么 ...
随机推荐
- bzoj1941 hdu5992
看了青岛赛区的题简单学了一下kd,感觉这东西还是挺厉害的 一般kd树找最近点对最坏是O(n),但是随机情况下跑得还是很快的 kd树是一棵BST,但是每一层的关键字不同 一般写法是按照每一维轮流来,这一 ...
- spring boot 扩展之AutoConfigurationImportListener
最近阅读spring boot源码时发现,发现当spring使用ConfigurationClassParser加载使用@Configuration注解类后,会使用AutoConfigurationI ...
- Codeforces Round #285 (Div. 1) B - Misha and Permutations Summation 康拓展开+平衡树
思路:很裸的康拓展开.. 我的平衡树居然跑的比树状数组+二分还慢.. #include<bits/stdc++.h> #define LL long long #define fi fir ...
- Redis实战(二)
Redis服务 在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图
- MVC Partial页面的使用
先建立Action: public PartialViewResult CurrentCount() { ViewBag.Count = CurrentUserCount; return Partia ...
- vscode 解决vue emmet不起作用
现在 vscode 自带的提示已经很好用了,大部分时间自带的提示展示的 emmet 内容已经是所需的了 在首选项 设置中配置 v1.15.1 之后需要这样设置: "emmet.trigger ...
- JDOM读取xml
[摘 要]JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析.生成.序列化以及多种操作. 一.JDOM 简介 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术 ...
- 洛谷P2801 教主的魔法 [分块,二分答案]
题目传送门 教主的魔法 题目描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.…….N. ...
- 1. MNIST读取数据
%pylab inline Populating the interactive namespace from numpy and matplotlib 在Yann LeCun教授的网站中(http: ...
- 【小思考】Python里面有声明和定义分离这一说么?
第一部分: 探究这个问题,还是因为编程的时候碰到了这个错误: 提示tcplink没有定义,tcplink是我自己写的一个给监听到的tcp连接请求分配新线程的函数,不过是写在了下面,就像这样: 如果是C ...