Implementation of Can point cloud networks learn statistical shape models of anatomies? to be presented at MICCAI 2023. Please cite the paper if you use this code.
SSM visualizations and analysis were completed using the ShapeWorks toolkit.
The data/
folder contains the generated proof-of-concept ellipsoid data as well as the aligned spleen and pancreas datasets created from the public Medical Segmentation Decathlon data. The femur and left atrium datasets included in the paper are not publicly available.
To install, call source setup.sh
.
This will create a conda environment called PointCompletionSSM
and compile the PyTorch 3rd-party modules (ChamferDistancePytorch, emd, expansion_penalty, MDS, Pointnet2.PyTorch)
- To train a model, run
python train.py -c *.yaml
, e.g.,python train.py -c cfgs/ellipsoids/pcn.yaml
. This will save the network and training log to an output folder in theexperiments/
directory with an updated yaml file. - To test a model, run
python test.py -c *.yaml
, e.g.,python train.py -c experiments/ellipsoids/pcn/pcn.yaml
. This outputs a test log and saves the predicted points. - The configs for each experiment reported in the paper can be found in
cfgs/
. - Smaller trained models are available in
experiments/
.
We include the following PyTorch 3rd-party libraries:
[1] ChamferDistancePytorch
[2] emd, expansion_penalty, MDS
[3] Pointnet2.PyTorch
We include the following point completion models:
[1] PCN
[2] ECG
[3] VRCNet
[4] SnowFlakeNet
[5] PointAttN