ENH: Ingest ITKParabolicMorphology into Modules/Filtering#6260
Conversation
darcs-hash:20051109122716-2fc9d-acb27dbff3dc34f3fbd2fc8cb97a131115267015.gz
darcs-hash:20051109131808-2fc9d-bda793d1f6d093383391578ab1c9190a3dc5c433.gz
darcs-hash:20051109132011-2fc9d-7679cc77ecd65e27e5cf37066d1d752b81a40161.gz
darcs-hash:20051109132233-2fc9d-315108934bf2954cd94e927ca46159eff911f492.gz
darcs-hash:20051109202401-2fc9d-20efe8d390feba8f9cb800a162639e5138f81042.gz
darcs-hash:20051109203041-2fc9d-f48fd76e0608a3b1cb403c37f4bf5ae2cc602046.gz
darcs-hash:20051109203242-2fc9d-483e94e9f2c525b9158fbc5536df82c13e5f68ac.gz
darcs-hash:20051109203654-2fc9d-c1a55843ff51b11e66c479d4448f5adf4c9c0174.gz
darcs-hash:20051121102604-2fc9d-e7d217544f07bdc56d59a97b12447138bbe63367.gz
darcs-hash:20051229172925-2fc9d-e44c67bb82cf94aed7d4aa50f252771ba352994c.gz
darcs-hash:20051229173159-2fc9d-ad652881b1c2926f6b88b19d37043e6bcb8b15e2.gz
darcs-hash:20060118155157-2fc9d-7c0bf62f4b97729564aaaa6315de7e025b0dff6d.gz
darcs-hash:20060130114001-2fc9d-4284e491de9dc2e195efdf3c34857f2b1c3ea7f5.gz
darcs-hash:20060130114252-2fc9d-616afd60eac3ecb7f4bca7e62b977cef636c8d64.gz
darcs-hash:20060313211001-2fc9d-c274c1221639324944b9181033327abc4a26d46e.gz
darcs-hash:20060313211841-2fc9d-f3f644c13719c470df5ced82474f783a6338a257.gz
darcs-hash:20070719124051-2fc9d-2ed957c0a30670f0a25f35130893bfcee76a93e0.gz
darcs-hash:20071016023313-fafb9-6b618b217687b06e15d28c95a57841e1b6fe313d.gz
darcs-hash:20071018022319-fafb9-6ba31a630281c4f507ab1641154b5cc34b6615c7.gz
darcs-hash:20070227143716-2fc9d-0e4eaae030f1fb2523fdd328975b536b53a0f9d0.gz
darcs-hash:20071019202737-2fc9d-cf809ce7b480aec8389644b5dedc1e276b43918f.gz
darcs-hash:20071115005618-fafb9-849f9d3c4e6fa1f4d3e373578428b24fdff3b284.gz
darcs-hash:20071210032255-fafb9-bf67e0e1f84bf6970b2c24cf0d08e61d963b9f83.gz
darcs-hash:20080101104633-fafb9-07162096bea8fb67cb98a94c45d36d197db59177.gz
darcs-hash:20080103112216-fafb9-30dda179bfd5313bd05a6fff8d662c3ceaac11c6.gz
darcs-hash:20080105102549-fafb9-d53a3a204e68c8f3c99c05d8e33b2c5c122baf01.gz
darcs-hash:20080217230221-fafb9-e2bc1ff1bd782df5479bbee817d0b36e8f8c2a3f.gz
darcs-hash:20080218023315-fafb9-5905d42ee6dfe0d77e3253408d57187c32bff033.gz
darcs-hash:20080218052634-fafb9-831283dc79fe86a5384589dce479c608d155d76c.gz
darcs-hash:20080906230217-fafb9-e43a83bcd898a382866783bb189664a36b1f035d.gz
Addressed compile time warnings, as observed by Richard Beare, InsightSoftwareConsortium/ITKParabolicMorphology#48 (comment) For the record, the first unused `count` variable appears introduced in itkParabolicMorphUtils.h with commit 5f61892, "almost working version of intersection algorithm...", 29 February 2012.
…move-unused-count-variables STYLE: Remove unused local `count` variables from `doOneDimension`
…mberOfRows-only-for-CurrentDimensi on STYLE: Compute numberOfRows only for the current dimension
ProcessObject::MultiThreaderType is deprecated. Use itk::MultiThreaderBase directly to silence -Wdeprecated-declarations warnings that cause the CTest dashboard to report build failures. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…wareConsortium/update-ci-v5.4.6 COMP: Update ITKRemoteModuleBuildTestPackageAction to v5.4.6
|
| Filename | Overview |
|---|---|
| Modules/Filtering/ParabolicMorphology/itk-module.cmake | New in-tree module declaration with correct DEPENDS, TEST_DEPENDS, EXCLUDE_FROM_DEFAULT, and a static DESCRIPTION with DOI link; replaces the stale remote-module scaffolding. |
| Modules/Filtering/ParabolicMorphology/include/itkParabolicErodeDilateImageFilter.hxx | Core threaded erode/dilate implementation; uses legacy DynamicMultiThreadingOff + custom SplitRequestedRegion. Functionality is correct; contains commented-out debug code and an #if 1 guard around standard overrides (cosmetic carry-over from upstream). |
| Modules/Filtering/ParabolicMorphology/include/itkBinaryDilateParabolicImageFilter.h | Header for the binary dilation filter; Doxygen brief incorrectly says "erosion operation" instead of "dilation operation" — copy-paste error from the erode header carried in from upstream. |
| Modules/Filtering/ParabolicMorphology/include/itkBinaryDilateParabolicImageFilter.hxx | Implementation for binary dilation; has a duplicate #include "itkProgressAccumulator.h" (same in Erode/Close/Open hxx files) carried from upstream, harmless due to guards but should be cleaned up. |
| Utilities/Maintenance/RemoteModuleIngest/sanitize-history.py | Adds patch_drop_module_scaffolding (itk_module_examples, cmake_policy, doc-build blocks) and fixes is_skip_content to allow hash sidecars to receive trailing-newline fixup. The _DOC_IF_BLOCK_RE lazy match may incorrectly stop at a nested endif inside doc-build blocks, leaving malformed CMake. |
| Utilities/Maintenance/RemoteModuleIngest/ingest-module-v4.sh | Adds deny-passes for editor backup files (*~), and unconditionally strips LICENSE/COPYING files from ingested history without any warning — safe for Apache-2.0 modules but could silently drop attribution for future modules with different licenses. |
| Modules/Filtering/ParabolicMorphology/wrapping/CMakeLists.txt | Wrapping entry point listing all 11 filters in correct dependency order with itk_wrap_module/itk_end_wrap_module bookends; newly added binary filters are properly appended. |
| Modules/Remote/ParabolicMorphology.remote.cmake | Remote-module fetch descriptor correctly deleted now that the module is ingested in-tree. |
| pyproject.toml | Adds -DModule_ParabolicMorphology:BOOL=ON to the configure-ci CMake invocation so the module is built and tested in CI. |
Reviews (1): Last reviewed commit: "STYLE: Rename Binary*Para to Binary*Para..." | Re-trigger Greptile
Brings ParabolicMorphology from a configure-time remote fetch into the ITK source tree at Modules/Filtering/ParabolicMorphology/ using the v4 ingestion pipeline (whitelist filter-repo + per-commit clang-format + black + commit-prefix sanitization). Upstream repo: https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology.git Upstream tip: a983b191ca9b81a3100a4b8943e89a004a08eb14 Ingest date: 2026-05-12 Whitelist: ParabolicMorphology.list Per-commit transforms applied across all 188 commits: - filter-repo --paths-from-file (whitelist) - filter-repo --to-subdirectory-filter Modules/Filtering/ParabolicMorphology - clang-format -style=file (ITK main's .clang-format) for *.cxx/.h/.hxx/... - black for *.py - heuristic ITK prefix added to commit subjects without one Merge topology preserved: 47 -> 32 merge(s). Primary author: Richard Beare <richard.beare@monash.edu> Co-authored-by: Bradley Lowekamp <blowekamp@mail.nih.gov> Co-authored-by: Dženan Zukić <dzenan.zukic@kitware.com> Co-authored-by: Francois Budin <francois.budin@kitware.com> Co-authored-by: gaetan.lehmann <gaetan.lehmann@jouy.inra.fr> Co-authored-by: Hans Johnson <hans-johnson@uiowa.edu> Co-authored-by: Hans Johnson <hans.j.johnson@gmail.com> Co-authored-by: Jon Haitz Legarreta <jhlegarreta@vicomtech.org> Co-authored-by: Jon Haitz Legarreta Gorroño <jon.haitz.legarreta@gmail.com> Co-authored-by: Mathew Seng <mathewseng@gmail.com> Co-authored-by: Matt McCormick <matt.mccormick@kitware.com> Co-authored-by: Matt McCormick <matt@fideus.io> Co-authored-by: Matt McCormick <matt@mmmccormick.com> Co-authored-by: Niels Dekker <N.Dekker@lumc.nl> Co-authored-by: Richard Beare <Richard.Beare@gmail.com> Co-authored-by: richardb <none> Co-authored-by: Tom Birdsong <tom.birdsong@kitware.com> Co-authored-by: Zach Williamson <zachary-williamson@uiowa.edu>
- Drop WRAPPER_SUBMODULE_ORDER list (filters are independent; itk_auto_load_submodules handles them without explicit ordering). - Fix Doxygen brief on BinaryDilateParabolicImageFilter (said erosion). - Remove duplicate #include of itkProgressAccumulator.h in four Binary* parabolic .hxx files.
23523cc to
c897d2d
Compare
|
@copilot resolve the merge conflicts in this pull request and squash to original |
b22f64c
into
InsightSoftwareConsortium:main
Ingests ITKParabolicMorphology into
Modules/Filtering/ParabolicMorphology/via the v4 two-phase pipeline (#6204). Stacked oningest-strategy-v4; rebases cleanly ontomainonce #6204 lands. Tracking: #6160.What landed
Modules/Filtering/ParabolicMorphology/withinclude/,test/,wrapping/,CMakeLists.txt,itk-module.cmake,README.md. Mode-A--no-ff --allow-unrelated-historiesmerge preserves 33 merges + 164 non-merge commits from upstream (git blamewalks back to Richard Beare and other historical contributors).Follow-up commits (per
INGESTION_STRATEGY_v4.md):DOC: Add ParabolicMorphology README pointing at upstreamCOMP: Remove ParabolicMorphology .remote.cmake (in-tree)ENH: Enable Module_ParabolicMorphology in configure-cipyproject.tomlCI matrixPre-submission review applied (4 additional commits):
DOC: Add Beare 2008 IJ reference to README1926/1370COMP: Restore DESCRIPTION and add maintainer in itk-module.cmake.remote.cmake; replace stale upstream comment blockENH: Add Python wrapping for binary filters.wrapfiles (BinaryClose/Dilate/Erode/OpenPara) + Sharpening added toWRAPPER_SUBMODULE_ORDERSTYLE: Remove unused IJMacros.txt scaffoldingtest/CMakeLists.txtSTYLE: Rename Binary*Para to Binary*ParabolicParabolic*ImageFilterclassesLocal verification
pre-commit run --all-files— ✅ cleanpixi run -e cxx configure-ci— ✅ Module_ParabolicMorphology:BOOL=ONcmake --build build -j10— ✅ 350/350 targets after rename, 1084/1084 from full buildctest -R "Para|Parabolic" -j4— ✅ 20/20 ParabolicMorphology tests pass (2 meta + 18 computational across erode / dilate / open / close / sharpen / DT / spacing / binary morphology)Topology check:
git rev-list --merges upstream/main..HEAD= 33 merges preserved (no linearization perfeedback_ingest_merge_topology).Phase B follow-up (deferred until this PR merges)
After merge, the standalone upstream archival is published via:
This runs the deletion commit on the upstream
ITKParabolicMorphologyrepo, promotesMIGRATION_README.md→README.md(perfeedback_ingest_archive_readme.md), and flipsarchived=true. Gated on this PR landing per the v4 strategy.