View Issue Details

IDProjectCategoryView StatusLast Update
0000449Slicer3Usabilitypublic2020-03-12 10:52
Reporterdougt Assigned Tomillerjv  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionopen 
Summary0000449: Slicer crashes when you use Diffeomorphic Demons
Description

About 45 seconds into using diffeomorphic demons registration tool, slicer crashes. i've tried it a couple different ways and slicer still crashes.

TagsNo tags attached.

Activities

pieper

pieper

2009-02-26 12:48

administrator   ~0000675

I just checked in a fix for the crashing issue, but I don't see that the calculations are working right. Jim and Andriy use this module through the command line, so it should be working but in slicer I only get a volume of all zeros.

I've asked Jim to try it.

millerjv

millerjv

2009-04-14 12:36

developer   ~0000872

The vector field has been marked as "hidden" in the parameter list. This prevents Slicer from providing access to the vector field via the GUI. The vector field is accessible when the module is used from the command line.

We need to extend Slicer to properly handle vector images and glyph them appropriately. We could also extend Slicer to receive a vector field as a displacement transform. Bess had part of that implemented.

For now everything runs without crashing.

pieper

pieper

2009-04-14 13:25

administrator   ~0000874

I just tried to register fixed.nrrd to moving.nrrd. The result is a volume of all zeros.

I'm not concerned about getting back the deformation field, I just want the registered image :)

pieper

pieper

2009-04-14 13:28

administrator   ~0000875

I ran again with Verbose flag checked and got this output:

Diffeomorphic Demons Algorithm standard output:

Arguments structure:
Fixed image file: slicer:0x10a66d20#vtkMRMLScalarVolumeNode1
Moving image file: slicer:0x10a66d20#vtkMRMLScalarVolumeNode2
Output image file: slicer:0x10a66d20#vtkMRMLScalarVolumeNode3
Output field file:
True field file:
Number of multiresolution levels: 3
Number of demons iterations: [ 20 20 20 ]
Deformation field sigma: 3
Update field sigma: 0
Maximum update step length: 2
Use vanilla demons: 0
Type of gradient: symmetrized
Use histogram matching: 0
Verbosity: 1
0: MSE 0.0996743 - harmo. 0.000238748 - max|Jac| 1.07685 - min|Jac| 0.999421 - ratio(|Jac|<=0) 0
1: MSE 0.105667 - harmo. 0.000134692 - max|Jac| 1.04648 - min|Jac| 1 - ratio(|Jac|<=0) 0
2: MSE 0.106155 - harmo. 0.000121535 - max|Jac| 1.04054 - min|Jac| 1 - ratio(|Jac|<=0) 0
3: MSE 0.108351 - harmo. 0.000127316 - max|Jac| 1.04173 - min|Jac| 1 - ratio(|Jac|<=0) 0
4: MSE 0.105793 - harmo. 0.000144338 - max|Jac| 1.04876 - min|Jac| 0.989634 - ratio(|Jac|<=0) 0
5: MSE 0.107877 - harmo. 0.000158136 - max|Jac| 1.04979 - min|Jac| 0.98843 - ratio(|Jac|<=0) 0
6: MSE 0.112291 - harmo. 0.000162215 - max|Jac| 1.04084 - min|Jac| 0.996028 - ratio(|Jac|<=0) 0
7: MSE 0.11424 - harmo. 0.000176149 - max|Jac| 1.03783 - min|Jac| 0.998509 - ratio(|Jac|<=0) 0
8: MSE 0.117972 - harmo. 0.000192109 - max|Jac| 1.03871 - min|Jac| 1.00009 - ratio(|Jac|<=0) 0
9: MSE 0.113339 - harmo. 0.000207803 - max|Jac| 1.04799 - min|Jac| 0.989931 - ratio(|Jac|<=0) 0
10: MSE 0.116551 - harmo. 0.000222514 - max|Jac| 1.05004 - min|Jac| 0.988836 - ratio(|Jac|<=0) 0
11: MSE 0.121931 - harmo. 0.000231413 - max|Jac| 1.04062 - min|Jac| 0.997248 - ratio(|Jac|<=0) 0
12: MSE 0.123809 - harmo. 0.00024708 - max|Jac| 1.03775 - min|Jac| 0.998548 - ratio(|Jac|<=0) 0
13: MSE 0.125652 - harmo. 0.000262988 - max|Jac| 1.03648 - min|Jac| 0.99735 - ratio(|Jac|<=0) 0
14: MSE 0.127533 - harmo. 0.000278033 - max|Jac| 1.03576 - min|Jac| 0.996373 - ratio(|Jac|<=0) 0
15: MSE 0.129405 - harmo. 0.000291406 - max|Jac| 1.03528 - min|Jac| 0.995531 - ratio(|Jac|<=0) 0
16: MSE 0.131136 - harmo. 0.000303402 - max|Jac| 1.03489 - min|Jac| 0.994863 - ratio(|Jac|<=0) 0
17: MSE 0.132789 - harmo. 0.000314343 - max|Jac| 1.03486 - min|Jac| 0.994333 - ratio(|Jac|<=0) 0
18: MSE 0.134393 - harmo. 0.000324473 - max|Jac| 1.03484 - min|Jac| 0.993906 - ratio(|Jac|<=0) 0
19: MSE 0.13597 - harmo. 0.000333964 - max|Jac| 1.03482 - min|Jac| 0.993557 - ratio(|Jac|<=0) 0
Finished Multi-resolution iteration :0

