Scaling Model & Calculating transform

Hi, I was wondering how you would go about changing the scale of an stl model in 3D slicer. Say you have two models from different species, and one is inherently smaller, but you don’t want the volume to impact analysis, how can you rescale it? In addition, what is the best method to show the transformation from one model to another if they are in alignment, for example looking at specific regions of the surface to show the deformation? Finally, can you calculate the magnitude of the Jacobian determinate from one model to another in 3D slicer to show how different two models are from each other, or the average distance between models as a single scalar value?

Hi - probably you want to look at SlicerMorph and SlicerSALT for those kinds of operations.

How do you install SlicerMorph extensions in 3D Slicer? It seems like none of the modules are part of the extension manager?

SlicerMorph is new - it’s only available for the SlicerPreview version.

@smrolfe are there installation instructions that clarify this?

Thanks @pieper, I will add installation instructions to clarify this.

If you do you a geometric analysis using landmarks, you can use SlicerMorph Generalized Procrustes Analysis which by default will conduct the superimposition in shape space (uniform scaling + rotation). I believe SlicerSALT always operates
in the form space, thus skips the scaling step since physical size typically an important parameter in biomedical research to retain and relate back to condition being studied.

What you need is possibly a deformable registration framework, from which is you should be able calculate Jacobis by calculating the total warp field. I know ANTsR would do that from volumetric images, but I am not familiar with any pipeline
that would do that for meshes.

One possibility may get you a little further is to convert the models to segments and then use segment registration to do an affine registration, and then visualize the remaining difference.

Mail]( for Windows 10

Area there any documentation instructions now that are good for Slicer Morph?

We are working on finalizing the documentation. Meanwhile there are some videos that shows the existing functionality with the provided datasets.

In a nutshell, you need have a set of fiducial landmarks per sample (exact number of landmarks and in the same order) in a specified folder. FCSV is the only input format we currently support, so if you have landmarking done outside of Slicer, you need to convert your landmarks into fcsv format first.

For 3D visualization of eigenvectors from PCA, you need to have a reference model, and a set of landmarks that goes with the model. Installing the SlicerMorph extension, and then downloading the sample datasets (mouse and gorilla) is the easiest way to start exploring.