Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions CMake/ITKModuleEnablement.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,11 @@ include(${ITK_SOURCE_DIR}/CMake/ITKGroups.cmake)
# Provide an option for each module.
foreach(itk-module ${ITK_MODULES_ALL})
if(NOT ${itk-module}_IS_TEST)
option(Module_${itk-module} "Request building ${itk-module}" OFF)
mark_as_advanced(Module_${itk-module})
# Remote modules parsing will set the compliance level, so do not overwrite that option here
if(NOT DEFINED Module_${itk-module}_REMOTE_COMPLIANCE_LEVEL)
option(Module_${itk-module} "Request building ${itk-module} (non-remote)" OFF)
mark_as_advanced(Module_${itk-module})
endif()
if(ITK_MODULE_${itk-module}_EXCLUDE_FROM_DEFAULT)
set(ITK_MODULE_${itk-module}_IN_DEFAULT 0)
else()
Expand Down
12 changes: 7 additions & 5 deletions CMake/ITKModuleMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -332,11 +332,13 @@ macro(itk_module_test)
endmacro()

macro(itk_module_examples)
set(_build_examples_default OFF)
if(BUILD_EXAMPLES OR ITK_BUILD_EXAMPLES)
set(_build_examples_default ON)
endif()
set(Module_${itk-module}_BUILD_EXAMPLES ${_build_examples_default} CACHE BOOL "Build the examples for Module_${itk-module}")
#Some modules have examples, and those should be hidden if the module is disabled, or examples are not requested
cmake_dependent_option(Module_${itk-module}_BUILD_EXAMPLES
"Build the examples for Module_${itk-module}"
ON
"BUILD_EXAMPLES OR ITK_BUILD_EXAMPLES;Module_${itk-module}"
OFF
)
if(Module_${itk-module}_BUILD_EXAMPLES)
if(ITK_SOURCE_DIR)
# If configuration is done from within ITK,
Expand Down
18 changes: 14 additions & 4 deletions CMake/ITKModuleRemote.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -172,13 +172,14 @@ function(itk_fetch_module _name _description)
set(MODULE_COMPLIANCE_LEVEL ${DEFAULT_MODULE_COMPLIANCE_LEVEL})
endif()

if(MODULE_COMPLIANCE_LEVEL GREATER_EQUAL ITK_MINIMUM_COMPLIANCE_LEVEL)
if(${MODULE_COMPLIANCE_LEVEL} GREATER_EQUAL ${ITK_MINIMUM_COMPLIANCE_LEVEL})
set(Module_${_name}_VALID ON)
else()
set(Module_${_name}_VALID OFF)
endif()
#message(WARNING "MODULE_VALID:${Module_${_name}_VALID}:${MODULE_COMPLIANCE_LEVEL}>=${ITK_MINIMUM_COMPLIANCE_LEVEL}")
cmake_dependent_option(Module_${_name} "(Remote-${MODULE_COMPLIANCE_LEVEL}) ${_description}" OFF "MODULE_COMPLIANCE_LEVEL GREATER_EQUAL ITK_MINIMUM_COMPLIANCE_LEVEL" OFF)
# message(INFO " MODULE_VALID Module_${_name}:${Module_${_name}_VALID}:${MODULE_COMPLIANCE_LEVEL}>=${ITK_MINIMUM_COMPLIANCE_LEVEL}")
cmake_dependent_option(Module_${_name} "(Remote-${MODULE_COMPLIANCE_LEVEL}) ${_description}" OFF "Module_${_name}_VALID" OFF)
set(Module_${_name}_REMOTE_COMPLIANCE_LEVEL ${MODULE_COMPLIANCE_LEVEL} CACHE INTERNAL "Variable to indicate the Module_${_name} compliance level")
mark_as_advanced(Module_${_name})

