Caret:Operations/SurfaceBasedRegistration

From Van Essen Lab

Jump to: navigation, search

Contents

Surface-Based Registration

The purpose of surface-based registration is to align a surface with another surface or an atlas. In Caret, landmarks (commonly identified cortical anatomy) are identified and aligned. These landmarks typically include the calcarine sulcus, central sulcus, medial wall, superior temporal gyrus, and the sylvian fissure.

During all surface-based registration operations a Deformation Map File is created. This file defines how data is deformed from the source to the target surface. It allows one to deform a data file without having to go through the registration process again.

PALS Data Sets for Registration and Visualization

  • Registration target atlas. Press the Disk Icon to the left of Human.PALS_B12.LR.REGISTER-with-INDIVIDUAL.73730.spec to download the data set.
  • PALS left hemisphere visualization data set. Press the Disk Icon to the left of Human.PALS_B12.B1-12.DEPTH_ANALYSIS_LEFT.73730.spec to download the data set.
  • PALS right hemisphere visualization data set. Press the Disk Icon to the left of Human.PALS_B12.B1-12.DEPTH_ANALYSIS_RIGHT.73730.spec to download the data set.

Algorithm for All Registration Operations

  • Read the source and target data sets.
  • Verify that the border files contain the exact same number of borders.
  • Resample the source borders to the specified border sampling.
  • Resample the target borders so that they contain the same number of links as the corresponding source borders. If there is not a target border with a name matching an source border, abort the deformation process.
  • If the "structure" ("left" or "right") differs in the source and target spec files, mirror-flip the source landmarks.
  • Create the names of the output deformation map and specification files.
  • Execute the FLAT or SPHERICAL DEFORMATION process which creates the deformed source surface.
  • Create the individual to atlas deformation map file. This involves projecting nodes from the atlas surface into tiles on the deformed individual surface. So each atlas node has a corresponding location in the individual's surface specified by three nodes (the node are those of an individual's triangle) and the associated barycentric areas.
  • If this is a spherical deformation, create the individual to atlas deformation field file (vectors showing deformation).
  • Deform the individual's data files to the atlas.
  • Create the atlas to individual deformation map file.
  • If this is a spherical deformation, create the atlas to individual deformation field file.
  • Deform the atlas' data file to the individual.
  • Remove any intermediate files.

Flat Registration

The flat surface registration algorithm is not very robust and works best on small patches of surfaces that are already aligned in position and orientation. This operation is not available on the Windows version of Caret.

Flat Registration Algorithm

  • It is mathematical magic.
  • The flat algorithm will fail if there more than a small amount of rotation or translation between the individual and the atlas surfaces.

Spherical Registration

Landmark Pinned Relaxation

This is Caret's original spherical registration algorithm. It works will with intra-species registration.

Landmark Pinned Relaxation Algorithm

  • Set the radius of the source spherical surface to that of the target spherical surface.
  • BEGIN CYCLES
  • Resample the border files. If the source and target hemispheres are different, the source borders have their X-coordinates sign flipped. Write the files as source_after_resample_<CYCLE_NUMBER>.border and target_after_resample<CYCLE_NUMBER>.border.
  • Set the radius of the source and target border files to the radius of the target sphere.
  • Load the deformation (regularly tessellated sphere) surface and set its radius to that of the target spherical surface.
  • Tessellate the target borders into the deformation spherical and label the new nodes as Landmark Nodes. Save paint, coord, and topo as "_withLandmarks" filenames. Make this target sphere the unsmoothed target deformation sphere.
  • Perform landmark-constrained smoothing on the target deformation spherical surface. In this process, landmark nodes are fixed in position and only non-landmark nodes are smoothed). Save the coordinate file as "_withLandmarks_smoothed".
  • Replace the coordinates of the target Landmark Nodes with the coordinates from the source's borders. Save the coordinate file as "_withLandmarks_initial". This is the unsmoothed source deformation sphere.
  • Perform landmark neighbor constrained smoothing of the deformation sphere. Save the coordinate file as "_withLandmarks_smoothed". This is the smoothed source deformation sphere.
  • Perform landmark neighbor constrained morphing of the deformation sphere. In this process, landmark nodes are fixed in position and only non-landmark nodes are morphed. Save the coordinate file as "_withLandmarks_morphed". This is the morphed source deformation sphere.
  • Check for crossovers in deformation sphere. If GUI operation and it is the last cycle and there are crossovers, alert user.
  • Create the deformed source surface (coordinate file, it is deformed to the atlas). Project the source coordinates to the morphed source deformation sphere (If it is the first cycle and the source and target are different hemispheres, flip the X-coordinate before projecting to the morphed source deformation sphere). Unproject using the unsmoothed target deformation sphere to created the deformed source surface. Save the coordinate file as "_sphere_cycle_".
  • If there are more cycles to run, project the source borders to the source surface and unproject them to the deformed source surface.
  • Replace the source surface with the deformed source surface created as part of the current cycle.
  • GO TO BEGIN CYCLES.

