ecr05 / MSM_HOCR

Multimodal Surface Matching with Higher order Clique Reduction: Mac OS and Linux binaries
35 stars 10 forks source link

--trans option fails ("Assertion failed") #3

Closed r03ert0 closed 6 years ago

r03ert0 commented 6 years ago

I can't figure out how to get the --trans option to work in msm. This is a test case: I'm doing a first registration, and then using the result .reg.surf file in the --trans option of the same call.

The first call is:

msm -v --levels=2 \
    --inmesh=mesh1.sphere.asc --inanat=mesh1.asc --indata=mesh1.data.txt \
    --refmesh=mesh2.sphere.asc --refanat=mesh2.asc --refdata=mesh2.data.txt -o L1.

This call works without problem (well, I do get a warning 'newmesh::set_pvalue, warning, index exceeds known pvalues dimension. Appending pvalues' that I have been ignoring...).

From the L1. results, I take L1.sphere.reg.surf.gii as input to --trans, like this:

msm -v --levels=2 \
    --inmesh=mesh1.sphere.asc --inanat=mesh1.asc --indata=mesh1.data.txt \
    --refmesh=mesh2.sphere.asc --refanat=mesh2.asc --refdata=mesh2.data.txt \
    --trans=L1.sphere.reg.surf.gii \
    -o L2.

This call fails with the following log and error:

mesh1.data.txt
cost.size() 4 AFFINE,DISCRETE,DISCRETE,DISCRETE
 iters 50,3,3,3
lambda 0,0.1,0.2,0.3
 sigmain 2,2,3,2
 sigmaref 2,2,1.5,1
 datagrid 4,4,5,6
 cp gridres 0,2,3,4
 sp grid 0,4,5,6
 alpha_knn 5,5,5,5
 in parse options  _simval 1,2,2,2 interations 50,3,3,3 input sigma 2,2,3,2 ref sigma 2,2,1.5,1 lambda 0,0.1,0.2,0.3  _genesis 4,4,5,6 _gridres 0,2,3,4 _sampres 0,4,5,6 opt AFFINE,DISCRETE,DISCRETE,DISCRETE _scale 0 mesh interpolator BARY discrete implementation FastPD regoption 1 potts 0
 Initialising level 1
Assertion failed: (px != 0), function operator->, file /Users/cowboy/fsl/extras/include/boost/boost/smart_ptr/shared_ptr.hpp, line 648.
Abort trap: 6
ecr05 commented 6 years ago

Hi

I think you will need to send me your data so I can try it myself.

Thanks

Emma

On 10 January 2018 at 17:58, Roberto Toro notifications@github.com wrote:

I can't figure out how to get the --trans option to work in msm. This is a test case: I'm doing a first registration, and then using the result .reg.surf file in the --trans option of the same call.

The first call is:

msm -v --levels=2 \ --inmesh=mesh1.sphere.asc --inanat=mesh1.asc --indata=mesh1.data.txt \ --refmesh=mesh2.sphere.asc --refanat=mesh2.asc --refdata=mesh2.data.txt -o L1.

This call works without problem (well, I do get a warning 'newmesh::set_pvalue, warning, index exceeds known pvalues dimension. Appending pvalues' that I have been ignoring...).

From the L1. results, I take L1.sphere.reg.surf.gii as input to --trans, like this:

msm -v --levels=2 \ --inmesh=mesh1.sphere.asc --inanat=mesh1.asc --indata=mesh1.data.txt \ --refmesh=mesh2.sphere.asc --refanat=mesh2.asc --refdata=mesh2.data.txt \ --trans=L1.sphere.reg.surf.gii \ -o L2.

This call fails with the following log and error:

mesh1.data.txt cost.size() 4 AFFINE,DISCRETE,DISCRETE,DISCRETE iters 50,3,3,3 lambda 0,0.1,0.2,0.3 sigmain 2,2,3,2 sigmaref 2,2,1.5,1 datagrid 4,4,5,6 cp gridres 0,2,3,4 sp grid 0,4,5,6 alpha_knn 5,5,5,5 in parse options _simval 1,2,2,2 interations 50,3,3,3 input sigma 2,2,3,2 ref sigma 2,2,1.5,1 lambda 0,0.1,0.2,0.3 _genesis 4,4,5,6 _gridres 0,2,3,4 _sampres 0,4,5,6 opt AFFINE,DISCRETE,DISCRETE,DISCRETE _scale 0 mesh interpolator BARY discrete implementation FastPD regoption 1 potts 0 Initialising level 1 Assertion failed: (px != 0), function operator->, file /Users/cowboy/fsl/extras/include/boost/boost/smart_ptr/shared_ptr.hpp, line 648. Abort trap: 6

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ecr05/MSM_HOCR_macOSX/issues/3, or mute the thread https://github.com/notifications/unsubscribe-auth/AP5rvPPRuguZz_CXrUvzrjB_ZXY14AQDks5tJPo2gaJpZM4RZtwa .

ecr05 commented 6 years ago

I think actually it might be because you are using the default config that applies an affine step, which isn't needed. Try applying a config file which has only discrete steps.

On 10 January 2018 at 18:03, Emma Robinson emma.robinson01@gmail.com wrote:

Hi

I think you will need to send me your data so I can try it myself.

Thanks

Emma

On 10 January 2018 at 17:58, Roberto Toro notifications@github.com wrote:

I can't figure out how to get the --trans option to work in msm. This is a test case: I'm doing a first registration, and then using the result .reg.surf file in the --trans option of the same call.

The first call is:

msm -v --levels=2 \ --inmesh=mesh1.sphere.asc --inanat=mesh1.asc --indata=mesh1.data.txt \ --refmesh=mesh2.sphere.asc --refanat=mesh2.asc --refdata=mesh2.data.txt -o L1.

This call works without problem (well, I do get a warning 'newmesh::set_pvalue, warning, index exceeds known pvalues dimension. Appending pvalues' that I have been ignoring...).

From the L1. results, I take L1.sphere.reg.surf.gii as input to --trans, like this:

msm -v --levels=2 \ --inmesh=mesh1.sphere.asc --inanat=mesh1.asc --indata=mesh1.data.txt \ --refmesh=mesh2.sphere.asc --refanat=mesh2.asc --refdata=mesh2.data.txt \ --trans=L1.sphere.reg.surf.gii \ -o L2.

This call fails with the following log and error:

mesh1.data.txt cost.size() 4 AFFINE,DISCRETE,DISCRETE,DISCRETE iters 50,3,3,3 lambda 0,0.1,0.2,0.3 sigmain 2,2,3,2 sigmaref 2,2,1.5,1 datagrid 4,4,5,6 cp gridres 0,2,3,4 sp grid 0,4,5,6 alpha_knn 5,5,5,5 in parse options _simval 1,2,2,2 interations 50,3,3,3 input sigma 2,2,3,2 ref sigma 2,2,1.5,1 lambda 0,0.1,0.2,0.3 _genesis 4,4,5,6 _gridres 0,2,3,4 _sampres 0,4,5,6 opt AFFINE,DISCRETE,DISCRETE,DISCRETE _scale 0 mesh interpolator BARY discrete implementation FastPD regoption 1 potts 0 Initialising level 1 Assertion failed: (px != 0), function operator->, file /Users/cowboy/fsl/extras/include/boost/boost/smart_ptr/shared_ptr.hpp, line 648. Abort trap: 6

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ecr05/MSM_HOCR_macOSX/issues/3, or mute the thread https://github.com/notifications/unsubscribe-auth/AP5rvPPRuguZz_CXrUvzrjB_ZXY14AQDks5tJPo2gaJpZM4RZtwa .

r03ert0 commented 6 years ago

that was it! I removed the AFFINE step, and now everything runs properly :)

for reference, this is the conf file I'm using:

--simval=2,2,2 
--sigma_in=4,2,1 
--sigma_ref=2,1,1
--lambda=0.1,0.3,0.5
--it=3,3,3
--opt=DISCRETE,DISCRETE,DISCRETE 
--CPgrid=2,3,4 
--SGgrid=4,5,6 
--datagrid=4,5,6 
--IN

thank you @ecr05 !