Skip to content

pieper/SlicerMorph

 
 

Repository files navigation

SlicerMorph logo

This is the official repository for SlicerMorph project.

SlicerMorph enable biologists to retrieve, visualize, measure and annotate high-resolution 3D specimen data both from volumetric scans (CTs and MRs) as well as from surface scanners more effectively within 3D Slicer. It has a number of modules that facilitate Geometric Morphometrics analysis on these 3D specimens.

SlicerMorph: An open and extensible platform to retrieve, visualize and analyze 3D morphology that explains digital anatomy workflows is now on Biorxiv as a preprint.

Installation

Official method of obtaining SlicerMorph is through extension mechanism of 3D Slicer. To obtain SlicerMorph, please first install the latest stable release (at the moment release 29738) of 3D Slicer, as SlicerMorph is not available for older versions. Open the application and use the Extensions Manager module to search for and install the SlicerMorph extension. After restarting 3D Slicer, all SlicerMorph modules will be available in the application.

Alternatively, we maintain an archive of the latest Slicer stable with SlicerMorph and other extensions are bundled with. These packages do not require installation, simply extract the archive and execute Slicer file within the top level of the folder. You can find these packages here.

Citations

If you use SlicerMorph in your research, please cite one or more of these publications.

  • SlicerMorph as a general platform for digital morphology: Rolfe, S., Pieper, S., Porto, A., Diamond, K., Winchester, J., Shan, S., … Maga, A. M. (2020). SlicerMorph: An open and extensible platform to retrieve, visualize and analyze 3D morphology. BioRxiv, 2020.11.09.374926. https://doi.org/10.1101/2020.11.09.374926

  • For CreateSemiLMPatches, ProjectSemiLMs, PseudoLMGenerator: Rolfe, S., Davis, C., & Maga, A. M. (2021). Comparing semi-landmarking approaches for analyzing three-dimensional cranial morphology. American Journal of Physical Anthropology, (Early View). https://doi.org/10.1002/ajpa.24214

  • For ALPACA: Porto, A., Rolfe, S. M., & Maga, A. M. (2020). ALPACA: A fast and accurate approach for automated landmarking of three-dimensional biological structures. BioRxiv, 2020.09.18.303891. https://doi.org/10.1101/2020.09.18.303891

To cite 3D Slicer as a general purpose biomedical visualization platform, please use: Kikinis, R., Pieper, S. D., & Vosburgh, K. G. (2014). 3D Slicer: A Platform for Subject-Specific Image Analysis, Visualization, and Clinical Support. In Intraoperative Imaging and Image-Guided Therapy (pp. 277–289). Springer, New York, NY. https://doi.org/10.1007/978-1-4614-7657-3_19

Updating SlicerMorph

We continuously add new features and functionalities to SlicerMorph packages. To make sure you are using the latest version, go to Extension Manager, click Manage Extensions tab and then use the "Check for updates" function. Once updates are installed, please restart Slicer for changes to take effect. This feature is only available for stable releases. If you are using the preview version, you have to install a newer preview version to obtain the changes introduced to SlicerMorph.

Module Descriptions

Modules in SlicerMorph are organized in three broad categories:

Input/Output Related Modules

  • ImageStacks: A general purpose tool to import non-DICOM image sequences (png/jpg/bmp/tiff) into Slicer. Provides options to specify voxel size, select image quality (preview, half, full), define an ROI for import, load every Nth slice (skip slice), or reverse stack order (to deal with mirroring of the specimen). Resultant volume is always a scalar volume (single channel image) that can be immediately processed in Slicer. If new Volume is not created, default file prefix in the image stack is used.
  • SkyscanReconImport: Imports an image stack from Bruker/Skyscan reconstruction software (Nrecon) with correct voxel spacing and orientation as a 3D volume. Use just needs to point out to the _Rec.log file that is outputed by the Nrecon software.
  • ExportAs: A generic export utility that can be used to save selected nodes in specific formats. It can also be used to save open and closedcurve Markup types in the older fcsv format (instead of default mrk.json) which makes easier to export semi-landmarks derived from them.
  • MorphoSourceImport: A utility to query and download open-access 3D models (ply/stl/object) from MorphoSource. The complete list of 3D models released under free access model can be found at here.