Landmark Vector Difference

This algorithm was developed a a result of problems encountered with the Landmark Pinned Relaxation algorithm during inter-species registration.

The deformation spheres used in this Landmark Vector Difference algorithm have been smoothed extensively (and reprojected to the sphere) to avoid some minor biases/drifts in the vicinity of the 12 nodes that have 5 instead of 6 neighbors.

Landmark Vector Difference Algorithm

  • Verify that each stage/cycle has at least one iteration of vector smoothing.
  • Make a copy of the source surface (the working surface) for use during the multiple stages.
  • START STAGES
  • If not the first stage, reread the target spec file and use the appropriate border file for the current stage.
  • Make source surface the same radius as the target surface.
  • Resample the border files so that the source and target borders have a one-to-one matching of named borders and each border that matches by name has the same number of links. If the source and target are different hemispheres and it is the first stage, flip the source borders about the X-Axis. Write as "source_after_resample_stage_#.border" and "target_after_resample_stage_#.border".
  • Create the target deformation brain set.
  • Load the regularly tessellated sphere and tessellate in the target borders creating the target deformation surface. Create the spec file target_withLandmarks_stage#.LVD.spec. Also write area color, coordinate, paint, and topology files.
  • Load the regularly tessellated sphere and tessellate in the source borders creating the source deformation sphere and add them to the active brain set. Write source_withLandmarks_Stage_#.LVD.spec. Also write the area color, coordinate, paint, and topology files.
  • Display the sphere in the main window.
  • Read the target deformation sphere into the current brain set (that already contains the source deformation sphere).
  • Create a copy of the source deformation sphere and keep track of it as the original source deformation sphere.
  • Identify the landmark nodes in the deformation spheres (those with node numbers greater than the number of nodes in the regularly tessellated sphere).
  • Create the source reference surface named "source_withLandmarks_stage_#".LVD.REF.coord". This is the regularly tessellated sphere with the landmarks tessellated in.
  • START CYCLES
  • Get the landmark vector parameters (vector iterations and displacement factor) for this cycle.
  • Create the surface shape difference file. This first three columns contain the X/Y/Z-coordinate displacement between the source and target deformation spheres. These displacement values are multiplied by the variance associated witht the border from which the landmark originated. Endpoints of vectors have their variance scaled by the "endpoint factor" parameter. The displacements are only for the landmark nodes. The resularly tessellated sphere nodes receive a displacement of zero. The fourth through sixth columns in this surface shape file contain the displacments with smoothing applied for vector smoothing iterations. This smoothing is metric average neighbor smoothing with a strength of 0.5. Write this surface shape file as source_withLandmarks.LVD.stage_#_cycle_#.surface_shape.
  • Apply the smoothed displacements from the shape file to the source deformation sphere. Write this as source_withLandmarksDisplaced.LVD.stage_#_cycle_#.coord.
  • Move the Landmarks to the average of their neighbors and then move all nodes back to the sphere. Write this as source_withLandmarksDisplacedBackToSphere.LVD.stage_#_cycle_#.coord.
  • Perform landmark constrained smoothing on the source deformation sphere. Write this coordinate file as "source_withLandmarksSmoothed.LVD.stage_#_cycle_#.coord.
  • Perform landmark constrained morphing on the source deformation sphere. At the end of each morphing cycle, smooth the nodes for "Smooth Iterations" and then move the landmarks to the average of their neighbors and push all nodes out to the sphere. Write this coordinate file as source_withLandmarksMorphed.LVD.stage_#_cycle_#.coord.
  • Set the source surface to the current deformation sphere for use in the next cycle.
  • Create the deformed coordinate file. If this is the first stage, the user's source surface is projected to the undeformed source deformation sphere (If it is the first stage and the first cycle and the source and target are different hemispheres, flip the X-coordinate before projecting to the morphed source deformation sphere) and unprojected to the current deformed source deformation sphere. In second and later stages, the deformed surface produced by the previous stage is used in place of the user's source surface. The final deformed surface has the deformation prefix prepended to the source spherical surface name. All other deformed source surfaces have "stage_#_cycle_# in their names.
  • Write the deformed landmarks as a border file named source_after_resample_stage_#_cycle_#.border.
  • If this is not the last cycle, go to START CYCLES.
  • Set the source border file to the deformed source borders (source_after_resample_stage_#_cycle_#.border).
  • If this is not the last stage, go to START STAGES.
  • If there were crossovers in any cycle, list them in a dialog that allows the user to continue or cancel the deformation process.

Surface Deformation Dialog

The Surface Deformation Dialog is made up of multiple pages that are selected using the tabs at the top of the dialog.

Individual Page

Select the individual's (source's) Spec File using the Spec File button which will read the SpecFile and fill in most, if not all, of the data file selections. If there is more than one version of a data file type, such as the Border File, use the file type's button to choose the desired file. The Cut Topology and Flat Coord files are optional.

