Shape analysis by SPHARM-PDM


(Soda Gh) #1

Operating system: windows7_64
Slicer version: 4.4.0
Expected behavior: I want to do the shape analysis by SPHARM-PDM
Actual behavior:

  1. I have apply the shape analysis module, when I load the output.csv file in ShapePopulationViewer, it pop up error like this:
    ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
    vtkTextActor (0000000008811FE0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (00000000089219D0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (0000000008A610C0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (0000000008811FE0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (00000000089219D0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (0000000008A610C0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (0000000008811FE0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (00000000089219D0): vtkTextActor::SetInput was passed an uninitialized string

ERROR: In …\VTKv6\Rendering\FreeType\vtkTextActor.cxx, line 364
vtkTextActor (0000000008A610C0): vtkTextActor::SetInput was passed an uninitialized string


(Laura Pascal) #2

Hello,

Thank you for showing your interest in SPHARM-PDM Extension!

The issue could be due by the use of the version 4.4 of Slicer. I highly recommend you to use the new release 4.8 of Slicer that you can download here.

If you need any more help, I will be happy to help you!


(Soda Gh) #3

Hi Laura :

Thanks for your reply!

I want to use SPHARM-PDM to do the shape analysis of hippocampus on my brain MRI data. I’m new to this field and not familiar with this software. I did the shape analysis on my data and it generated several file folders such as “BatchMake_Scripts”, “EulerFiles”, “Mesh”, “OutputGroupFile” and “Template”.
image

Now I want to do the following feature selection and classification steps, but I don’t know which file to choose. I want to know in which file the shape analysis information was stored and how should I use it.

Thanks for your reading. Looking forward to your reply!


(Soda Gh) #4

hi @laurapascal

I followed your advice and installed 3D Slicer V4.8. After applying shape analysis module, it generated 3 subfolders:
image

Can you guide me what should I do next in order to get the shape analysis results? My next step is feature selection and classification, which file stores the shape information I need?
Thanks for your reading and reply!


(Laura Pascal) #5

Hi @sodaGH,

In each folder you will find the results of each step of the SPHARM-PDM process. The final results are contained in the folder named step3_ParaToSPHARMMesh. In this folder, you will find the corresponding shape population composed by models which have the same number of points at corresponding position.

You will find 3 similar groups composed by the same corresponding shape population where each group is based on a different model registration:

  • the input_rootname_pp_surf_SPHARM VTK models which are not registered between them.
  • the input_rootname_pp_surf_SPHARM_ellalign VTK models which are registered with the sphere used to create them.
  • the input_rootname_pp_surf_SPHARM_procalign VTK models which are registered with a template that you can specify by using the Registration Template Option.

In order to statistically compare the regional differences between two models, you can apply the module ModelToModelDistance (available as a module of 3DSilcer): it will compute a distance map between two models with the option corresponding_point_to_point (which will compute the euclidean distance for each corresponding point of your two models). You can then visualize the distance map in ShapePopulationViewer (available in SlicerSALT and 3DSlicer) by displaying the attribute PointToPointVector.

In order to classify 3D models according to their morphological variation, you can use the extension ShapeVariationAnalyzer
(available in 3DSilcer). This classifier can be used to identify shapes, help to provide a diagnosis, or evaluate the staging of a disease.

If you have any additional questions, I will be happy to answer them!