Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
223 commits
Select commit Hold shift + click to select a range
da88996
ENH: Initial commit
thewtex Apr 24, 2015
3b13f47
ENH: Add module skeleton.
thewtex Apr 24, 2015
147ffc6
ENH: Merge pull request #2 from thewtex/module-skeleton
dzenanz Apr 24, 2015
14ee074
ENH: adding test data
dzenanz Apr 24, 2015
c494583
ENH: Merge pull request #8 from dzenanz/adding-test-data
thewtex Apr 24, 2015
79dc4ad
ENH: adding the rest of test data from Paul
dzenanz Apr 24, 2015
9b493ce
ENH: Merge pull request #10 from dzenanz/adding-more-data
thewtex Apr 24, 2015
43d594a
ENH: creating main filter class
dzenanz May 14, 2015
6b78b9f
WIP: created main filter, implementation of orientation determination in
dzenanz May 14, 2015
6d49312
WIP: added bounding boxes
dzenanz May 14, 2015
343f61f
WIP: slice detection and median voting done, InterpolateAlong needs t…
dzenanz May 15, 2015
8aa688e
ENH: using all images in tests
dzenanz May 15, 2015
7d5da36
WIP: code-review corrections
dzenanz May 18, 2015
4b1867a
ENH: Merge pull request #13 from dzenanz/started-implementation
thewtex May 19, 2015
bd09083
ENH: itk::FixedArray needs to be explicitly set to false
dzenanz May 19, 2015
ab277d4
WIP: fixing a bug in slice orientation detection
dzenanz May 19, 2015
96c5eb2
WIP: progress made, TODO: InterpolateBetweenTwo
dzenanz May 22, 2015
2249ef8
ENH: Getter and Setters for LabeledSlices
dzenanz May 22, 2015
003a7f8
WIP: detecting correspondences
dzenanz May 27, 2015
875626b
WIP: detected correspondences, TODO: pass correct parameters and impl…
dzenanz May 27, 2015
b82b034
WIP: style compliance and other minor changes
dzenanz May 28, 2015
97cf3db
WIP: adding handcrafted tests, parameters passed to Interpolate1toN f…
dzenanz Jun 1, 2015
68ed65a
WIP: does not crash, but wrong region ID pairs
dzenanz Jun 2, 2015
4b58c40
WIP: region correspondence between slice pairs debugged
dzenanz Jun 2, 2015
bb7aa65
WIP: started implementing alignment
dzenanz Jun 3, 2015
5ef7db5
ENH: Uncompressed versions of input test images
dzenanz Jan 4, 2016
bd916a8
ENH: Implemented alignment
dzenanz Jan 8, 2016
6e9f5e5
ENH: Deferred extrapolation to 1to1, added a test for it
dzenanz Jan 11, 2016
6e80e4c
STYLE: Cleanup: removing unused methods
dzenanz Jan 11, 2016
2579e23
ENH: Add support for building the module externally.
thewtex Jan 13, 2016
7ee4c2b
COMP: Remove unneeded typename.
thewtex Jan 13, 2016
a400518
COMP: Add missing typename keyword.
thewtex Jan 13, 2016
1ee0be3
STYLE: Use 'typename' instead of 'class' in template declarations.
thewtex Jan 13, 2016
d4d0e29
STYLE: Use ITK style in method definitions.
thewtex Jan 13, 2016
846f75a
STYLE: Use ITK_DELETE_FUNCTION.
thewtex Jan 13, 2016
c6dc99f
ENH: Merge pull request #17 from thewtex/docker
dzenanz Jan 13, 2016
cfa6f06
ENH: Implemented region splitting (converts 1toN into 1to1)
dzenanz Jan 12, 2016
32fb6a6
ENH: 1toN splits regions properly
dzenanz Jan 12, 2016
d1935bd
BUG: Fixing MtoN infinite loop
dzenanz Jan 13, 2016
eb32bdc
ENH: Implementing 1to1
dzenanz Jan 15, 2016
e3cae78
BUG: ironing out the bugs
dzenanz Jan 19, 2016
d2b50f1
BUG: Doesn't crash any more
dzenanz Jan 19, 2016
4715d29
STYLE: code review suggestions
dzenanz Jan 23, 2016
90b83be
ENH: easing testing using IDE
dzenanz Jan 23, 2016
332f0e0
BUG: Fixing slice skipping
dzenanz Jan 25, 2016
98219e0
ENH: more continuous sequence union
dzenanz Jan 25, 2016
f7dd1bd
ENH: clear the output image
dzenanz Jan 25, 2016
c1c5e68
ENH: combine per axis interpolates using last written rule instead of…
dzenanz Jan 25, 2016
ed1a60e
ENH: adding additional tests
dzenanz Jan 25, 2016
c667fde
ENH: 1toN match must intersect all subregions
dzenanz Jan 25, 2016
62e1ec1
ENH: better splitting of translation (using carry)
dzenanz Jan 25, 2016
945b2ff
ENH: different labels can be segmented on different slices
dzenanz Jan 26, 2016
15b4f9c
ENH: Adding tests and more aggressive heuristic
dzenanz Jan 26, 2016
62547bf
ENH: Connected components is using ball structuring element, so we ha…
dzenanz Jan 26, 2016
ab6e27b
STYLE: reordering tests (long at the end)
dzenanz Jan 26, 2016
5037cdf
BUG: adding some regression test cases
dzenanz Jan 27, 2016
498c38e
ENH: minor improvements
dzenanz Jan 27, 2016
33c8b51
ENH: adding per axis tests
dzenanz Jan 27, 2016
6ae266c
ENH: Merge pull request #19 from dzenanz/implementing-main-method
thewtex Jan 27, 2016
e1dbbaa
ENH: adding more per axis tests
dzenanz Jan 27, 2016
ab942c7
BUG: 1MN1 bug fixed and more regression tests
dzenanz Jan 28, 2016
6eb7088
ENH: limiting iteration count in Align()
dzenanz Jan 28, 2016
31ecd07
BUG: BigZ regression tests
dzenanz Jan 28, 2016
4d2810d
ENH: baseline for Paul's tests
dzenanz Jan 28, 2016
6a2b975
ENH: Merge pull request #24 from dzenanz/more-testing
thewtex Jan 29, 2016
2ce610e
ENH: avoid duplicate execution of connected components
dzenanz Mar 2, 2016
7047e5a
ENH: parallelizing InterpolateAlong() using C++11 threads
dzenanz Mar 4, 2016
052c7c3
ENH: Merge pull request #26 from dzenanz/master
thewtex Mar 16, 2016
2abde8b
ENH: Cross structuring element works in conjunction with FullyConnect…
dzenanz Mar 17, 2016
cef7ad8
ENH: Introducing variable for selection of core interpolation algorithm:
dzenanz Mar 17, 2016
92fd0ff
ENH: Switching to preexisting ThreadPool class
dzenanz Mar 17, 2016
d22594f
ENH: more aggressive paralellization
dzenanz Mar 18, 2016
1b8106d
ENH: Adding 2D and 4D tests
dzenanz Mar 18, 2016
6fd4501
ENH: Merge pull request #29 from dzenanz/master
thewtex Mar 21, 2016
29d4580
ENH: minor changes
dzenanz Mar 23, 2016
9287d99
ENH: Restricting to bounding box in Interpolate1to1
dzenanz Mar 24, 2016
fa95873
ENH: First implementation of distance map approach
dzenanz Mar 27, 2016
df889a4
ENH: Finalized non-geodesic distance transform
dzenanz Mar 28, 2016
f641524
ENH: Merge pull request #30 from dzenanz/master
thewtex Mar 28, 2016
a04bf4d
ENH: Reducing dimension of regions passed to findMedian
dzenanz Mar 30, 2016
02bd76b
ENH: Reducing dimension early on to reduce number of conversions
dzenanz Mar 31, 2016
afa116f
COMP: Removing 2D test which now does not compile
dzenanz Mar 31, 2016
16a2b1d
ENH: New baselines after thorough 2D refactoring
dzenanz Apr 1, 2016
b480fbb
STYLE: Started cleanup
dzenanz Apr 1, 2016
1a982a0
ENH: Avoiding the temporary output image reduces overall memory requi…
dzenanz Apr 1, 2016
9a4e480
ENH: Improving documentation and avoid passing of axis where not needed.
dzenanz Apr 1, 2016
f156de4
ENH: Reducing memory consumption by using the already allocated outpu…
dzenanz Apr 2, 2016
c875395
ENH: Enable setting custom slice positions
dzenanz Apr 2, 2016
ba970a4
ENH: Avoid grafting to enable working with RLEImages
dzenanz Apr 2, 2016
a8ba256
BUG: Fixing custom slice indices
dzenanz Apr 2, 2016
5e84f60
BUG: Fixing Doxygen error
dzenanz Apr 4, 2016
a77083b
ENH: Merge pull request #32 from dzenanz/master
thewtex Apr 4, 2016
7f5b5d0
ENH: Removing ThreadPool to keep C++98 compatibility
dzenanz Apr 4, 2016
0c1e9a4
COMP: Linux non C++11 compile fixes
dzenanz Jun 30, 2016
0a27fdd
ENH: Adding threadId parameter to manually create thread-local storag…
dzenanz Jul 1, 2016
1d970b6
ENH: Merge pull request #41 from dzenanz/master
vicory Jul 1, 2016
7a637be
ENH: Testing RLEImage
dzenanz Jul 1, 2016
29a63ef
BUG: Allowing filters to have more than one thread does not cause cra…
dzenanz Jul 1, 2016
0e38383
ENH: Whole writing loop mutexed
dzenanz Jul 1, 2016
c8fd9f5
ENH: GCC compatibility
dzenanz Jul 1, 2016
0912230
ENH: Mutexing iterator constructor
dzenanz Jul 1, 2016
93972ff
ENH: Merge pull request #42 from dzenanz/master
dzenanz Jul 5, 2016
06cd214
ENH: Finalizing custom slice positions
dzenanz Jul 12, 2016
7acc47d
ENH: Merge pull request #44 from dzenanz/master
dzenanz Jul 13, 2016
6f6d752
ENH: Only interpolating in the requested region
dzenanz Jul 13, 2016
fcef88c
ENH: reducing memory usage requirements
dzenanz Jul 13, 2016
e90a4f1
ENH: RequestedRegion works
dzenanz Jul 14, 2016
9193058
STYLE: Started code cleanup with integration of OverlayInput into Gen…
dzenanz Jul 14, 2016
e8252b9
ENH: Updating baseline output after reducing memory usage requirements
dzenanz Jul 14, 2016
00bb2af
ENH: Converting non-POD method parameters into (const) references
dzenanz Jul 14, 2016
45de58d
BUG: Removing WriteDebug and trailing space
dzenanz Jul 14, 2016
fbec02e
ENH: Merge pull request #45 from dzenanz/master
dzenanz Jul 15, 2016
8cb431e
ENH: simplifying dependency
dzenanz Jul 15, 2016
87fa0e7
ENH: Merge pull request #46 from dzenanz/master
dzenanz Jul 18, 2016
8305cb7
ENH: Testing and improvements
dzenanz Jul 19, 2016
922b8c4
ENH: Merge pull request #47 from dzenanz/master
dzenanz Jul 29, 2016
61469b3
DOC: Module docs say that testing requires RLEImage
dzenanz Aug 10, 2016
d849ce2
ENH: Merge pull request #49 from dzenanz/master
thewtex Aug 10, 2016
538108b
STYLE: Complying better with ITK style
dzenanz Aug 15, 2016
890fde6
ENH: Merge pull request #50 from dzenanz/master
thewtex Aug 16, 2016
4e371aa
ENH: Adding functional test
dzenanz Aug 18, 2016
01fe461
ENH: C++98 compliance
dzenanz Aug 19, 2016
049d4c7
ENH: Uncrustifying
dzenanz Aug 19, 2016
f1ba269
ENH: Merge pull request #51 from dzenanz/master
thewtex Aug 20, 2016
36ca564
STYLE: Cleanup of module specification
dzenanz Aug 22, 2016
7467f91
ENH: Merge pull request #52 from dzenanz/master
thewtex Aug 22, 2016
9d8fe10
COMP: Depend on RLEImage only when building standalone
dzenanz Aug 23, 2016
a843aa0
COMP: Use RLE version when available, more elegant CMake code
dzenanz Aug 24, 2016
2139ba1
ENH: Merge pull request #53 from dzenanz/master
thewtex Aug 24, 2016
a2cf13b
ENH: Uncrustify with finalized configuration
dzenanz Aug 24, 2016
49a1dff
ENH: RLEImage test OFF by default
dzenanz Aug 24, 2016
53512ab
BUG: Fixing warnings
dzenanz Aug 24, 2016
a498f5c
ENH: Merge pull request #54 from dzenanz/master
dzenanz Aug 24, 2016
e763e5f
BUG: Fixing more warnings
dzenanz Aug 24, 2016
efd1b2f
ENH: Merge pull request #55 from dzenanz/master
thewtex Aug 24, 2016
c060c0d
COMP: 3 signed/unsigned comparison warnings fixed
dzenanz Aug 25, 2016
a426c3e
ENH: Merge pull request #56 from dzenanz/master
thewtex Aug 25, 2016
b7aea13
COMP: Expand slice set assignment
thewtex Sep 20, 2017
2bf2b3b
COMP: Use std::abs
thewtex Sep 20, 2017
0e3e7fd
ENH: Add wrapping configuration
thewtex Sep 20, 2017
8420cb6
ENH: Merge pull request #57 from thewtex/wrapping
thewtex Sep 21, 2017
ccf0d21
COMP: Specify std:: prefix for pow
thewtex Sep 21, 2017
6c95f26
COMP: Replace std::abs with itk::Math::abs
thewtex Sep 22, 2017
8ec47ef
COMP: sqrt disambiguation
thewtex Sep 22, 2017
9779b3b
ENH: Merge pull request #59 from thewtex/pow
thewtex Sep 22, 2017
9ca124e
ENH: Minor improvements
dzenanz Sep 28, 2017
c0db382
ENH: Running tests on all algorithms
dzenanz Sep 28, 2017
df232a2
ENH: Adding RUNS_LONG label to some tests
dzenanz Sep 28, 2017
fd49f32
COMP: Simplifying CMake code
dzenanz Sep 28, 2017
25c87a8
ENH: Making RLEImage a testing dependency
dzenanz Sep 29, 2017
7363fd7
ENH: More elegant declaration of short/long tests
dzenanz Sep 29, 2017
577469e
ENH: Adding labels to distinguish RLE from plain ITK image tests
dzenanz Sep 29, 2017
b7d8f49
ENH: Merge pull request #63 from dzenanz/testing-improvements
dzenanz Sep 29, 2017
0e64247
BUG: fix random tests failure with parallel invocation
dzenanz Nov 20, 2017
eac8a8c
ENH: Merge pull request #64 from dzenanz/master
dzenanz Nov 20, 2017
eb89261
COMP: Remove reliance on deprecated code
hjmjohnson Dec 16, 2017
2e53124
ENH: ITKv5 override consistency
hjmjohnson Dec 17, 2017
b7099d8
ENH: Merge pull request #65 from dzenanz/v5preparation
dzenanz Jan 10, 2018
ec73f7d
ENH: Invoking itk_module_examples() macro
dzenanz Jan 15, 2018
5295ea9
ENH: Merge pull request #66 from dzenanz/master
dzenanz Jan 16, 2018
6fd2d8f
ENH: Require cmake minimum version to be 3.9.5.
Jan 19, 2018
a3deebf
COMP: Merge pull request #68 from jhlegarreta/ChangeRequiredCMakeMini…
dzenanz Jan 19, 2018
730a3e5
COMP: Use C++11 override directly
hjmjohnson Dec 17, 2017
8d57545
COMP: Use nullptr instead of 0 or NULL
hjmjohnson Dec 17, 2017
f5e2f61
ENH: Merge pull request #67 from KitwareMedical/ITKv5
hjmjohnson Jan 22, 2018
72bad8f
STYLE: Prefer C++11 type alias over typedef
hjmjohnson Feb 13, 2018
74bb58e
COMP: Use C++11 = delete directly
hjmjohnson Feb 13, 2018
05988dc
STYLE: Prefer constexpr for const numeric literals
hjmjohnson Feb 13, 2018
5ffc52e
STYLE: Merge pull request #69 from KitwareMedical/ITKv5Style
hjmjohnson Feb 13, 2018
faf0055
ENH: Using MultiThreaderBase
dzenanz Feb 24, 2018
db97b18
ENH: Merge pull request #71 from dzenanz/master
dzenanz Apr 2, 2018
920c2c3
COMP: Move ITK_DISALLOW_COPY_AND_ASSIGN calls to public section.
Apr 14, 2018
88490c1
ENH: Merge pull request #72 from jhlegarreta/MoveDISALLOWCOPYANDASSIG…
hjmjohnson Apr 14, 2018
35d8fb1
COMP: Set the minimum required CMake version to 3.10.2.
May 5, 2018
da5a611
COMP: Merge pull request #73 from jhlegarreta/UpdateCMakeMinimumRequi…
dzenanz May 5, 2018
56258d4
COMP: adjusting to split between threads and work units in ITKv5
dzenanz Aug 1, 2018
a724324
ENH: Merge pull request #74 from dzenanz/workUnits
dzenanz Aug 2, 2018
017a693
ENH: switching to ITKv5 threading model
dzenanz Aug 27, 2018
223d5e4
STYLE: method-local variables do not follow member-name pattern
dzenanz Aug 27, 2018
cfcb33a
ENH: Merge pull request #75 from dzenanz/master
dzenanz Sep 17, 2018
c77c865
ENH: Removing outdated links
dzenanz Oct 15, 2018
c2f3168
ENH: remove redundant/unused input files
dzenanz Oct 15, 2018
b6d573f
ENH: Replacing MD5 hashes by SHA512 hashes in test baseline data
dzenanz Oct 15, 2018
2367bca
ENH: Replacing MD5 hashes by SHA512 hashes in test input data
dzenanz Oct 15, 2018
0bea9ed
BUG: explicitly request 0 background value
dzenanz Oct 16, 2018
62879fd
ENH: Merge pull request #76 from dzenanz/master
thewtex Oct 17, 2018
83b3aa1
ENH: switch from ITK's mutex wrapper to std::mutex
dzenanz Oct 20, 2018
a80813b
ENH: Merge pull request #78 from dzenanz/master
thewtex Oct 22, 2018
ec98a03
STYLE: Change to enum to new enum class definitions
mseng10 Aug 23, 2019
d589668
ENH: Merge pull request #83 from mseng10/enh-move-enum-class-modules
thewtex Aug 29, 2019
4c31f1f
COMP: follow rename of ImageIOFactory FileModeType into FileModeEnum
dzenanz Dec 11, 2019
6a7ff17
COMP: use STL's unordered map instead of KWSYS's hash map
dzenanz Feb 17, 2020
757260d
ENH: update enums to match recent changes in ITK
dzenanz Feb 17, 2020
858f8ef
ENH: Add .gitattributes to allow running ITK clang-formatting scripts
hjmjohnson Feb 19, 2020
10440d7
STYLE: Prefer = default to explicitly trivial implementations
hjmjohnson Feb 17, 2020
318fe79
STYLE: Use default member initialization
hjmjohnson Feb 17, 2020
a67cb93
STYLE: Use auto for variable type matches the type of the initializer
hjmjohnson Feb 18, 2020
65714ff
PERF: readability container size empty
hjmjohnson Feb 18, 2020
3172c8a
DOC: Update copyright assignment to NumFOCUS
hjmjohnson Feb 19, 2020
d105991
STYLE: Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE
mseng10 Oct 14, 2020
3483c94
ENH: build examples as part of CI testing
dzenanz Jan 27, 2021
cd77c58
ENH: Merge pull request #96 from dzenanz/master
thewtex Jan 28, 2021
5697399
ENH: Add a flag to enable/disable extrapolation
Mar 16, 2021
af6eba4
COMP: Remove inclusion of .hxx files as headers
hjmjohnson Dec 17, 2021
d2009e1
STYLE: Prefer itk::Math::abs for consistency.
hjmjohnson Dec 17, 2021
6fc5841
ENH: Updating MCI for ITK 5.3RC3
dzenanz Mar 1, 2022
8497012
ENH: Bump ITK version and apply http to https reformatting
tbirdso May 31, 2022
aaae5b7
STYLE: Use trailing return type instead of typename + dependent type
dzenanz Apr 26, 2023
806a214
ENH: Bump setup.py and CI to use ITK v5.4 rc2
aylward Dec 17, 2023
b7cdc61
ENH: Eliminate old compiler requirements
aylward Dec 17, 2023
9544e1b
ENH: Add wasm configuration
thewtex Feb 15, 2024
ee8d75b
ENH: Merge pull request #115 from thewtex/wasm
thewtex Feb 15, 2024
47b7d12
ENH: Merge branch 'master' into BumpITKv4.5rc2
thewtex Apr 16, 2024
7c3986d
ENH: Remove unused variable and commented code block
jhlegarreta Jan 23, 2025
61f2928
COMP: Use modern macro for name of class
hjmjohnson Jan 25, 2025
39d71aa
ENH: Convert from md5 to .cid tags.
hjmjohnson Apr 22, 2026
73075f8
ENH: Merge pull request #146 from hjmjohnson/update-cid-tags
hjmjohnson Apr 23, 2026
50186c0
ENH: Ingest ITKMorphologicalContourInterpolation into Modules/Filtering
hjmjohnson May 4, 2026
c69d8d1
DOC: Add MorphologicalContourInterpolation README pointing at upstream
hjmjohnson May 4, 2026
53cedb6
COMP: Remove MorphologicalContourInterpolation .remote.cmake (in-tree)
hjmjohnson May 4, 2026
31a6904
ENH: Enable Module_MorphologicalContourInterpolation in configure-ci
hjmjohnson May 4, 2026
23bcfbf
COMP: Drop dead boilerplate from MorphologicalContourInterpolation CM…
hjmjohnson May 6, 2026
fb04c62
BUG: Replace thread_local SmartPointers with local variables in MCI
hjmjohnson May 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
project(MorphologicalContourInterpolation)

