CIVET is a human brain image-processing pipeline for fully-automated corticometric, morphometric and volumetric analyses of magnetic resonance (MR) images. The pipeline is composed of a set of Perl scripts and high-level C/C++ programs.

CIVET starts by a 9 or 12-parameter linear/affine registration of the MR images (T1-weighted, T2-weighted and Proton Density weighted) from native to stereotaxic space, using the average MNI ICBM152 model (or any other volumetric model that is available) as the target of registration. Once the images have been transformed to stereotaxic space, at 0.5mm or 1.0mm voxel size, the images are corrected for radio-frequency non-uniformities and a brain mask is computed. A non-linear transformation is then computed from the subject in stereotaxic space to the model.

The next step in CIVET is to perform the tissue classification into white matter (WM), gray matter (GM), and cerebrospinal fluid (CSF), either based on the T1-weighted image only, or on multispectral data (T1, T2, PD). The classification is comprised of two steps: a discrete classification based on tag points, followed by the evaluation of the partial volumes for the tissue classes.

The brain is split into the left and right hemispheres for the purpose of surface extraction. The boundary between cortical GM and subcortical WM (referred to as the white matter surface) is first extracted. The pial surface, or the boundary betwen the cortical GM and the extra-cortical CSF (referred to as the GM surface) expands outwards from the WM surface to the CSF. Each default surface (per hemisphere) is composed of 81,920 triangles (polygons) and 40,962 vertices. High resolution surfaces are also available at 327,680 polygons and 163,842 vertices.

The surfaces are registered to the MNI ICBM152 surface template (or any other surface model that is available). Surface registration as such allows for group comparisons by interpolating vertex-based cortical measurements at reference vertices on the template. The cortical thickness is computed by evaluating the distance, in mm, between the original WM and GM surfaces transformed back to the native space of the original MR images, then interpolated onto the surface template. Vertex-based areas and volumes are, on the other hand, computed directly on the resampled surfaces and measure local variations of area/volume contraction and expansion relative to the vertex distribution on the surface template.

Regional maps are produced based on a lobar parcellation of the surfaces (major lobes, AAL, or DKT-40). Other measurements such as mean curvature, gyrification index, and total cortical area are also computed.

A number of figures, tables, and reports are automatically produced to assist in the process of quality control and data analysis.

What’s new in CIVET-2.1.1?

CIVET-2.1.1 is nearly identical to CIVET-2.1.0 with the following exceptions:

  • N3 intensity normalization:
Normalize the T1w input scan prior to N3 corrections such that the N3 corrected image is invariant to scaling of the image. For example, N3(2*T1w) = 2*N3(T1w). This appears trivial, but this was not the case with the algorithm implemented in N3 (working in log space). Note that intensity normalization prior to N3 will change the cortical thickness results for CIVET compared to the previous version 2.1.0.
  • Multi-platform compilation:
The code now compiles on Ubuntu 16 and 18 as well as on CentOS 6 and 7 using all versions of gcc 4.X, 5.X, 6.X, 7.X and 8.X. All tests performed showed reproducibility across these various environments. Binary releases will be made available soon.
  • Source code access:
As part of the open-source initiative, source code for the CIVET pipeline is being ported to the git platform and binaries are provided for various Linux operating systems (Source code and binaries)

What’s new in CIVET-2.1.0?

CIVET-2.1.0 is based on CIVET-2.0.0 in which the marching-cubes algorithm and the white surface t1-gradient calibration were introduced.

  • Marching-cubes algorithm:
Shrinkage-free Taubin smoothing is applied during extraction of the white surface for improved surface quality.
  • White surface t1-gradient calibration:
The search radius to evaluate the maximum gradient position was increased on the latter cycles to allow a more robust detection of the maximum gradient. As this search radius was reduced in latter cycles in CIVET-2.0.0, the maximum gradient position could not be identified reliably and the white surface would mostly float. With this new correction, it can be demonstrated that the position of the white surface in CIVET-2.1.0 is almost invariant to the N3 spline distance.
  • Gray surfaces:
Partial volume estimates for gray matter are incorporated into the Laplacian field for the expansion of the gray surface for a sub-voxel representation of the pial boundary.
  • Tissue classification:
The partial volume tissue contents are stored in the final classification, unlike in CIVET-2.0.0 which stored the propabilistic tissue values. This created too much confusion in CIVET-2.0.0, so the contents of the final classification were restored as in the older CIVET versions.
The new PVE algorithm features iterative correction of the tissue class thresholds by reseeding the tissue classification at the previous iteration to recompute the thresholds at the current iteration, until convergence. The PVE classification thus becomes invariant to the placement of tag points used as priors to train the classifier. Furthermore, a sub-cortical gray tissue class has been added to distinguish deep gray matter from cortical gray. Lastly, the cerebellum and the brainstem are masked during the evaluation of the tissue class thresholds since our focus is on cerebrum tissues.
  • Cortical thickness:
