View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003108 | Slicer4 | Extension: (Any extensions) | public | 2013-05-08 12:01 | 2015-11-30 17:34 |
Reporter | tokuda | Assigned To | Lchauvin | ||
Priority | normal | Severity | minor | Reproducibility | sometimes |
Status | closed | Resolution | fixed | ||
Product Version | Slicer 4.2.2-1 | ||||
Target Version | Slicer 4.4.0 | Fixed in Version | Slicer 4.4.0 | ||
Summary | 0003108: Slicer crashes when the VolumeResliceDriver and VisuaLine are used together | ||||
Description | Slicer crashes when the VolumeResliceDriver and VisuaLine are used together. I could reproduce the crash by the following operation:
I'm still not sure this is due to any bug in VisuaLine, VolumeResliceDriver or Annotation. | ||||
Tags | No tags attached. | ||||
The crash was fixed in the latest VolumeResliceDriver: https://github.com/SlicerIGT/VolumeResliceDriver/commit/aa55ded8bd9a56f431fde117dfe9412f79f6c3c6 It was due to division by zero. When VolumeResliceDriver calculates a normal vector for volume reslicing, it uses a vector that connects two points of the annotation ruler. When the length of the ruler becomes zero (by step 6 described above), the previous code tried to calculate a normal vector by dividing a vector (0, 0, 0) by 0. Although the crash can be avoided by using arbitrary vector e.g. (1, 0, 0), such an arbitrary vector cause a change of reslicing plane, when the Visual Offset becomes zero. |
|
I think I fixed the issue by adding: if (!sliceNode) to the beginning of UpdateSlice in vtkSlicerVolumeResliceDriverLogic (line 517 for me). Could you test it, and let me know if it works for you. Thanks. |
|
No actually what I said is wrong. I thought it worked because when reslicing to Axial, Sagittal or Coronal, you can go to 0 without crash, but if you choose a different reslicing (transverse, in plane, etc...) then it crashes when going to 0. I will try to update VolumeResliceDriver to see if it works for me. Thanks. |
|
It works for me, it's not crashing anymore. A solution could be, save the previous orientation, and use it if both points are at same position (vector 0,0,0). |
|
VisuaLine is now compatible with latest OpenIGTLink version, and preserve the orientation even if length is 0. |
|
Closing resolved issues that have not been updated in more than 3 months |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2013-05-08 12:01 | tokuda | New Issue | |
2013-05-08 12:01 | tokuda | Status | new => assigned |
2013-05-08 12:01 | tokuda | Assigned To | => Lchauvin |
2013-05-08 12:45 | tokuda | Note Added: 0008579 | |
2013-05-08 12:47 | Lchauvin | Note Added: 0008580 | |
2013-05-08 12:57 | Lchauvin | Note Added: 0008581 | |
2013-05-08 13:11 | Lchauvin | Note Added: 0008582 | |
2013-07-13 08:09 | Lchauvin | Note Added: 0009042 | |
2013-07-13 08:09 | Lchauvin | Status | assigned => resolved |
2013-07-13 08:09 | Lchauvin | Resolution | open => fixed |
2014-03-06 05:18 | jcfr | Note Added: 0011110 | |
2014-03-06 05:20 | jcfr | Status | resolved => closed |
2014-03-06 05:54 | jcfr | Fixed in Version | => Slicer 4.4.0 |
2014-03-06 06:15 | jcfr | Target Version | => Slicer 4.4.0 |
2015-11-30 17:34 | jcfr | Category | Extension VisuaLine => Extensions |