0: MSE 0.0852025 - harmo. 0.000271019 - max|Jac| 1.09325 - min|Jac| 0.98452 - ratio(|Jac|<=0) 0
1: MSE 0.0946497 - harmo. 0.000254681 - max|Jac| 1.13152 - min|Jac| 0.952542 - ratio(|Jac|<=0) 0
2: MSE 0.0656432 - harmo. 0.000253204 - max|Jac| 1.13907 - min|Jac| 0.955328 - ratio(|Jac|<=0) 0
3: MSE 0.0559085 - harmo. 0.000243065 - max|Jac| 1.14968 - min|Jac| 0.939368 - ratio(|Jac|<=0) 0
4: MSE 0.0509882 - harmo. 0.000241262 - max|Jac| 1.15289 - min|Jac| 0.934974 - ratio(|Jac|<=0) 0
5: MSE 0.0524651 - harmo. 0.00023601 - max|Jac| 1.15626 - min|Jac| 0.92743 - ratio(|Jac|<=0) 0
6: MSE 0.0467432 - harmo. 0.000239189 - max|Jac| 1.15897 - min|Jac| 0.928586 - ratio(|Jac|<=0) 0
7: MSE 0.0501123 - harmo. 0.000233343 - max|Jac| 1.16105 - min|Jac| 0.922727 - ratio(|Jac|<=0) 0
8: MSE 0.0450565 - harmo. 0.00023665 - max|Jac| 1.16269 - min|Jac| 0.924929 - ratio(|Jac|<=0) 0
9: MSE 0.0470968 - harmo. 0.000234522 - max|Jac| 1.16387 - min|Jac| 0.920535 - ratio(|Jac|<=0) 0
10: MSE 0.0438559 - harmo. 0.000236039 - max|Jac| 1.16488 - min|Jac| 0.921878 - ratio(|Jac|<=0) 0
11: MSE 0.0459872 - harmo. 0.000232363 - max|Jac| 1.16556 - min|Jac| 0.918804 - ratio(|Jac|<=0) 0
12: MSE 0.0429555 - harmo. 0.000233334 - max|Jac| 1.16614 - min|Jac| 0.920476 - ratio(|Jac|<=0) 0
13: MSE 0.0451337 - harmo. 0.000228989 - max|Jac| 1.16648 - min|Jac| 0.918117 - ratio(|Jac|<=0) 0
14: MSE 0.0422484 - harmo. 0.000229955 - max|Jac| 1.16681 - min|Jac| 0.919484 - ratio(|Jac|<=0) 0
15: MSE 0.0444477 - harmo. 0.000225301 - max|Jac| 1.16695 - min|Jac| 0.917923 - ratio(|Jac|<=0) 0
16: MSE 0.041679 - harmo. 0.000226466 - max|Jac| 1.16712 - min|Jac| 0.918898 - ratio(|Jac|<=0) 0
17: MSE 0.0428049 - harmo. 0.000221129 - max|Jac| 1.16713 - min|Jac| 0.919348 - ratio(|Jac|<=0) 0
18: MSE 0.0421192 - harmo. 0.000223993 - max|Jac| 1.16723 - min|Jac| 0.917988 - ratio(|Jac|<=0) 0
19: MSE 0.0423954 - harmo. 0.000218112 - max|Jac| 1.16724 - min|Jac| 0.918575 - ratio(|Jac|<=0) 0
Finished Multi-resolution iteration :1