Atlas Page

Select the atlas' (target's) Spec File using the Spec File button which will read the SpecFile and fill in most, if not all, of the data file selections. If there is more than one version of a data file type, such as the Border File, use the file type's button to choose the desired file. The Cut Topology and Flat Coord files are optional.

If the Landmark Vector Difference algorithm is selected, controls for selecting a different target border file for each stage of registration will be enabled. If there is only one border file, it should be used for all stages.

Spherical Parameters Page

This page sets the parameters for the spherical deformation. Two spherical deformation algorithms are available. In most cases, choose the Landmark Pinned Relaxation algorithm.

Deformation Page

The deformation page allows one override some of the deformation parameters. In most cases, one does not alter these values.

Border Problems (Source and target border files have a different number of borders)

Prior to running registration, or if the dreaded non-matching border error occurs, examine the borders. On both the Individual and the Atlas pages, verify that the correct border files are selected. Use the Edit button to see a list of borders and verify that there are not duplicate or missing borders.

Applying a Deformation Map File to Deform a Data File

After surface-based registration has been performed, one may desire to deform additional data files. To deform some types of data files, the source and target surface are needed. The path to the source and target directories are stored in the deformation map file. If the files are moved or transferred, applying the deformation map file may fail.

Applying a Deformation Map File on the Command Line

If the source and/or target files have been moved, caret_command -deformation-map-path can be used to update the locations of the source and target directories.

To deform a data file, run caret_command -deformation-map-apply".

Applying a Deformation Map File Using the Caret GUI

Run Surface->Deformation->Apply Deformation Map. If the source or target paths are updated (by pressing the Individual Directory or Atlas Directory buttons, the paths in the Deformation Map File are updated).

Landmarks

Surface-based registration functions by aligning corresponding landmarks (drawn as borders) on the source and target surfaces.

The Landmark Pinned Relaxation Algorithm functions well with the Core 6 Landmarks.

The orientation, location of first and last points in the landmark borders, is very important.

See Core 6 Landmarks for more information.

Central Sulcus

Must be named LANDMARK.CentralSulcus.

On the inflated surface, the central sulcus landmark starts 19mm above the lip of the Sylvian Fissure and runs in a dorsal direction and ends 18mm from the dorsal-medial tip of the central sulcus.

(Anterior) Superior Temporal Gyrus

Must be named LANDMARK.SF_STSant.

On the inflated surface, the anterior superior temporal gyrus landmark begins at the same Y-coordinate (the Y-Axis runs posterior to anterior) as the ventral tip of the central sulcus. This landmark continues to the temporal pole.

Calcarine Sulcus

Must be named LANDMARK.CalcarineSulcus.

On the inflated surface, this landmark starts at 24mm anterior of the occipital pole and continues until it reaches, but does not cross, the medial wall landmark.

Medial Wall Dorsal Segment

Must be named LANDMARK.MedWall.DORSAL.

Medial Wall Ventral Segment

Must be named LANDMARK.MedWall.VENTRAL.

Sylvian Fissure

Must be named LANDMARK.SylvianFissure.

Images of Landmarks

Image:SurfaceBasedRegistration_CentralSulcusAndSF_STSant.jpg

Image:SurfaceBasedRegistrationMedialWallAndCalcarine.jpg

Image:SurfaceBasedRegistrationSylvianFissure.jpg

Automatic Landmarks

An algorithm that draws the Core 6 landmarks is available in Caret. Results are not perfect, so the resulting borders need inspection and tweaking.

To automatically generate the landmarks

  • Select Layers->Borders->Border Operations.
  • Set the Page Selection to Create Flattening and Registration Landmarks.
  • Deselect Create Flattening Landmarks.
  • Make all of the necessary volume and surface selections.
  • Press the Apply button.

There is a command line version available also: caret_command -surface-border-landmark-identification

The landmarks identified are:

  Calcarine Sulcus
  Central Sulcus
  Medial Wall
  Superior Temporal Gyrus
  Sylvian Fissure