# Fetch_$_remote_module} is deprecated. To maintain backward compatibility:
Expand Down Expand Up @@ -215,6 +216,9 @@ function(itk_fetch_module _name _description)
mark_as_advanced(REMOTE_GIT_TAG_${_name})
# Show remote module options if building.
set_property(CACHE REMOTE_GIT_TAG_${_name} PROPERTY TYPE STRING)
if(DEFINED Module_${_name}_BUILD_EXAMPLES)
set_property(CACHE Module_${_name}_BUILD_EXAMPLES PROPERTY TYPE BOOL)
endif()

_fetch_with_git("${GIT_EXECUTABLE}"
"${_fetch_options_GIT_REPOSITORY}"
Expand All @@ -223,8 +227,14 @@ function(itk_fetch_module _name _description)
)
else()
# Hide remote module options if not building.
if(REMOTE_GIT_TAG_${_name})
if(DEFINED REMOTE_GIT_TAG_${_name})
set_property(CACHE REMOTE_GIT_TAG_${_name} PROPERTY TYPE INTERNAL)
endif()
if(DEFINED Module_${_name})
set_property(CACHE Module_${_name} PROPERTY TYPE INTERNAL)
endif()
if(DEFINED Module_${_name}_BUILD_EXAMPLES)
set_property(CACHE Module_${_name}_BUILD_EXAMPLES PROPERTY TYPE INTERNAL)
endif()
endif()
endfunction()
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
#-- # Grading Level Criteria
#-- # Grading Level Criteria Report
Comment thread
hjmjohnson marked this conversation as resolved.
#-- EVALUATION DATE: 2020-03-01
#-- EVALUATORS: [<<NO EVALUATOR>>,<<NO EVALUATOR>>]
#--
#-- ## Compliance level 5 star (AKA ITK main modules, or remote modules that could become core modules)
#-- - [ ] Widespread community dependance
#-- - [ ] Above 90% code coverage
#-- - [ ] CI dashboards and testing monitored rigorously
#-- - [ ] Key API features are exposed in wrapping interface
#-- - [ ] All requirements of Levels 4,3,2,1
#--
#-- ## Compliance Level 4 star (Very high-quality code, perhaps small community dependance)
#-- - [X] Meets all ITK code style standards
#-- - [X] No external requirements beyond those needed by ITK proper
#-- - [ ] Builds and passes tests on all supported platforms within 1 month of each core tagged release
#-- - [ ] Windows Shared Library Build with Visual Studio
#-- - [X] Mac with clang compiller
#-- - [X] Linux with gcc compiler
#-- - [ ] Active developer community dedicated to maintaining code-base
#-- - [ ] 75% code coverage demonstrated for testing suite
#-- - [ ] 75% C0-code coverage demonstrated for testing suite
#-- - [ ] Continuous integration testing performed
#-- - [X] All requirements of Levels 3,2,1
#--
#-- ## Compliance Level 3 star (Quality beta code)
#-- - [X] API | executable interface is considered mostly stable and feature complete
#-- - [ ] 10% C0-code coverage demonstrated for testing suite
#-- - [X] Some tests exist and pass on at least some platform
#-- - [X] All requirements of Levels 2,1
#--
Expand All @@ -33,10 +40,14 @@
#--
#-- ### Please document here any justification for the criteria above
# Code style enforced by clang-format on 2020-02-19, and clang-tidy modernizations completed

