Shape Model for Multiple Domains directly from Mesh
What is the Use Case?
The ellipsoid_multiple_domain_mesh
use case demonstrates using ShapeWorks tools to perform shape modelings for anatomies with multiple structures (domains), e.g., joints to capture inter-domains correlations and interactions directly on triangular surface meshes
The dataset used by this use case:
- ellipsoid_joint_size_aligned - two stacked ellipsoids, with the top ellipsoid displaying varying radiis in all 3 directions
Grooming Data
In this use case, we download pre-groomed data. The use case will be updated soon to demonstrate the full mesh grooming process.
Relevant Arguments
--use_subsample --num_subsample --use_single_scale --tiny_test
Optimization Parameters
The python code for the use case calls the optimize
command of ShapeWorks which requires the parameters of the optimization to be specified in a python dictionary. Please refer to Parameter Dictionory in Python for more details.
NOTE:The list of <inputs>
(surface mesh ) should be ordered consistently for each shape.(e.g., shape1-domain1, shape1-domain2, shape2-domain1, shape2-domain2 ... etc.).
{
"number_of_particles" : [512,512],
"use_normals": [1,1],
"normal_weight": [10.0,10.0],
"checkpointing_interval" : 200,
"keep_checkpoints" : 0,
"iterations_per_split" : 500,
"optimization_iterations" : 500,
"starting_regularization" :3000,
"ending_regularization" : 1,
"recompute_regularization_interval" : 1,
"domains_per_shape" : 2,
"domain_type" : 'mesh',
"relative_weighting" : 10,
"initial_relative_weighting" : 0.1,
"procrustes_interval" : 0,
"procrustes_scaling" : 0,
"save_init_splits" : 0,
"verbosity" : 0
}
Analyzing Shape Model
Once the python code runs the optimization, the files are saved in the Output
folder after which ShapeWorks Studio is launched from the python code to analyze the model.
Here is the optimized shape.
Below are the particles for each sample, we can see they are uniformly distributed.