The tlaplace method has been improved to intersect radial lines with the cortical surfaces for a more precise estimation of cortical thickness at the sub-voxel level.
It is now possible to select multiple cortical thickness methods in the same run, for example by specifying tlaplace:tlink:tfs as one identifier.
  • Native space:
CIVET-2.1.0 now preserves the true native space of the head in the scanner. There is no more need to wipe out the direction cosines and recentre the image in its field of view.
  • Study prefix:
It is no longer necessary to specify a study prefix in the filename of the images. For compatibility with older versions, CIVET-2.1.0 will honor the prefix if one is given.
  • Quality control:
New quality control images have been added, namely to display mesh distortion between the white and gray surfaces and to look at the value of the maximum t1-gradient position on the calibrated white surface. Another figure shows the convergence history of the cortical surfaces, with implication that lack of convergence of the gray surface can now be detected.
  • AAL parcellation:
Due to a surface registration problem in CIVET-2.0.0, the resampled AAL atlas on the marching-cubes surface template was wrong, in particular in the medial temporal lobe. The problem has been corrected in CIVET-2.1.0. Previous results based on the AAL ROIs were thus erroneous.

It is recommended to run CIVET-2.1.0 with the following options:

  • N3 distance: d=200 for 1.5T; d=125 for 3.0T (based on new N3)
  • stereotaxic voxel size resolution: 0.50mm
  • advanced PVE options: iterative correction, masking, sub-cortical tissue class
  • cortical thickness method: tlaplace or tfs, never tlink

Full summary of major changes between CIVET 1.1.12, CIVET 2.0.0, and CIVET-2.1.0:

    New in September, 2016 quarantine, version 2.1.0

      - allow native scans in stereotaxic space without linear transformation
      - pve with iterative correction of thresholds, masking of cerebellum
        and brainstem, sub-cortical tissue class
      - sub-cortical tissue class to VBM
      - study prefix is optional
      - compute several thickess methods at once
      - increase search radius for white surface gradient correction and
        use Taubin smoothing
      - add partial volume estimates to Laplacian field for gray surface
      - QC: add gradient, distortion and convergence graphs
      - average_surface_builder: allow non-linear mode, add Taubin smoothing

    New in September, 2014 quarantine, version 2.0.0

    1 - marching-cubes algorithm for extraction of initial white surface
    2 - new calibration of white surface at GM-WM t1-gradient
    3 - improved node movement in surface fit program
    4 - corrected functional for Laplacian constraint in surface
        fit program (for gray surface)
    5 - improved surface registration 
    6 - new surface registration models based on marching-cubes
    7 - simplified CIVET QC pipeline
    8 - corrected pve classification at 0.50mm volume template
    9 - all changes listed below for 1.1.13
    10 - ANIMAL volumetric lobar segmentation
    11 - corrected fwhm for surface smoothing (was off by sqrt(2) in 1.1.12)

    Note: This version requires the package surface-extraction-3.0.2
          or higher.

    More to come soon:

    1 - classification and surface extraction in native space.
    2 - intermediate model for linear and non-linear volume registration.
    3 - Plug-in for alternate population templates
    4 - removal of self-intersections in .sm file for surface
        registration (Maxime Boucher)
    5 - Longitudinal surface registration and QC

    New in July, 2013 quarantine, version 1.1.13 (not released)

    1 - bug fixed in N3 to be invariant to voxel size (requires N3-1.12.0
        and EBTKS-1.6.4)
    2 - high-resolution surfaces at 320k polygons
    3 - surface registration on high-resolution surfaces, true
        multi-resolution algorithm (faster)
    4 - improved medial cut through the corpus callosum
    5 - processing at voxel sizes of 0.5mm and 1.0mm
    6 - speed optimizations for pve
    7 - speed optimizations for Laplacian field at 0.5mm
    8 - cropping of non-linear xfm grid file to save disk space
        and to reduce peak memory
    9 - masking of hippocampus and amygdala for icbm152nl_09s model (0.5mm)
    10 - masking of hippocampus and amygdala for ADNIhires model (0.5mm)
    11 - improved schedule for white matter surface extraction
         (smoother convergence, scaled starting ellipsoid)
    12 - new ICBM surface average for scaled ellipsoid
    13 - clean-up of connected pieces of white matter (partial
    14 - new pipeline to build average surfaces from CIVET output

Next Section: Basic Usage of CIVET