Inputs Anatomical volume or corpus callosum segmentation (e.g., extracted from Freesurfer aseg.mgz); AC-PC aligned midthickness surface coordinate file; inflated coordinate file; very inflated coord file; ellipsoid coord file; closed topo file; paint file; paint file geography column name or number; surface shape file; surface shape file depth column name or number. The input midthickness surface must be in one of the following stereotaxic spaces (see http://brainvis.wustl.edu/help/pals_volume_normalization):

  AFNI
  FLIRT
  MRITOTAL
  SPM95
  SPM96
  SPM99
  SPM2
  711-2B
  711-2B-111
  711-2C
  711-2C-111
  711-2O
  711-2O-111
  711-2Y
  711-2Y-111

If the space is not already 711-2*, then it is scaled to the 711-2* bounding box (i.e., each axis is scaled to match the corresponding 711-2* axis extent).

The anatomical volume is used to generate the corpus callosum. A corpus callosum segmentation may be used directly, if its filename contains the case insensitive words "corpus" and "callosum" (e.g., if extracted from Freesurfer's aseg.mgz).

Volumetric probabilistic atlases for each of the landmarks are mapped to the scaled input fiducial surface. These atlases were generated using the 12 subjects from the PALS-B12 atlas. Voxel intensity represents the number of subjects whose surface-based parcellation for a landmark intersected that voxel.

Central sulcus: Nodes that intersect with the mapped probabilistic atlas representation of the Central Sulcus that have curvature less than -0.1 are selected in an ROI and geometric min/max values found. Then the curvature threshold is tightened to -0.16 or less, and dilated as needed to include most ventral and medial nodes in the Central Sulcus. A border is drawn geodesically between the most medial and ventral nodes in the ROI. The ends are trimmed to within 19mm of the operculum at the ventral end, 18mm of the medial wall at the dorsal end.

Superior Temporal Gyrus: Nodes that intersect with the mapped probabilistic atlas representation of the Superior Temporal Gyrus, and the coordinates of the z-min and z-max node are found. The posterior extent of the ROI is limited to the y-value of the most inferior point of the Central Sulcus landmark. Then a border is drawn geodesically from the most posterior node in the ROI to the ventral most (temporal pole). Border points are adjusted to the rop of the gyral ridge as needed.

Sylvian Fissure: Nodes that intersect with the mapped probabilistic atlas representation of the sylvian fissure (after removing islands) that have depth less than -7 are intersected with nodes whose curvature on the inflated surface is less than -0.05. A border is drawn from the most posterior node in this ROI to the deepest node in the ROI that is anterior to the temporal pole. From there, the border continues inferiorly, to the deepest node within 10mm anterior and 12mm inferior of the previous point. From there, it continues inferiorly along the fundus toward the node closest to -/+16.0, 12.0, -19.0, but is trimmed to 10mm superior of this node. The inferior branch of the circular sulcus is found by identifying the most inferior nodes in the ROI. The intersection between this border and the superior branch is identified, and the superior branch border is trimmed to 12mm posterior of this intersection along the ellipsoid surface.

Calcarine Sulcus: Nodes that intersect with the mapped probabilistic atlas representation of the calcarine sulcus are intersected with nodes whose inflated mean curvature is less than or equal to -0.07. The posterior and anterior limits of this ROI are found, and then the ROI is intersected with nodes whose fiducial mean curvature is less than or equal to -0.16. The border is drawn geodesically along the inflated surface using the more stringent ROI, but the less stringent anterior/posterior limits. The posterior end of the border is trimmed to with 24mm of the occipital pole.

Medial Wall:

Dorsal: Find intersection of frontal and medial wall; move frontal/medial wall intersection a little bit dorsal; find intersection of calcarine and medial wall. If anatomy volume is named like CorpusCallosum, skip corpus callosum generation. Else segment CorpusCallosum. Place foci along top of corpus callosum. Draw border connecting foci; find and fix spikes.

Ventral: Nodes that intersect with the mapped probabilistic atlas representation of the hippocampal fissure are intersected with nodes whose depth is 10mm or more. Mark a point A at the most superior node in this ROI, or the splenium ventral node -- whichever is more superior. Mark a point B 35mm posterior to the most inferior node in the ROI node, and 12mm lateral along parahippocampal gyrus (ensuring positive z-normals to keep from mapping to the wrong side of the gyrus). Mark a point C 8mm anterior to the most inferior ROI node and 12mm lateral along parahippocampal gyrus. Mark point D 30mm posterior to temporal pole along path toward most inferior ROI node. Mark point E just inferior and posterior to the genu. Draw a border from A to B to C to D to E.

A template frontal cut is intersected with the merged medial wall border, and points are deleted near the intersection, until the gap between the dorsal and ventral is 19mm. Points near the calcarine junction are deleted to make a 16mm gap between the calcarine, medial wall dorsal, and medial wall ventral borders.

Personal tools
Sums Database