open-discussion > MeshMath error in ShapeAnalysisModule
Showing 1-19 of 19 posts
Display:
Results per page:
Jul 1, 2011  11:07 AM | Beatriz Paniagua
MeshMath error in ShapeAnalysisModule
Hi everyone,

Somebody submitted recently to the group an error report that appears when running ShapeAnalysisModule:
------ Shape Analysis Module start -----


Computing ShapeAnalysisModule...

/home/.../ShapeAnalysisModule_TutorialData/Output
/home/.../ShapeAnalysisModule_TutorialData/Output/
47
ShapeAnalysisModule_id2030.bms
ShapeAnalysisModule_id2030.bms
Number of Datas: 4
Executing BatchMake...
Cannot open file: ShapeAnalysisModule_id2030.bms
Executing BatchMake: Done!

ShapeAnalysisModule_id2030.bms


Execute Meshmath...

Error: Could not run MeshMath:
No such file or directory
Error: Could not run MeshMath:
No such file or directory
Error: Could not run MeshMath:
No such file or directory
Error: Could not run MeshMath:
No such file or directory
Error: Could not run MeshMath:....
Usually MeshMath fails because other modules prior to the execution of MeshMath fail as well; SegPostProcess, GenParaMesh and ParaToSPHARMMesh have to work ok in order all the meshes needed in the creation of MRML scenes are available for MeshMath to work with them. If this error appears, please check this page and see if all the outputs type mesh are in your output folder. That usually helped us to determine what was the problem!!I hope that helps.Regards,BEATRIZ
Jul 1, 2011  03:07 PM | Beatriz Paniagua
RE: MeshMath error in ShapeAnalysisModule
Also, checking that all the environmental variables are created and that all the commands (SegPostProcess,GenParaMesh,ParaToSPHARMMesh) are referenced in the PATH for the computer to find them. Also, it is necessary to see that all of those commands all the libraries (ldd command).
Jul 1, 2011  07:07 PM | Sylvia Hon
RE: MeshMath error in ShapeAnalysisModule
Hi Beatriz,

Thank you for addressing this error report as I have encountered this problem, and now something similar:

Execute Meshmath...

Error: MeshMath terminated with an exception: Segmentation fault
Error: MeshMath terminated with an exception: Segmentation fault
Error: MeshMath terminated with an exception: Segmentation fault
Error: MeshMath terminated with an exception: Segmentation fault
Error: MeshMath terminated with an exception: Segmentation fault


I made sure SegPostProcessCLP, GenParaMeshCLP, and ParaToSPHARMMeshCLP are referenced in the PATH and there are no missing libraries.

I created a ShapeAnalysis_Results output directory and ran the ShapeAnalysisModule according to the tutorial. In the output folder upon receiving the error, there were no mesh output files (.vtk, .coef, .txt)  generated.

Please let me know what I can do to generate those files.

Cheers,
Sylvia
Jul 5, 2011  12:07 PM | Beatriz Paniagua
RE: MeshMath error in ShapeAnalysisModule
Hi Sylvia,


Have you tried to run any of the individual commands just by themselves? I.e. type in your terminal...

SegPostProcessCLP --echo --label (yorlabelnumber) inputGIPL test.gipl.gz(yourOutputGipl)

All those meshes and txt should be created with SegPostProcess, GenParaMesh and ParaToSPHARMMesh.
Let me know.


Regards,
BEATRIZ
Jul 6, 2011  06:07 PM | Sylvia Hon
RE: MeshMath error in ShapeAnalysisModule
Hi Beatriz,

Using the individual commands, I still encounter error when using GenParaMesh.

My initial input file is: groupA_01_hippo.gipl.gz

This is what I did:

SegPostProcessCLP --echo --label 1 groupA_01_hippo.gipl.gz test.gipl.gz

GenParaMeshCLP test.gipl.gz --iter 800 --label 1
(Parse Error: One or more required arguments missing) so I added in the output file names

GenParaMeshCLP --iter 800 --label 1 test.gipl.gz test_para test_surf

itk::ExceptionObject (0x7fffa2db06e0)
Location: "Unknown"
File: /home/lucileb/spharm-pdm/Libraries/Shape/Algorithms/BinaryMask3DEqualAreaParametricMeshSource.txx
Line: 95
Description: BinaryMask3DEqualAreaParametricMeshSource : Image empty