itk_module_impl()

itk_module_examples()
201 changes: 201 additions & 0 deletions Modules/Filtering/MorphologicalContourInterpolation/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
https://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright {yyyy} {name of copyright owner}

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
34 changes: 34 additions & 0 deletions Modules/Filtering/MorphologicalContourInterpolation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# MorphologicalContourInterpolation

In-tree ITK module providing filters that interpolate manually
segmented anatomical contours through volumetric label data, using
morphological reconstruction techniques. The result is a 3D label
mask reconstructed from a sparse set of 2D contours drawn on
arbitrary slices.

The flagship class is `itk::MorphologicalContourInterpolator`.

## Origin

Ingested from the standalone remote module
[**KitwareMedical/ITKMorphologicalContourInterpolation**](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation)
on 2026-05-04 via the v4 ingestion pipeline. The upstream repository
will be archived read-only after this PR merges; it remains
reachable at the URL above for historical reference (including the
`examples/`, `wasm/`, and `doc/` directories which were intentionally
left in the upstream archive).

## Test dependency on RLEImage

This module's tests `TEST_DEPENDS` on `RLEImage` (also in-tree at
`Modules/Filtering/RLEImage/`). Setting both
`Module_MorphologicalContourInterpolation:BOOL=ON` and
`Module_RLEImage:BOOL=ON` enables the full test set; with only the
former the module library still builds and is usable, but the
RLEImage-flavored tests are not configured.

## References

- Zukić D., Vlašić-Cicvarić I., Beichel R.R., Sonka M., Hodgdon T.,
Aylward S. *Interpolation of label maps from morphological contour
data.* The Insight Journal. 2016. <https://doi.org/10.54294/ux2obj>
Loading
Loading