0: MSE 0.00759909 - harmo. 0.00016652 - max|Jac| 1.18232 - min|Jac| 0.892977 - ratio(|Jac|<=0) 0
1: MSE 0.00612989 - harmo. 0.000151039 - max|Jac| 1.17502 - min|Jac| 0.886697 - ratio(|Jac|<=0) 0
2: MSE 0.00543989 - harmo. 0.000138267 - max|Jac| 1.16645 - min|Jac| 0.885705 - ratio(|Jac|<=0) 0
3: MSE 0.00496078 - harmo. 0.000128061 - max|Jac| 1.15947 - min|Jac| 0.882928 - ratio(|Jac|<=0) 0
4: MSE 0.00460227 - harmo. 0.000119336 - max|Jac| 1.15229 - min|Jac| 0.880425 - ratio(|Jac|<=0) 0
5: MSE 0.00432484 - harmo. 0.000112371 - max|Jac| 1.14748 - min|Jac| 0.87946 - ratio(|Jac|<=0) 0
6: MSE 0.0040987 - harmo. 0.000105822 - max|Jac| 1.14207 - min|Jac| 0.879965 - ratio(|Jac|<=0) 0
7: MSE 0.00391494 - harmo. 0.000100859 - max|Jac| 1.13936 - min|Jac| 0.881538 - ratio(|Jac|<=0) 0
8: MSE 0.00375582 - harmo. 9.54632e-05 - max|Jac| 1.13447 - min|Jac| 0.883835 - ratio(|Jac|<=0) 0
9: MSE 0.00362266 - harmo. 9.18691e-05 - max|Jac| 1.13347 - min|Jac| 0.886612 - ratio(|Jac|<=0) 0
10: MSE 0.00350127 - harmo. 8.72341e-05 - max|Jac| 1.12883 - min|Jac| 0.889703 - ratio(|Jac|<=0) 0
11: MSE 0.00340128 - harmo. 8.45507e-05 - max|Jac| 1.12888 - min|Jac| 0.893001 - ratio(|Jac|<=0) 0
12: MSE 0.00330604 - harmo. 8.05372e-05 - max|Jac| 1.1245 - min|Jac| 0.896438 - ratio(|Jac|<=0) 0
13: MSE 0.00322781 - harmo. 7.84552e-05 - max|Jac| 1.12501 - min|Jac| 0.900028 - ratio(|Jac|<=0) 0
14: MSE 0.0031514 - harmo. 7.49553e-05 - max|Jac| 1.12098 - min|Jac| 0.903765 - ratio(|Jac|<=0) 0
15: MSE 0.00308883 - harmo. 7.32658e-05 - max|Jac| 1.12166 - min|Jac| 0.907669 - ratio(|Jac|<=0) 0
16: MSE 0.00302698 - harmo. 7.01593e-05 - max|Jac| 1.118 - min|Jac| 0.911772 - ratio(|Jac|<=0) 0
17: MSE 0.00297759 - harmo. 6.87163e-05 - max|Jac| 1.11871 - min|Jac| 0.916098 - ratio(|Jac|<=0) 0
18: MSE 0.00292755 - harmo. 6.5978e-05 - max|Jac| 1.11575 - min|Jac| 0.920635 - ratio(|Jac|<=0) 0
19: MSE 0.00288478 - harmo. 6.48318e-05 - max|Jac| 1.117 - min|Jac| 0.925321 - ratio(|Jac|<=0) 0
Finished Multi-resolution iteration :2

MSE fixed image vs. warped moving image: 2649.06
Minimum of the determinant of the Jacobian of the warp: 3.40282e+38
Maximum of the determinant of the Jacobian of the warp: -3.40282e+38

pieper

pieper

2009-04-28 11:18

administrator   ~0000926

Work for axials, but not other orientations.

pieper

pieper

2009-04-28 12:10

administrator   ~0000929

Jim is going to take another run at this, and either abort on non-axials or add an OrientImage filter to convert the inputs to axial.

pieper

pieper

2009-05-19 11:53

administrator   ~0000979

Okay - I added the code to resample to axial and this will work for the 3.4 release. Longer term it would be good if there were a wrapper around all the registration code that would resample back to the fixed image space after doing the transformation.

jcfr

jcfr

2020-03-12 10:52

administrator   ~0016514

Closing. Slicer3 is not being developed anymore.

Issue History

Date Modified Username Field Change
2009-02-24 07:59 dougt New Issue
2009-02-26 12:48 pieper Note Added: 0000675
2009-02-26 12:48 pieper Assigned To => millerjv
2009-02-26 12:48 pieper Status new => assigned
2009-04-07 14:23 pieper Tag Attached: 3.4 Targeted fix
2009-04-14 12:36 millerjv Note Added: 0000872
2009-04-14 13:25 pieper Note Added: 0000874
2009-04-14 13:28 pieper Note Added: 0000875
2009-04-28 11:18 pieper Note Added: 0000926
2009-04-28 12:10 pieper Note Added: 0000929
2009-05-18 11:37 wjp Tag Detached: 3.4 Targeted fix
2009-05-19 11:53 pieper Note Added: 0000979
2009-05-19 12:57 pieper Severity crash => feature
2020-03-12 10:52 jcfr Status assigned => closed
2020-03-12 10:52 jcfr Note Added: 0016514