I am not sure if this is the reason why the GenParaMesh module fails in Slicer as well. I am using the newest spharm-pdm package that Lucile B. uploaded.

Thanks,
Sylvia
Jul 7, 2011  11:07 AM | Beatriz Paniagua
RE: MeshMath error in ShapeAnalysisModule
Hi Sylvia, 


Have you looked at the contents of test.gipl.gz after SegPostProcess?? 
It would be useful to use a ITKsnap kind of program to see what is the content of the image. Also, in NIRAL Utilities (distributed in NITRC) we distribute our in-house tool ImageStat, that can give information about the binary that would be helpful to troubleshoot the problem.

Regards,
BEATRIZ
Jul 8, 2011  03:07 PM | Sylvia Hon
RE: MeshMath error in ShapeAnalysisModule
Hi Beatriz,

I downloaded ITKSnap and took a look at test.gipl.gz, and there was indeed no image.
So I entered in this command line instead:

SegPostProcessCLP --echo groupA_01_hippo.gipl.gz test.gipl.gz    (using 0 as the default value for --label instead of 1)
and this time there are a post processed image. I am not sure how to determine the label number of my input image.

When I began working with GenParaMesh, I used --label 0 and it gave me this error message:


GenParaMeshCLP --echo --verb --iter 100 --label 0 test.gipl.gz test_para.meta test_surf.meta


Command Line Arguments
    infile: caudate_spp.gipl.gz
    outParaName: caudate_spp_para.meta
    outSurfName: caudate_spp_surf.meta
    EulerFile: 0
    outEulerName: NULL
    logFile: 0
    outLogName: NULL
    numIterations: 100
    label: 0
    debug: 1
    initParaFileName: NULL
    echoSwitch: 1
    xmlSwitch: 0
    processInformationAddressString: 0
Reading Image:
Creating Para Surface Mesh:

itk::ExceptionObject (0x7fff0f999d90)
Location: "Unknown"
File: /home/lucileb/spharm-pdm/Libraries/Shape/Algorithms/BinaryMask3DEqualAreaParametricMeshSource.txx
Line: 172
Description: Warning: Euler equation not satisfied. Euler Number : 79930 - 79926 = 4


However, when I used --label 1, computations were made, but when I tried to open the .meta files with KWMeshVisu, I do not see any meshes.

Am I doing something wrong with the labels?

Thanks,
Sylvia
Jul 8, 2011  04:07 PM | Beatriz Paniagua
RE: MeshMath error in ShapeAnalysisModule
Hi Sylvia,

Two things you can do:

1) With regard to the label, the number your SegPostProcess has to have is the same label that your input segmentation has in the structure you have to analyze i.e. if the input has the structure segmented with label x this is the value that goes in the label argument. The same with regard to GenParaMesh, the label that the postprocessed image has is the one that goes in the label argument. On this regard I can tell you I am sure SegPostProcess relabels to value 1. That should be the value that goes to GenParaMesh.

