Skip to content

Commit b641bf1

Browse files
committed
DOC: Add MultipleImageIterator README and clean module scaffolding
- Add README pointing at archived upstream. - Replace upstream COMPILE_DEPENDS with DEPENDS ITKCommon (header-only template). - Inline DESCRIPTION instead of multi-line set(DOCUMENTATION). - Add \ingroup ImageIterators topical tag.
1 parent 7536dde commit b641bf1

3 files changed

Lines changed: 29 additions & 21 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# MultipleImageIterator
2+
3+
In-tree ITK module providing `itk::MultipleImageIterator`, a single
4+
iterator that walks any number of co-registered images in lockstep.
5+
The iterator returns a `std::vector` of pixel values (or references)
6+
at each position, simplifying multi-channel processing without the
7+
boilerplate of synchronizing N separate iterators.
8+
9+
## Origin
10+
11+
Ingested from the standalone remote module
12+
[**KitwareMedical/MultipleImageIterator**](https://github.com/KitwareMedical/MultipleImageIterator)
13+
on 2026-05-12, following the v4 ingestion guidelines defined in
14+
InsightSoftwareConsortium/ITK#6204. Placed under `Modules/Core/` to
15+
match the placement of other ITK iterators (`itkImageRegionIterator`,
16+
`itkNeighborhoodIterator`). The upstream repository will be archived
17+
read-only after this PR merges; it remains reachable at the URL above
18+
for historical reference.
19+
20+
## References
21+
22+
- Schaerer J. *A MultipleImageIterator for iterating over multiple
23+
images simultaneously.* The Insight Journal. December 2014.
24+
<https://doi.org/10.54294/e5lmyz>

Modules/Core/MultipleImageIterator/include/itkMultipleImageIterator.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ namespace itk
2929
* All iterators must
3030
* - point to images of the same type
3131
* - be of the same size (number of values from begin to end)
32+
* \ingroup ImageIterators
3233
* \ingroup MultipleImageIterator */
3334
template <typename TIterator>
3435
class MultipleImageIterator
Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,11 @@
1-
set(
2-
DOCUMENTATION
3-
"Several applications such as multi-atlas segmentation
4-
require frequent iteration over multiple image volumes at the same time.
5-
Doing so with the regular ITK iterators is tedious and error prone
6-
as it requires updating each iterator at end of each iteration.
7-
Failing to do so results in hard to debug errors and crashes.
8-
The MultipleImageIterator is a simple wrapper class that tries to make this more convenient.
9-
10-
A more detailed description can be found in the Insight Journal article::
11-
Schaerer J. \"A MultipleImageIterator for iterating over multiple images simultaneously\".
12-
https://hdl.handle.net/10380/3455
13-
https://www.insight-journal.org/browse/publication/915
14-
December, 2014.
15-
"
16-
)
17-
1+
# Maintainer: Joel Schaerer
182
itk_module(
193
MultipleImageIterator
20-
# DEPENDS
21-
# ITKCommon
22-
COMPILE_DEPENDS
4+
DEPENDS
235
ITKCommon
246
TEST_DEPENDS
257
ITKTestKernel
268
EXCLUDE_FROM_DEFAULT
27-
DESCRIPTION "${DOCUMENTATION}"
9+
DESCRIPTION
10+
"An iterator wrapper that walks multiple co-registered images in lockstep, returning a std::vector of pixel values at each position. https://doi.org/10.54294/e5lmyz"
2811
)

0 commit comments

Comments
 (0)