itk_fetch_module(AnalyzeObjectMapIO
"AnalyzeObjectMapIO plugin for ITK. From Insight Journal article with handle: https://hdl.handle.net/1926/593"
# NOTE: CODE DOES NOT COMPILE UNDER VISUAL STUDIO A link failure occurs in the factory registration magic
if(Module_AnalyzeObjectMapIO)
message(STATUS "AnalyzeObjectMap has been renamed to AnalyzeObjectLabelMap")
set(Module_AnalyzeObjectLabelMap ${Module_AnalyzeObjectMapIO})
endif()
itk_fetch_module(AnalyzeObjectLabelMap
"AnalyzeObjectLabelMap plugin for ITK. From Insight Journal article with handle: https://hdl.handle.net/1926/593"
MODULE_COMPLIANCE_LEVEL 3
GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/itkAnalyzeObjectMap.git
GIT_TAG 7388d866433896368bd3049c396b974433b22cc5
GIT_TAG d7e27e8228d326a273a729d83d4b5007b0af22d8
)
46 changes: 45 additions & 1 deletion Modules/Remote/AnisotropicDiffusionLBR.remote.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
#-- # Grading Level Criteria Report
#-- EVALUATION DATE: 2020-03-01
#-- EVALUATORS: [<<NO EVALUATOR>>,<<NO EVALUATOR>>]
#--
#-- ## Compliance level 5 star (AKA ITK main modules, or remote modules that could become core modules)
#-- - [ ] Widespread community dependance
#-- - [ ] Above 90% code coverage
#-- - [ ] CI dashboards and testing monitored rigorously
#-- - [ ] Key API features are exposed in wrapping interface
#-- - [ ] All requirements of Levels 4,3,2,1
#--
#-- ## Compliance Level 4 star (Very high-quality code, perhaps small community dependance)
#-- - [ ] Meets all ITK code style standards
#-- - [ ] No external requirements beyond those needed by ITK proper
#-- - [ ] Builds and passes tests on all supported platforms within 1 month of each core tagged release
#-- - [ ] Windows Shared Library Build with Visual Studio
#-- - [ ] Mac with clang compiller
#-- - [ ] Linux with gcc compiler
#-- - [ ] Active developer community dedicated to maintaining code-base
#-- - [ ] 75% code coverage demonstrated for testing suite
#-- - [ ] Continuous integration testing performed
#-- - [ ] All requirements of Levels 3,2,1
#--
#-- ## Compliance Level 3 star (Quality beta code)
#-- - [ ] API | executable interface is considered mostly stable and feature complete
#-- - [ ] 10% C0-code coverage demonstrated for testing suite
#-- - [ ] Some tests exist and pass on at least some platform
#-- - [X] All requirements of Levels 2,1
#--
#-- ## Compliance Level 2 star (Alpha code feature API development or niche community/exectution environment dependance )
#-- - [X] Compiles for at least 1 niche set of execution envirionments, and perhaps others
#-- (may depend on specific external tools like a java environment, or specific external libraries to work )
#-- - [X] All requirements of Levels 1
#--
#-- ## Compliance Level 1 star (Pre-alpha features under development and code of unkown quality)
#-- - [X] Code complies on at least 1 platform
#--
#-- ## Compliance Level 0 star ( Code/Feature of known poor-quality or deprecated status )
#-- - [ ] Code reviewed and explicitly identified as not recommended for use
#--
#-- ### Please document here any justification for the criteria above
# Code style enforced by clang-format on 2020-02-19, and clang-tidy modernizations completed

itk_fetch_module(AnisotropicDiffusionLBR
"Anisotropic Non-Linear Diffusion is a powerful image processing technique,
which allows to simultaneously remove the noise and enhance sharp features
Expand All @@ -19,6 +62,7 @@ itk_fetch_module(AnisotropicDiffusionLBR
https://hdl.handle.net/10380/3505
http://insight-journal.org/browse/publication/953
"
MODULE_COMPLIANCE_LEVEL 2
GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR.git
GIT_TAG 8a51cc37cb3be19121702d3ea2194f0233bd923c
GIT_TAG 19012bddfc66c9b11482c26d9227b9c5e1212776
)
46 changes: 45 additions & 1 deletion Modules/Remote/BSplineGradient.remote.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,49 @@
#-- # Grading Level Criteria Report
#-- EVALUATION DATE: 2020-03-01
#-- EVALUATORS: [<<NO EVALUATOR>>,<<NO EVALUATOR>>]
#--
#-- ## Compliance level 5 star (AKA ITK main modules, or remote modules that could become core modules)
#-- - [ ] Widespread community dependance
#-- - [ ] Above 90% code coverage
#-- - [ ] CI dashboards and testing monitored rigorously
#-- - [ ] Key API features are exposed in wrapping interface
#-- - [ ] All requirements of Levels 4,3,2,1
#--
#-- ## Compliance Level 4 star (Very high-quality code, perhaps small community dependance)
#-- - [ ] Meets all ITK code style standards
#-- - [ ] No external requirements beyond those needed by ITK proper
#-- - [ ] Builds and passes tests on all supported platforms within 1 month of each core tagged release
#-- - [ ] Windows Shared Library Build with Visual Studio
#-- - [ ] Mac with clang compiller
#-- - [ ] Linux with gcc compiler
#-- - [ ] Active developer community dedicated to maintaining code-base
#-- - [ ] 75% code coverage demonstrated for testing suite
#-- - [ ] Continuous integration testing performed
#-- - [ ] All requirements of Levels 3,2,1
#--
#-- ## Compliance Level 3 star (Quality beta code)
#-- - [ ] API | executable interface is considered mostly stable and feature complete
#-- - [ ] 10% C0-code coverage demonstrated for testing suite
#-- - [ ] Some tests exist and pass on at least some platform
#-- - [X] All requirements of Levels 2,1
#--
#-- ## Compliance Level 2 star (Alpha code feature API development or niche community/exectution environment dependance )
#-- - [X] Compiles for at least 1 niche set of execution envirionments, and perhaps others
#-- (may depend on specific external tools like a java environment, or specific external libraries to work )
#-- - [X] All requirements of Levels 1
#--
#-- ## Compliance Level 1 star (Pre-alpha features under development and code of unkown quality)
#-- - [X] Code complies on at least 1 platform
#--
#-- ## Compliance Level 0 star ( Code/Feature of known poor-quality or deprecated status )
#-- - [ ] Code reviewed and explicitly identified as not recommended for use
#--
#-- ### Please document here any justification for the criteria above
# Code style enforced by clang-format on 2020-02-19, and clang-tidy modernizations completed

itk_fetch_module(BSplineGradient
"Approximate an image's gradient from a b-spline fit to its intensity."
MODULE_COMPLIANCE_LEVEL 2
GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKBSplineGradient.git
GIT_TAG 881795e057570e9957acaeed7c5de3d19cdb6022
GIT_TAG 761b8bbdcb0039ebdac0dbe467d1e8c313b5b4c5
)
46 changes: 45 additions & 1 deletion Modules/Remote/BioCell.remote.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,52 @@
#-- # Grading Level Criteria Report
#-- EVALUATION DATE: 2020-03-01
#-- EVALUATORS: [<<NO EVALUATOR>>,<<NO EVALUATOR>>]
#--
#-- ## Compliance level 5 star (AKA ITK main modules, or remote modules that could become core modules)
#-- - [ ] Widespread community dependance
#-- - [ ] Above 90% code coverage
#-- - [ ] CI dashboards and testing monitored rigorously
#-- - [ ] Key API features are exposed in wrapping interface
#-- - [ ] All requirements of Levels 4,3,2,1
#--
#-- ## Compliance Level 4 star (Very high-quality code, perhaps small community dependance)
#-- - [ ] Meets all ITK code style standards
#-- - [ ] No external requirements beyond those needed by ITK proper
#-- - [ ] Builds and passes tests on all supported platforms within 1 month of each core tagged release
#-- - [ ] Windows Shared Library Build with Visual Studio
#-- - [ ] Mac with clang compiller
#-- - [ ] Linux with gcc compiler
#-- - [ ] Active developer community dedicated to maintaining code-base
#-- - [ ] 75% code coverage demonstrated for testing suite
#-- - [ ] Continuous integration testing performed
#-- - [ ] All requirements of Levels 3,2,1
#--
#-- ## Compliance Level 3 star (Quality beta code)
#-- - [ ] API | executable interface is considered mostly stable and feature complete
#-- - [ ] 10% C0-code coverage demonstrated for testing suite
#-- - [ ] Some tests exist and pass on at least some platform
#-- - [X] All requirements of Levels 2,1
#--
#-- ## Compliance Level 2 star (Alpha code feature API development or niche community/exectution environment dependance )
#-- - [X] Compiles for at least 1 niche set of execution envirionments, and perhaps others
#-- (may depend on specific external tools like a java environment, or specific external libraries to work )
#-- - [X] All requirements of Levels 1
#--
#-- ## Compliance Level 1 star (Pre-alpha features under development and code of unkown quality)
#-- - [X] Code complies on at least 1 platform
#--
#-- ## Compliance Level 0 star ( Code/Feature of known poor-quality or deprecated status )
#-- - [ ] Code reviewed and explicitly identified as not recommended for use
#--
#-- ### Please document here any justification for the criteria above
# Code style enforced by clang-format on 2020-02-19, and clang-tidy modernizations completed

itk_fetch_module(BioCell
"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."
MODULE_COMPLIANCE_LEVEL 2
GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKBioCell.git
GIT_TAG 8be5ca909129e96b399df802cd477f4450de7ba2
GIT_TAG 47a23387fbcac5402b8f9a2bb896344be648f499
)
46 changes: 45 additions & 1 deletion Modules/Remote/BoneEnhancement.remote.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,49 @@
#-- # Grading Level Criteria Report
#-- EVALUATION DATE: 2020-03-01
#-- EVALUATORS: [<<NO EVALUATOR>>,<<NO EVALUATOR>>]
#--
#-- ## Compliance level 5 star (AKA ITK main modules, or remote modules that could become core modules)
#-- - [ ] Widespread community dependance
#-- - [ ] Above 90% code coverage
#-- - [ ] CI dashboards and testing monitored rigorously
#-- - [ ] Key API features are exposed in wrapping interface
#-- - [ ] All requirements of Levels 4,3,2,1
#--
#-- ## Compliance Level 4 star (Very high-quality code, perhaps small community dependance)
#-- - [ ] Meets all ITK code style standards
#-- - [ ] No external requirements beyond those needed by ITK proper
#-- - [ ] Builds and passes tests on all supported platforms within 1 month of each core tagged release
#-- - [ ] Windows Shared Library Build with Visual Studio
#-- - [ ] Mac with clang compiller
#-- - [ ] Linux with gcc compiler
#-- - [ ] Active developer community dedicated to maintaining code-base
#-- - [ ] 75% code coverage demonstrated for testing suite
#-- - [ ] Continuous integration testing performed
#-- - [ ] All requirements of Levels 3,2,1
#--
#-- ## Compliance Level 3 star (Quality beta code)
#-- - [ ] API | executable interface is considered mostly stable and feature complete
#-- - [ ] 10% C0-code coverage demonstrated for testing suite
#-- - [ ] Some tests exist and pass on at least some platform
#-- - [X] All requirements of Levels 2,1
#--
#-- ## Compliance Level 2 star (Alpha code feature API development or niche community/exectution environment dependance )
#-- - [X] Compiles for at least 1 niche set of execution envirionments, and perhaps others
#-- (may depend on specific external tools like a java environment, or specific external libraries to work )
#-- - [X] All requirements of Levels 1
#--
#-- ## Compliance Level 1 star (Pre-alpha features under development and code of unkown quality)
#-- - [X] Code complies on at least 1 platform
#--
#-- ## Compliance Level 0 star ( Code/Feature of known poor-quality or deprecated status )
#-- - [ ] Code reviewed and explicitly identified as not recommended for use
#--
#-- ### Please document here any justification for the criteria above
# Code style enforced by clang-format on 2020-02-19, and clang-tidy modernizations completed

itk_fetch_module(BoneEnhancement
"Various filters for enhancing cortical bones in quantitative computed tomography."
MODULE_COMPLIANCE_LEVEL 2
GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKBoneEnhancement.git
GIT_TAG d9069daaff0abd7c57ccba6427b02fcec4797362
GIT_TAG b29ba808b0468762769d5e32bbc7a97745478df2
)
Loading