2)
Euler equation not satisfied. Euler Number : 79930 - 79926 = 4
This is a different issue. The Euler number (see http://en.wikipedia.org/wiki/Euler_number_(topology)) is something that defines the topology of your object. SPHARM needs spherical topology to work (Euler number = 2). That means you have to check the topology of your binary volume (i.e. using ITKsnap) and testing that there are no holes on it.



Regards,
BEATRIZ
Jul 8, 2011  05:07 PM | Sylvia Hon
RE: MeshMath error in ShapeAnalysisModule
Hi Beatriz,

The labeling information was very helpful. Is there any way to determine whether the surface mesh and spherical parametrization mesh .meta files are produced correctly from GenParaMesh before I apply them as input files to ParaToSPHARM command?

For the ParaToSPHARMMesh, may you explain briefly about the flipTemplate and regTemplate? Are those input files necessary to compute the SPHARM-PDM representation? What output files should I expect from this stage of the pipeline?

Thanks,
Sylvia
Jul 8, 2011  06:07 PM | Beatriz Paniagua
RE: MeshMath error in ShapeAnalysisModule
Hi Sylvia,


Yes, in the ShapeAnalysisModule distribution there is a program included called KWMeshVisu, that is a in-house tool for visualization of ITK and VTK Meshes. You should type in your terminal
KWMeshVisu --mesh file.meta
To visualize file.meta. You can also type KWMeshVisu to run the program and use the File menu to load a mesh. 

flipTemplate and regTemplate are two different templates used in ParaToSPHARMMesh.

flipTemplate is the template that will be used to give the final flip to the parametric field of each sample (*para.vtk files). 
regTemplate is the registration template that will be used when running Procrustes (*surfSPHARM_procalign.vtk files).

Regards,
BEATRIZ
Jul 12, 2011  01:07 AM | Sylvia Hon
RE: MeshMath error in ShapeAnalysisModule
Hi Beatriz,

What are the differences between a CLP and a non-CLP module? For example, SegPostProcess vs. SegPostProcessCLP and GenParaMesh vs. GenParaMeshCLP?

Using the latest 64-bit spharm-toolkit, there are only CLP modules. I was able to process a data set through SegPostProcessCLP and the mesh computed through GenParaMeshCLP, but when I load the mesh onto KWMeshVisu, they do not show.

On the other hand, when I use the 32-bit package: v.10.7, I was able to process a data set through SegPostProcess and GenParaMesh, and the mesh showed up fine in KWMeshVisu.

Unfortunately, there's no CLP version of ParaToSPHARMMesh module in the v.10.7 version, I am not able to output the SPHARM coefs and associated meshes.

I typed in:
ParaToSPHARMMeshCLP --echo --verb --paraOut --regTemplate groupA_02_template.meta --regTemplateFileOn --flipTemplate groupA_02_template.coef --flipTemplateOn --spharmDegree 12 --subdivLevel 10 groupA_02_spharm_para.meta groupA_02_spharm_surf.meta /home/syhon/Slicer_Data/tutorialdata/ShapeAnalysisModule_TutorialData/origData/groupA_02_spharmpdm

and later a command with less inputs:
ParaToSPHARMMeshCLP --echo --verb --paraOut --spharmDegree 12 --subdivLevel 10 groupA_02_spharm_para.meta groupA_02_spharm_surf.meta /home/syhon/Slicer_Data/tutorialdata/ShapeAnalysisModule_TutorialData/origData/groupA_02_spharmpdm

This is the error I receive:

ERROR: In /opt/local/VTK/VTK_5.6/VTK/IO/vtkDataReader.cxx, line 501
vtkPolyDataReader (0x97bd588): Unrecognized file type: ObjectType = Scene for file: groupA_02_spharm_surf.meta

ERROR: In /opt/local/VTK/VTK_5.6/VTK/IO/vtkDataReader.cxx, line 501
vtkPolyDataReader (0x97bd588): Unrecognized file type: ObjectType = Scene for file: groupA_02_spharm_para.meta

Preprocessing done
At line 40 of file xerbla.f
Fortran runtime error: Missing initial left parenthesis in format

Am I inputting the wrong mesh (_surf.meta, _para.meta) files? Please let me know if I'm utilizing the ParaToSPHARMMesh command wrong.

Thank you,
Sylvia
Jul 14, 2011  05:07 PM | Beatriz Paniagua
RE: MeshMath error in ShapeAnalysisModule
Hi Sylvia,


CLP versions are just equivalent to the non-CLP versions. CLP stands for command line parsing, and is just a better way to parse command line arguments. The new releases of ShapeAnalysisModule deprecated the non-CLP versions. I will double check why your 32-b release does not have a ParaToSPHARMMeshCLP there.

Wrt
ERROR: In /opt/local/VTK/VTK_5.6/VTK/IO/vtkDataReader.cxx, line 501
vtkPolyDataReader (0x97bd588): Unrecognized file type: ObjectType = Scene for file: groupA_02_spharm_surf.meta

ERROR: In /opt/local/VTK/VTK_5.6/VTK/IO/vtkDataReader.cxx, line 501
vtkPolyDataReader (0x97bd588): Unrecognized file type: ObjectType = Scene for file: groupA_02_spharm_para.meta

this happens because you are trying to input a ITKFormat mesh (*.meta) when the command is supposed to read VTKFormat mesh (*.vtk).
Format converters are provided in the distribution, do:
Meta2VTK  groupA_02_spharm_surf.meta groupA_02_spharm_surf.vtk

for both of your files and then repeat the command with vtk's instead of metas it should work just fine.
I will let you know about the v.10.7 32b version whenever I figure sth out.


I hope that helps.
BEATRIZ
Aug 25, 2015  09:08 PM | Azar Zandifar
RE: MeshMath error in ShapeAnalysisModule
Hi Beatriz,

I thought my question is somehow related to this thread. I have installed the Shapeanalysismodule and am using it through command line on mac. I have my own data to test the module.
The module threw segmentation fault on my data. However when I tested SegPostProcessCLP, GenParaMeshCLP, ParaToSPHARMMeshCLP separately, everything seemed fine. I have attached the output files in the SPHARM folder (resulted from testing the commands separately). I was wondering what could be the problem here.
I would be more than grateful if you could help me in this subject.

Cheers,
Azar
Attachment: SPHARM_out.txt
Aug 26, 2015  12:08 PM | Martin Styner
RE: MeshMath error in ShapeAnalysisModule
Hi Azar
What were you parameter settings for the ShapeAnalysisModule. Are they exactly the same as for the call to the individual tools? The ShapeAnalysisModule needs a csv with the locations of the data, whereas the individual calls do not, so maybe that's one source of error (e.g. the setting for the infile column).

Martin
Aug 26, 2015  03:08 PM | Azar Zandifar
RE: MeshMath error in ShapeAnalysisModule
Hi Martin,

Thanks for the prompt response. Here is how I ran ShapeAnalysisModule:
ShapeAnalysisModule --sx 0.5 --sy 0.5 --sz 0.5 --label 1 --NumberofIterations 1000 --SubdivLevelValue 10 --SPHARMDegreeValue 15 --flipTemplate None --regTemplate None --MTemplate --paraOutTemplate InputFile_ShapeAnalaysis_4data.csv test/out

and I ran the individual calls like this:

SegPostProcessCLP data/mydata_groupA_1.gipl.gz test/1/Mesh/PostProcess/mydata_postprocessed_1.gipl.gz --space 0.5,0.5,0.5

GenParaMeshCLP --EulerFile --outEulerName test/1/EulerFiles/mydata_1_euler.txt --iter 1000 --label 1 test/1/Mesh/PostProcess/mydata_postprocessed_1.gipl.gz test/1/Mesh/SPHARM/mydata_postprocessed_1_para.vtk test/1/Mesh/SPHARM/mydata_postprocessed_1_surf.vtk

ParaToSPHARMMeshCLP --medialMesh --paraOut --phiIteration 100 --thetaIteration 100 --spharmDegree 15 --subdivLevel 10 test/1/Mesh/SPHARM/mydata_postprocessed_1_para.vtk test/1/Mesh/SPHARM/mydata_postprocessed_1_surf.vtk test/1/Mesh/SPHARM/mydata_postprocessed_1_surf

Regarding the csv file. I have changed the tutorial sample data csv regarding my new data. I have attached the file as well.
I really appreciate your time and help.

Thanks,
Azar
Sep 2, 2015  05:09 PM | Martin Styner
RE: MeshMath error in ShapeAnalysisModule
Hi Azar

Looking at your call for ShapeAnalysisModule, I see an issue that I mentioned in my last comment. By default ShapeAnalysisModule assumes that the first column (index 0) is the one with the segmentation file paths. The csv in the tutorial (and thus also yours) has the file paths in the second column (index 1). Thus, you need to specify that in the call by adding '--inputColumn --columnVolumeFile 1' to the command line.

Best regards
Martin
Sep 2, 2015  09:09 PM | Azar Zandifar
RE: MeshMath error in ShapeAnalysisModule
Hi Martin,

Thank you for the reply. I tried running the module as you suggested. However, it threw the same error.
Another point: I have successfully run the module using the tutorial data. Besides, I have run successfully the individual calls on my own data. So I don't really understand what could be the problem here.

Bests,
Azar
Sep 3, 2015  11:09 AM | Martin Styner
RE: MeshMath error in ShapeAnalysisModule
mmm, hard to say what the problem is, I think we need a bit more information. What is the terminal output when you run it on the command line? Does it stop right away?

Martin
Sep 3, 2015  04:09 PM | Azar Zandifar
RE: MeshMath error in ShapeAnalysisModule
This is what I see on the screen:
------ Shape Analysis Module start -----

Computing ShapeAnalysisModule...
test/out/
test/out//
test/out//ShapeAnalysisModule.bms
test/out//ShapeAnalysisModule.bms
Number of Datas: 4
Segmentation fault

Thank you for your help,
Azar