https://github.com/alleninstitute/stpt_registration

STPT registration methods

https://github.com/alleninstitute/stpt_registration

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: ncbi.nlm.nih.gov
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
    Organization alleninstitute has institutional domain (alleninstitute.org)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

STPT registration methods

Basic Info
  • Host: GitHub
  • Owner: AllenInstitute
  • License: other
  • Language: C++
  • Default Branch: master
  • Size: 175 KB
Statistics
  • Stars: 8
  • Watchers: 4
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Created about 6 years ago · Last pushed about 6 years ago
Metadata Files
Readme Contributing License

README.md

Overview

This repository contains code for methods to register serial two-photon tomography (STPT) images from the Allen Mouse Connectivity Atlas as described in Oh et. al., 2014 and Kuan et. al., 2015. These methods were also used in the construction of the average template of the Allen Mouse Common Coordinate Framework.

STPT Registration Methods

The three main executables are:

idpProjectionAlignmentModule

This module performs a "global" registration between the STPT images and a target reference. The module first performs a rigid registration followed by an affine (12 parameters) registration. In both cases using mutual information as the similarity metric and employing a multi-resolution optimization strategy. Input to this module is an xml file containing meta-data for the image-series including the location, size and resolution of each image file. The output of this module is a "transform" xml. For each image, it contains the 2D transform to reconstruct the specimen. For STPT, this is simply the identity transform since the data is already inherently 3D. For the image series, it contains the 3D transform that will align the STPT specimen to the target reference.

Source: lims2_modules/common/register/Registration/idpProjectionAlignmentModule.cxx

idpProjectionLocalAlignmentModule

Following the "global" registration step, this module performs a "local" deformable registration to improve the fine scale alignment of the STPT images to the target reference. In this method, deformation was parameterized as 3D B-splines (order of 3) where the knots are placed on a regularly spaced grid. A four level coarse-to-fine optimization strategy was used. A coarse grid implicitly only allows smooth/stiff deformations while a finer grid allows more elastic transformations. The method starts with a coarse grid allowing large scale anatomy to be matched. The result is then used to initialize the finer levels allowing local neighborhoods to be more accurately matched.

At each level, cross-correlation is used as the similarity metric. To speed up computation, the metric was only evaluated on a small portion of randomly selected voxels. The optimization problem was formulated and solved as a graph labeling problem. Specifically, instead of considering all the possible continuous moves of each knot, the search space is discretized into a number of grids represented by labels. The registration was performed in both the forward and backward direction in each iteration and then composed to form the final transform, resulting in a symmetric and invertible deformation field.

Input to this module are two xml files, the first containing image-series metadata and the second contains the affine transforms computed during the "global" registration step. The output of this module is the final B-spline grid and associated deformation field.

Source: lims2_modules/common/register/Registration/idpProjectionLocalAlignmentModule.cxx

idpProjectionResampleVolumeRGBModule

Following the "local" deformable registration step, this module enables the warping of the STPT images to create an output volume that is aligned to the target reference. Input to this module are the image-series meta-data and transform xml files as well as the deformation field computed during "local" deformable registration.

Source: lims2_modules/common/register/Registration/idpProjectionResampleVolumeRGBModule.cxx

The "model_directory"

Reference data and algorithm parameters needed by the registration methods are organized in a directory structure. In the production pipeline, the modules access this directory at a standard default location. Each module has an optional "model_directory" input argument to configure the modules to look for that information in user specified location.

A copy of the content of the "model_directory" used for registering STPT images is located here.

Level of Support

These methods were implemented as part of an informatics data processing pipeline and as such the design is influenced by the need to communicate with the internal database, workflow and build management systems and to operate efficiently with internal file formats (eg JPEG2000) and compute cluster. A high level of technical expertise may be required to compile the code and all its dependent packages, format image files into the required format and the generation and parsing of highly structured and verbose input/output xml files.

We have not deployed these methods beyond the scope of our own STPT images and computing cluster.

We are not currently supporting this code, but simply releasing it to the community AS IS. We are not able to provide any guarantees of support. The community is welcome to submit issues, but you should not expect an active response.

Dependencies

These methods leverage several libraries. While many are open source, some require specific licensing agreements. Please see the documentation for each library for further details.

  • ITK https://itk.org/, Version: InsightToolkit-3.20.0

  • VTK https://vtk.org/, Version: VTK-5.10.0

  • Kakadu https://kakadusoftware.com/, Version: v641-00465M

  • Boost https://www.boost.org/, Version: boost154_0

  • TinyXML http://www.grinninglizard.com/tinyxml/, Version: tinyxml.2.6.2

  • CMake https://cmake.org/, Version: cmake-2.8

Build Instructions

Example Runtimes

  • Example global alignment job

    • Limits: mem=6gb,vmem=6gb,walltime=05:00:00,neednodes=centos
    • Resources: cput=00:05:49,vmem=1265748kb,walltime=00:06:04,mem=1731724kb
    • Node: x8664, Linux, 3.10.0-514.26.2.el7.x8664, 32 CPUs, 3000 MHz
  • Example local alignment job including image resampling

    • Limits: mem=20gb,vmem=20gb,walltime=05:00:00,neednodes=centos
    • Resources: cput=00:45:11,vmem=17240312kb,walltime=00:45:42,mem=14007624kb
    • Node: x8664, Linux, 3.10.0-514.26.2.el7.x8664, 24 CPUs, 2500 MHz

Owner

  • Name: Allen Institute
  • Login: AllenInstitute
  • Kind: organization
  • Location: Seattle, WA

Please visit http://alleninstitute.github.io/ for more information.

GitHub Events

Total
Last Year

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 11
  • Total Committers: 1
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Lydia Ng l****n@a****g 11
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • testOneNote (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels