-
Notifications
You must be signed in to change notification settings - Fork 2
ENH: Add CHOP-Valve4D auto-download; restructure dataset docs #82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -31,7 +31,7 @@ network_weights | |
| # Data files | ||
| *.gz | ||
| *.mat | ||
| *.mhd | ||
| *.mha | ||
| *.raw | ||
| *.zip | ||
| *.nii | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| # CHOP-Valve4D | ||
|
|
||
| ## Download | ||
|
|
||
| Download this dataset automatically with: | ||
|
|
||
| ```bash | ||
| physiotwin4d-download-data CHOP-Valve4D --directory data/CHOP-Valve4D | ||
| ``` | ||
|
|
||
| or from Python: | ||
|
|
||
| ```python | ||
| from physiotwin4d import DataDownloadTools | ||
|
|
||
| DataDownloadTools.DownloadCHOPValve4DData("data/CHOP-Valve4D") | ||
| assert DataDownloadTools.VerifyCHOPValve4DData("data/CHOP-Valve4D") | ||
| ``` | ||
|
|
||
| This downloads and extracts three zip archives attached to the | ||
| [PhysioTwin4D 2026.07.1 GitHub release](https://github.com/Project-MONAI/physiotwin4d/releases/tag/2026.07.1) | ||
| into matching subdirectories: | ||
|
|
||
| | Release asset | Extracted into | Contents | Size | | ||
| | ----------------------------- | --------------- | ------------------------------------------- | ------- | | ||
| | `CHOP-Valve4D-Alterra.zip` | `Alterra/` | Alterra valve mesh time series (`.vtk`) | >1 GB | | ||
| | `CHOP-Valve4D-TPV25.zip` | `TPV25/` | TPV25 valve mesh time series (`.vtk`) | >1 GB | | ||
| | `CHOP-Valve4D-CT.zip` | `CT/` | Source CT volume + Simpleware segmentation | — | | ||
|
|
||
| A subdirectory that already contains files is left alone, so re-running the | ||
| command resumes an interrupted download. | ||
|
aylward marked this conversation as resolved.
Comment on lines
+30
to
+31
|
||
|
|
||
| **Directory structure after download:** | ||
| ``` | ||
| data/CHOP-Valve4D/ | ||
| ├── Alterra/ | ||
| │ ├── frame_0000.vtk | ||
| │ ├── frame_0001.vtk | ||
| │ └── ... | ||
| ├── TPV25/ | ||
| │ ├── frame_0000.vtk | ||
| │ ├── frame_0001.vtk | ||
| │ └── ... | ||
| ├── CT/ | ||
| │ ├── RVOT28-Dias.nii.gz (or .mha) | ||
| │ └── Simpleware/ | ||
| │ └── parts/ | ||
| └── README.md (this file) | ||
| ``` | ||
|
aylward marked this conversation as resolved.
|
||
|
|
||
| ## Overview | ||
|
|
||
| Time-varying 4D valve reconstruction models showing transcatheter | ||
| pulmonary valve motion over the cardiac cycle, derived from an FEBio | ||
| finite-element simulation of an Alterra valve deployed in a native right | ||
| ventricular outflow tract (RVOT). | ||
|
|
||
| ### Original Data | ||
|
|
||
| The source data is an FEBio finite-element model (`.feb`) published by the | ||
| Jolley Lab at CHOP (Children's Hospital of Philadelphia). This repository | ||
| does not redistribute the source `.feb` file — it is available from the | ||
| FEBio website: | ||
|
|
||
| - Project page: https://repo.febio.org/permalink/project/136 | ||
| - Direct download: https://repo.febio.org/modelRepo/api/v1.05/files/0/136 | ||
|
|
||
| ### Converted Data (PhysioTwin4D Convenience Release) | ||
|
|
||
| As a convenience, PhysioTwin4D converts the original FEBio geometry to VTK | ||
| (surface and volumetric meshes) and ITK (image) formats, and also provides | ||
| a Simpleware segmentation derived from the model. These converted files are | ||
| what the `physiotwin4d-download-data CHOP-Valve4D` command above fetches; | ||
| they are not tracked in this git repository. The original citation and | ||
| license terms below still apply to this converted data. | ||
|
|
||
| ### Citation | ||
|
|
||
| Zelonis, C. N., Maheshwari, J., Wu, W., Maas, S. A., Aslan, S., Sunderland, K., | ||
| ... & Jolley, M. A. (2025). Integrated Open-Source Framework for Simulation of | ||
| Transcatheter Pulmonary Valves in Native Right Ventricular Outflow Tracts. arXiv | ||
| preprint arXiv:2507.06337. | ||
|
|
||
| ### Acknowledgement | ||
|
|
||
| Data provided by the Jolley Lab at CHOP (Children's Hospital of | ||
| Philadelphia): | ||
| - https://www.linkedin.com/company/jolleylab | ||
|
|
||
| ## Using This Dataset | ||
|
|
||
| - Time-series VTK to USD conversion (`experiments/Convert_VTK_To_USD/`) | ||
| - 4D valve motion visualization in NVIDIA Omniverse | ||
| - Temporal cardiac mechanics analysis | ||
| - Valve dynamics studies and surgical planning | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T00.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T10.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T20.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T30.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T40.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T50.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T60.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T70.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T80.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 512 512 120 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case10Pack/Images/case10_T90.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T00_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T10_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T20_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T30_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T40_s.img | ||
|
Comment on lines
+1
to
+11
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Committed
Consider updating 🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T50_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T60_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T70_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T80_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 94 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 0.97 0.97 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case1Pack/Images/case1_T90_s.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 112 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 1.16 1.16 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case2Pack/Images/case2_T00-ssm.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 112 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 1.16 1.16 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case2Pack/Images/case2_T10-ssm.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 112 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 1.16 1.16 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case2Pack/Images/case2_T20-ssm.img |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| ObjectType = Image | ||
| NDims = 3 | ||
| DimSize = 256 256 112 | ||
| HeaderSize = -1 | ||
| BinaryData = True | ||
| BinaryDataByteOrderMSB = False | ||
| Orientation = 1 0 0 0 1 0 0 0 -1 | ||
| ElementSpacing = 1.16 1.16 2.5 | ||
| ElementType = MET_SHORT | ||
| ElementNumberOfChannels = 1 | ||
| ElementDataFile = Case2Pack/Images/case2_T30-ssm.img |
Uh oh!
There was an error while loading. Please reload this page.