# Ellipsoid: Cutting Planes

## What is the Use Case?

The ellipsoid_cut example demonstrates using multiple cutting planes to constrain the distribution of particles on ellipsoids which are already aligned. This can be used in modeling scenarios where statistical modeling/analysis is needed for a region-of-interest on the anatomy/object-class at hand without having to affect the input data.

Here is an example of where the cutting planes intersect and ellipsoid:

## Grooming Steps

This use case starts with pre-aligned segmentations. The only grooming step is computing the signed distance transform for each segmentation.

## Optimization Parameters

The python code for the use case calls the optimize command of ShapeWorks, which requires that the optimization parameters are specified in a python dictionary. Please refer to Parameter Dictionary in Python for more details. Below are the default optimization parameters for this use case.

        "number_of_particles": 32,
"use_normals": 1,
"normal_weight": 15.0,
"checkpointing_interval": 200,
"keep_checkpoints": 0,
"iterations_per_split": 3000,
"optimization_iterations": 3000,
"starting_regularization": 100,
"ending_regularization": 10,
"recompute_regularization_interval": 2,
"domains_per_shape": 1,
"domain_type": 'image',
"relative_weighting": 15,
"initial_relative_weighting": 0.05,
"procrustes_interval": 0,
"procrustes_scaling": 0,
"save_init_splits": 0,
"verbosity": 0,

Here cutting_plane_counts is two for every ellipsoid and there are 15 ellipsoids so it is a list of twos of length 15. The cutting_planes parameter is a list of the two cutting plane points of length 15.