Geometric Morphometrics Related Modules

  • GPA: Performs Generalized Procrustes Analysis (GPA) with or without scaling shape configurations to unit size, conducts principle component analysis (PCA) of GPA aligned shape coordinates, provides graphical output of GPA results and real-time 3D visualization of PC warps either using the landmarks of mean shape, or using a reference model that is transformed into the mean shape. Visualization of 3D shape deformation of the reference model can be exported as video clips. The input into the module is a folder path containing a number of landmark files stored in Slicer’s fcsv format and optionally a 3D model and accompanying set of landmarks to be used as reference model in 3D visualization of PCA results.
  • CreateSemiLMPatches: Provides triangular patches of semi-landmarks that are constrained by three fixed anatomical landmarks. The input into the module is a 3D model and its accompanying set of fixed landmarks, and users generate and visualize the patches by specifying triplets of fixed landmarks that form a triangle.
  • PseudoLMGenerator: This module uses the 3D model’s geometry to create a dense template of pseudo-landmarks. The landmark placement is constrained to the external surface of the mesh. Points sampled on the template are projected to the mesh surface along the surface normals of the template and then filtered to remove those within the sample spacing distance, improving regularity of sampling. This module can be used to generate a large number of points on a 3D model that can serve as a landmark template for additional samples in the dataset.
  • ALPACA: Automated Landmarking through Pointcloud Alignment and Correspondence Analysis. ALPACA provides fast landmark transfer from a 3D model and its associated landmark set to target 3D model(s) through pointcloud alignment and deformable mesh registration. Unlike the two semi-landmarking methods above, it does not require presence of fixed landmarks. Optimal set of parameters that gives the best correspondence can be investigated (and outcome can be visualized) in single alignment mode, and then applied to a number of 3D models in batch mode. Invoked first time, ALPACA needs your permission to download open3D library. Depending on the internet speed, download may take sometime but it is a one-time event. A preprint explaining the method is available on Biorxiv.
  • MarkupEditor: A plugin that enables to select and edit subsets of dense semi-landmarks by drawing an arbitrary closedcurve in the 3D viewer using right-click context menus in 3D viewer. Selected landmarks can be removed from the current node or copied into a new fiducial node. Useful to quickly identify and remove outliers from spherical sampling procedure, or group landmarks into anatomical regions for downstream analyses.
  • Auto3Dgm: Auto3dgm, an existing method that allows for comparative analysis of 3D digital models representing biological surfaces, is also part of the SlicerMorph project, but packaged as a separate extension, which is automatically downloaded and installed by SlicerMorph. Pseudo-landmark output from Auto3Dgm can be directly analyzed with the GPA module. Auto3Dgm requires a license for the proprietory optimization library mosek. See auto3Dgm website for more information about the module and specific post-install instructions

Utility Modules

  • ImportFromURL: A simple utility that will download the data from the provided URL into the current Slicer scene.
  • Animator: A basic keyframe-based animation of 3D volumes. Supports interpolation of regions of interests, rotations, and transfer functions for volume rendering. Output can be either as an image sequence of frames or can be compiled into mp4 format.
  • PlaceSemiLMPatches: A utility to apply the generated connectivity table from the CreateSemiLMPatches module to other 3D models with the same set of anatomical landmarks. A new set of semiLandmarks are sampled directly from the new models using the specified connectivity map. Inputs: The connectivity table from CreateSemiLMPatches, a directory with the list of 3D models that semi-landmarks will be placed on, and associated anatomical landmark files (in fcsv format). Both model and its corresponding fcsv file should have the same filename prefix.
  • ProjectSemiLM: A utility to transfer a template of semilandmarks to new 3D models using Thin Plate Splines (TPS) warp. Requires existence a set of corresponding anatomical landmarks in the template and target models. Inputs: a base 3D model with its anatomical landmark and the semi-landmark template sets used as reference; a directory with the list of 3D models that semi-landmarks will be projected on and their associated anatomical landmark files (in fcsv format). Both model and its corresponding fcsv file should have the same filename prefix.
  • MergeMarkups:. A utility to tag and consolidate fixed and semiLM files into a single merged file.
  • MorphologikaLMConverter: Imports a Morphologika formatted landmark file that may contain multiple subjects and exports a Slicer .FCSV landmark file for each individual to a directory specified by the user.
  • IDAVLMConverter: Imports IDAV landmark editor files with header length specified by the user.
  • ImportSurfaceToSegment: Imports a 3D surface model as a segmentation and prompts the user to edit it using the Segment Editor module.
  • SegmentEndoCranium: Automatically segments the endocranial space in a 3D volume of a vertebrate skull. A detailed description of the module and how it works can be found in this tutorial under the automated method.
  • SlicerMorph Preferences: Users can choose to enable specific customizations that include keyboard shortcuts, and optimized settings for working with large 3D datasets using the Application Settings menu of 3D Slicer. See the documentation link for list of SlicerMorph specific keyboard shortcuts and modified settings.

Dependencies

SlicerMorph automatically installs these additional extensions as dependencies. It should be noted that none of the SlicerMorph specific functionality directly relies on these modules. Functionality in these extensions complements modules in SlicerMorph. Click on the links to get more information about these extensions.

3D Morphometrics and Image Analysis Short Course materials

We actively use SlicerMorph to teach a week-long intense short course on 3D Morphometrics and Image analysis. The feedback of the attendees help us prioritize feature development and refinement. We are grateful for the feedback of over 100 participants. Click for contents from the latest workshop, Spring 2021

Important Websites

Funding Acknowledgement

This project is supported by a NSF Advances in Biological Informatics Collaborative grant to Murat Maga (ABI-1759883), Adam Summers (ABI-1759637) and Doug Boyer (ABI-1759839).

NSF logo

License

See License.md

About

Extensions to conduct 3D morphometrics in Slicer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.4%
  • CMake 4.6%