Skip to content

Commit a956ff7

Browse files
authored
ENH: Add multi-object VTK→USD workflow and Greedy image registration
- Add WorkflowConvertVTKToUSD for converting multi-object VTK scenes to animated USD with per-anatomy material assignment and colormap overlays - Add CLI command convert_vtk_to_usd for batch/scripted VTK→USD conversion - Add RegisterImagesGreedy wrapping the Greedy deformable registration tool as an alternative to ANTs/ICON; includes tests - Extend vtk_to_usd subpackage with mesh_utils (split by type/connectivity, colormap allocation) and enhance converter and data_structures - Enhance USDTools and USDAnatomyTools for multi-label anatomy and time-varying data preservation - Add CHOP Alterra valve and TPV25 valve USD conversion notebooks
1 parent 376f84f commit a956ff7

41 files changed

Lines changed: 3018 additions & 4318 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.pre-commit-config.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,16 @@ repos:
2727
pass_filenames: false
2828
files: ^src/
2929

30+
# Strip notebook outputs and widget state when notebooks are committed
31+
- repo: local
32+
hooks:
33+
- id: prepare-notebooks-for-commit
34+
name: Prepare notebooks for commit (strip outputs and widget state)
35+
entry: python utils/prepare_notebooks_for_commit.py
36+
language: system
37+
pass_filenames: false
38+
files: \.ipynb$
39+
3040
# Local tests (optional - can be disabled if too slow)
3141
- repo: local
3242
hooks:

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,7 @@ pytest tests/ -m "not slow and not requires_data" -v
560560
pytest tests/test_usd_merge.py -v # USD merge functionality
561561
pytest tests/test_usd_time_preservation.py -v # Time-varying data preservation
562562
pytest tests/test_register_images_ants.py -v # ANTs registration
563+
pytest tests/test_register_images_greedy.py -v # Greedy registration
563564
pytest tests/test_register_images_icon.py -v # Icon registration
564565
pytest tests/test_register_time_series_images.py -v # Time series registration
565566
pytest tests/test_segment_chest_total_segmentator.py -v # TotalSegmentator

docs/developer/architecture.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ The package is organized into functional modules:
5959
│ ├── Image Registration
6060
│ │ ├── register_images_base.py Base registration
6161
│ │ ├── register_images_ants.py ANTs registration
62+
│ │ ├── register_images_greedy.py Greedy registration
6263
│ │ ├── register_images_icon.py ICON registration
6364
│ │ └── register_time_series_images.py Time series
6465
│ │

docs/testing.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ Specific Test Modules
7171
7272
# Registration (slow, ~5-10 minutes each)
7373
pytest tests/test_register_images_ants.py -v
74+
pytest tests/test_register_images_greedy.py -v
7475
pytest tests/test_register_images_icon.py -v
7576
pytest tests/test_register_time_series_images.py -v
7677
@@ -107,6 +108,7 @@ Tests are organized by functionality:
107108
108109
├── Registration Tests (Slow ~5-10 min)
109110
│ ├── test_register_images_ants.py # ANTs registration
111+
│ ├── test_register_images_greedy.py # Greedy registration
110112
│ ├── test_register_images_icon.py # Icon registration
111113
│ └── test_register_time_series_images.py # Time series registration
112114

0 commit comments

Comments
 (0)