Skip to content

Commit f734fb2

Browse files
authored
Merge pull request #6409 from hjmjohnson/remote-module-list-4786
DOC: Add generated remote-module list page (#4786)
2 parents ca88f7e + 9bcd9ab commit f734fb2

4 files changed

Lines changed: 439 additions & 0 deletions

File tree

Documentation/docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,5 @@ contributing/index
6161
:caption: 🌱 Scientific ecosystem
6262
6363
scientific_ecosystem/itk_ecosystem.md
64+
scientific_ecosystem/remote_modules.md
6465
```
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# ITK remote modules
2+
3+
<!-- This page is generated by `Utilities/Maintenance/GenerateRemoteModuleList.py`. Do not edit manually; edit the source (`Modules/Remote/*.remote.cmake` or `Documentation/remote_modules_classification.yaml`) and regenerate. -->
4+
5+
Remote modules extend ITK with additional functionality maintained in separate repositories. The modules below can be enabled at configure time with `Module_<Name>`; see [the module workflow guide](../contributing/module_workflows.md).
6+
7+
## Modules/Remote modules
8+
9+
These remote modules ship a `*.remote.cmake` file in ITK and are fetched and built on demand. The compliance level reflects code maturity (5 = highest).
10+
11+
| Module | Compliance level | Repository | Description |
12+
| --- | --- | --- | --- |
13+
| **BioCell** | 2 (Alpha / niche code) | [InsightSoftwareConsortium/ITKBioCell](https://github.com/InsightSoftwareConsortium/ITKBioCell) | This module contains classes related to segmentation of biological cells. It has classes to represent cells' shape, color, and growth state. It also has classes to represent a cell genome, whose expression is modeled by differential equations. |
14+
| **Cleaver** | 3 (Quality beta code) | [SCIInstitute/ITKCleaver](https://github.com/SCIInstitute/ITKCleaver) | ITK module wrapping Cleaver functionalities used for MultiMaterial Tetrahedral Meshing. |
15+
| **CudaCommon** | 3 (Quality beta code) | [RTKConsortium/ITKCudaCommon](https://github.com/RTKConsortium/ITKCudaCommon) | Framework for processing images with Cuda. |
16+
| **HASI** | 3 (Quality beta code) | [KitwareMedical/HASI](https://github.com/KitwareMedical/HASI) | High-throughput Applications for Skeletal Imaging. |
17+
| **IOOpenSlide** | 2 (Alpha / niche code) | [InsightSoftwareConsortium/ITKIOOpenSlide](https://github.com/InsightSoftwareConsortium/ITKIOOpenSlide) | ITK ImageIO for OpenSlide library supported file formats. These are generally TIFF-based microscopy formats. |
18+
| **LesionSizingToolkit** | 2 (Alpha / niche code) | [InsightSoftwareConsortium/LesionSizingToolkit](https://github.com/InsightSoftwareConsortium/LesionSizingToolkit) | Framework for determining the sizes of lesions in medical images. |
19+
| **PerformanceBenchmarking** | 2 (Alpha / niche code) | [InsightSoftwareConsortium/ITKPerformanceBenchmarking](https://github.com/InsightSoftwareConsortium/ITKPerformanceBenchmarking) | New classes increase operating system process priority to minimize the impact of other processes running on the system. These classes are used by a suite of example ITK benchmarks to quantify toolkit performance. For more information, see:: McCormick M., Kang H.J., Barre S. Performance Benchmarking the Insight Toolkit The Insight Journal. January-December. 2016. https://doi.org/10.54294/9feae9 |
20+
| **RTK** | 3 (Quality beta code) | [RTKConsortium/RTK](https://github.com/RTKConsortium/RTK) | Reconstruction Toolkit (RTK) https://www.openrtk.org/ |
21+
| **SCIFIO** | 2 (Alpha / niche code) | [scifio/scifio-imageio](https://github.com/scifio/scifio-imageio) | SCIFIO (Bioformats) ImageIO plugin for ITK |
22+
| **Shape** | 3 (Quality beta code) | [SlicerSALT/ITKShape](https://github.com/SlicerSALT/ITKShape) | Shape analysis filters, e.g. Procrustes alignment for meshes. ITK external module for libraries originally developed in SPHARM-PDM 3D Slicer extension (https://github.com/NIRALUser/SPHARM-PDM). |
23+
| **SimpleITKFilters** | 3 (Quality beta code) | [InsightSoftwareConsortium/ITKSimpleITKFilters](https://github.com/InsightSoftwareConsortium/ITKSimpleITKFilters) | A Collection of filters designed for SimpleITK. The filters in this module may be wrappers of composites ITK filters, adapters of existing ITK filters or alternative implementations designed for SimpleITK's requirements. Currently it contains a discrete hessian, and a composite filter to compute objectness. |
24+
| **SkullStrip** | 2 (Alpha / niche code) | [InsightSoftwareConsortium/ITKSkullStrip](https://github.com/InsightSoftwareConsortium/ITKSkullStrip) | A class to perform automatic skull-stripping for neuroimage analysis. |
25+
| **SphinxExamples** | 5 (Core-quality; could become an ITK main module) | [InsightSoftwareConsortium/ITKSphinxExamples](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples) | This module builds the examples found at https://itk.org/ITKExamples/ |
26+
| **TractographyTRX** | 3 (Quality beta code) | [tee-ar-ex/ITKTractographyTRX](https://github.com/tee-ar-ex/ITKTractographyTRX) | TRX tractography support with lazy streamline access and a streaming writer. Relevant Documentation: https://itktractographytrx.readthedocs.io |
27+
| **TubeTK** | 3 (Quality beta code) | [InsightSoftwareConsortium/ITKTubeTK](https://github.com/InsightSoftwareConsortium/ITKTubeTK) | http://www.tubetk.org |
28+
| **Ultrasound** | 3 (Quality beta code) | [KitwareMedical/ITKUltrasound](https://github.com/KitwareMedical/ITKUltrasound) | This module contains filters for use with the Insight Toolkit (ITK) that image formation and analysis of ultrasound images. McCormick, M. An Open Source, Fast Ultrasound B-Mode Implementation for Commodity Hardware. Insight Journal. 2010 January-June. URL: https://doi.org/10.54294/yjowe4 McCormick, M, Rubert, N and Varghese, T. Bayesian Regularization Applied to Ultrasound Strain Imaging. IEEE Transactions on Biomedical Engineering. 58 (6):1612-1620. 2011. PCMCID: PMC3092822. https://doi.org/10.1109/TBME.2011.2106500 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3092822/ Aylward, S. R., McCormick, M. M., Kang H. J., Razzaque, S., R. Kwitt, R., and M. Niethammer. Ultrasound spectroscopy. 2016 IEEE International Symposium on Biomedical Imaging: From Nano to Macro, ISBI 2016 - Proceedings. Prague, Czech Republic. 1013-1016. 2016. https://dx.doi.org/10.1109/ISBI.2016.7493437 https://pdfs.semanticscholar.org/6bcd/1e7adbc24e15c928a7ad5af77bbd5da29c30.pdf |
29+
| **VkFFTBackend** | 3 (Quality beta code) | [InsightSoftwareConsortium/ITKVkFFTBackend](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend) | ITK FFT accelerated backends using the VkFFT library for Vulkan/CUDA/HIP/OpenCL compatibility. |
30+
| **WebAssemblyInterface** | 3 (Quality beta code) | [InsightSoftwareConsortium/ITK-Wasm](https://github.com/InsightSoftwareConsortium/ITK-Wasm) | The ITK-Wasm WebAssemblyInterface module provides tools to a) build C/C++ code to WebAssembly-compatible processing pipelines, b) bridge local filesystems, JavaScript/Typescript data structures, and traditional file formats, c) transfer data efficiently in and out of the WebAssembly runtime. |
31+
32+
33+
## ITK-friend projects
34+
35+
Related ITK projects that are not Modules/Remote modules.
36+
37+
| Name | Repository | Note |
38+
| --- | --- | --- |
39+
| **ITKElastix** | [InsightSoftwareConsortium/ITKElastix](https://github.com/InsightSoftwareConsortium/ITKElastix) | Python/Wasm wrapper around elastix registration; not a Modules/Remote module. |
40+
| **ITKModuleTemplate** | [InsightSoftwareConsortium/ITKModuleTemplate](https://github.com/InsightSoftwareConsortium/ITKModuleTemplate) | Cookiecutter template for creating new external/remote modules. |
41+
42+
43+
## Integrated into ITK
44+
45+
Former remote modules now part of ITK proper.
46+
47+
| Name | Repository | Note |
48+
| --- | --- | --- |
49+
| **itkSuperPixel** | [blowekamp/itkSuperPixel](https://github.com/blowekamp/itkSuperPixel) | Functionality integrated into ITK proper. |
50+
51+
52+
## Forks
53+
54+
Forks of a canonical repository; use the canonical one.
55+
56+
| Name | Repository | Note |
57+
| --- | --- | --- |
58+
| **ITKHigherOrderAccurateGradient** | [KitwareMedical/ITKHigherOrderAccurateGradient](https://github.com/KitwareMedical/ITKHigherOrderAccurateGradient) | Fork; the canonical remote lives under InsightSoftwareConsortium. |
59+
| **ITKSimpleITKFilters** | [blowekamp/ITKSimpleITKFilters](https://github.com/blowekamp/ITKSimpleITKFilters) | Personal fork; in-tree remote points at the ISC repository. |
60+
61+
62+
## Non-C++ repositories
63+
64+
Tagged itk-module but not C++ ITK modules.
65+
66+
| Name | Repository | Note |
67+
| --- | --- | --- |
68+
| **Liver-tumor-segmentation** | [argaja10/Liver-tumor-segmentation](https://github.com/argaja10/Liver-tumor-segmentation) | Python/Jupyter project; not a C++ ITK module. |
69+
| **Retinal-Images-Mosaicking** | [anmaithien/Retinal-Images-Mosaicking](https://github.com/anmaithien/Retinal-Images-Mosaicking) | MATLAB project; not a C++ ITK module. |
70+
71+
72+
## Archived
73+
74+
No longer maintained.
75+
76+
| Name | Repository | Note |
77+
| --- | --- | --- |
78+
| **ITKWikiExamples** | [InsightSoftwareConsortium/ITKWikiExamples](https://github.com/InsightSoftwareConsortium/ITKWikiExamples) | Empty/outdated; contents moved to ITKExamples. |
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Curated classification of ITK-related repositories that are NOT in-tree
2+
# Modules/Remote remotes, plus the presentation metadata shared by every
3+
# consumer of this data. In-tree remotes are auto-detected from
4+
# Modules/Remote/*.remote.cmake and must not be listed under 'repositories'
5+
# (any that are will be dropped automatically to avoid duplicate listings).
6+
#
7+
# This file holds the judgments that cannot be derived mechanically from the
8+
# source tree (whether a repository is a friend project, a fork, already
9+
# integrated, non-C++, etc.). Add an entry when a new itk-module-tagged
10+
# repository appears that is not an in-tree remote, then regenerate the page
11+
# with Utilities/Maintenance/GenerateRemoteModuleList.py.
12+
13+
# Human-readable description of each MODULE_COMPLIANCE_LEVEL value.
14+
compliance_levels:
15+
"5": "Core-quality; could become an ITK main module"
16+
"4": "Very high quality, possibly small community"
17+
"3": "Quality beta code"
18+
"2": "Alpha / niche code"
19+
"1": "Pre-alpha, under development"
20+
"0": "Known poor quality or deprecated"
21+
22+
# Section ordering, headings, and blurbs for the curated repositories below.
23+
# The 'id' is the value used by each repository's 'kind' field.
24+
kinds:
25+
- id: itk-friend
26+
heading: ITK-friend projects
27+
blurb: Related ITK projects that are not Modules/Remote modules.
28+
- id: candidate
29+
heading: Candidate remote modules
30+
blurb: Repositories that could become Modules/Remote remotes.
31+
- id: integrated
32+
heading: Integrated into ITK
33+
blurb: Former remote modules now part of ITK proper.
34+
- id: fork
35+
heading: Forks
36+
blurb: Forks of a canonical repository; use the canonical one.
37+
- id: non-cxx
38+
heading: Non-C++ repositories
39+
blurb: Tagged itk-module but not C++ ITK modules.
40+
- id: archived
41+
heading: Archived
42+
blurb: No longer maintained.
43+
- id: inaccessible
44+
heading: Inaccessible
45+
blurb: Outside ISC/KitwareMedical; availability not guaranteed.
46+
47+
repositories:
48+
- name: ITKElastix
49+
repo: https://github.com/InsightSoftwareConsortium/ITKElastix
50+
kind: itk-friend
51+
note: Python/Wasm wrapper around elastix registration; not a Modules/Remote module.
52+
53+
- name: ITKModuleTemplate
54+
repo: https://github.com/InsightSoftwareConsortium/ITKModuleTemplate
55+
kind: itk-friend
56+
note: Cookiecutter template for creating new external/remote modules.
57+
58+
- name: ITKWikiExamples
59+
repo: https://github.com/InsightSoftwareConsortium/ITKWikiExamples
60+
kind: archived
61+
note: Empty/outdated; contents moved to ITKExamples.
62+
63+
- name: ITKHigherOrderAccurateGradient
64+
repo: https://github.com/KitwareMedical/ITKHigherOrderAccurateGradient
65+
kind: fork
66+
note: Fork; the canonical remote lives under InsightSoftwareConsortium.
67+
68+
- name: ITKSimpleITKFilters
69+
repo: https://github.com/blowekamp/ITKSimpleITKFilters
70+
kind: fork
71+
note: Personal fork; in-tree remote points at the ISC repository.
72+
73+
- name: itkSuperPixel
74+
repo: https://github.com/blowekamp/itkSuperPixel
75+
kind: integrated
76+
note: Functionality integrated into ITK proper.
77+
78+
- name: Retinal-Images-Mosaicking
79+
repo: https://github.com/anmaithien/Retinal-Images-Mosaicking
80+
kind: non-cxx
81+
note: MATLAB project; not a C++ ITK module.
82+
83+
- name: Liver-tumor-segmentation
84+
repo: https://github.com/argaja10/Liver-tumor-segmentation
85+
kind: non-cxx
86+
note: Python/Jupyter project; not a C++ ITK module.

0 commit comments

Comments
 (0)