Changesets: Import 2017-06-07 23:51:09

master a1af894c

2015-12-23 17:41:25

lassoan

Details Diff
ENH: Avoid long wait for MRMLCreateNodeByClassWithoutSetReferenceCount test timeout on Windows

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24830 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Applications/SlicerApp/Testing/Python/MRMLCreateNodeByClassWithoutSetReferenceCount.py Diff File

master efc8dfd0

2015-12-23 16:43:20

lassoan

Details Diff
BUG: Fixed crash in vtkMRMLScene::SetURL

vtkMRMLScene::SetURL(NULL) crashed, fixed by NULL-pointer check (now it's equivalent with vtkMRMLScene::SetURL(""))

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24829 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLScene.cxx Diff File

master cc2ce78a

2015-12-23 16:42:05

lassoan

Details Diff
ENH: Replace asserts by error handling in vtkMRMLScene

Problem: Essential checks were performed in vtkMRMLScene using asserts. These "work" in debug builds (makes the application crash) but asswerts are ignored in release builds.
Therefore, lack of checks caused crashes or silent errors in release builds.

Solution: Asserts were replaced by warning logs (instead of silently ignoring the errors) and/or returning with failure (instead of crashing).

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24828 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLScene.cxx Diff File

master b2fbe65f

2015-12-23 16:37:53

lassoan

Details Diff
BUG: Fixed node references for singleton nodes

Problem: When importing a scene sometimes a slice node disappears and model nodes become corrupted.

Root cause: Node ID in node references in singleton nodes (such as slice views) are not updated when a scene is imported. The imported singleton node simply overwrites the old singleton node but in case of node ID conflicts, the singleton node is not notified about ID changes. This may cause mix-up of display nodes of slice (model) nodes and regular model nodes.

Fix: Handle node ID changes in singleton nodes properly. Keep the old singleton node object, overwrite its contents with the imported node content, track any node ID changes for singleton nodes (not very common), and call SetSceneReferences for the imported singleton node (this will make the singleton node notified about relevant node ID changes).


git-svn-id: http://svn.slicer.org/Slicer4/trunk@24827 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLScene.cxx Diff File

master d58ba3b4

2015-12-23 16:26:28

lassoan

Details Diff
ENH: Improved MRML tests

* Added output check to MRML core cxx methods (if any MRML node logs an unexpected error or warning during a test then it makes the test return with failure).
* Changed very long test macros to regular methods. It allows step-by-step debugging, getting exact error location (not just where the macro was called), simpler editing of the code (no need to put backslashes at the end of every line).
* Created a test macro for exercising all applicable MRML methods (ExerciseAllBasicMRMLMethods), which determines which methods should be tested by dynamic casting. Changed all MRML tests to use this single macro. It is still a macro to be able to run the function and log the line number in a single line using a simple syntax.
* Separated test macros (vtkMRMLCoreTestingMacros) and functions (vtkMRMLCoreTestingUtilities.h/txx/cxx) for clarity.
* Replaced several-line checks by CHECK_... macros for shorter code and simpler syntax. The check macros just gather the line number, call a check method, and return in case of an error: problems can still be analyzed using step-by-step debugging.
* Replaced bool return values by int (EXIT_FAILURE/EXIT_SUCCESS) at many places. It allows propagating the same error code from any level back to the main() function, using the same CHECK_... macros at every level.
* Re-enabled and fixed old tests that did not work in the core MRML library because they depended on classes that are not in MRML core. Moved tests to the module where the corresponding MRML node was defined. Updated obsolete scene files.
* Added thorough testing of node references between singleton and non-singleton nodes.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24826 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Base/Logic/Testing/vtkDataIOManagerLogicTest1.cxx Diff File
mod - Libs/MRML/Core/CMakeLists.txt Diff File
mod - Libs/MRML/Core/Testing/CMakeLists.txt Diff File
mod - Libs/MRML/Core/Testing/diffusionEditor.mrml Diff File
rm - Libs/MRML/Core/Testing/fiducial_tract.mrml Diff File
mod - Libs/MRML/Core/Testing/helixGlyphs.mrml Diff File
rm - Libs/MRML/Core/Testing/volRender.mrml Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLBSplineTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLCameraNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLClipModelsNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLColorTableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLColorTableStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLCrosshairNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionImageVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorDisplayPropertiesNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorVolumeSliceDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionWeightedVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionWeightedVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayableHierarchyNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayableHierarchyNodeTest3.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDoubleArrayNodeTest1.cxx Diff File
rm - Libs/MRML/Core/Testing/vtkMRMLFiberBundleNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFiducialListNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFreeSurferModelOverlayStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFreeSurferModelStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFreeSurferProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGlyphVolumeDisplayPropertiesNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGlyphableVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGlyphableVolumeSliceDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGridTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLHierarchyNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLInteractionNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLabelMapVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLayoutNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLinearTransformNodeEventsTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLinearTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelHierarchyNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLNRRDStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLPETProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLProceduralColorStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLROIListNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLROINodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLScalarVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLScalarVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneAddSingletonTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportIDConflictTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportIDModelHierarchyConflictTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportIDModelHierarchyParentIDConflictTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneTest2.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeImportSceneTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeRestoreSceneTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeStoreSceneTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSelectionNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSliceCompositeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSliceNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSnapshotClipNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLStorableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTableStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTableViewNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTensorVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformableNodeOnNodeReferenceAddTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnitNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnstructuredGridDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnstructuredGridNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnstructuredGridStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVectorVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVectorVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLViewNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeArchetypeStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeHeaderlessStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeNodeEventsTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLdGEMRICProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkObserverManagerTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkOrientedBSplineTransformTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkOrientedGridTransformTest1.cxx Diff File
rm - Libs/MRML/Core/vtkMRMLCoreTestingMacros.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingMacros.h Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingUtilities.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingUtilities.h Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingUtilities.txx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLColorLogicTest2.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLLayoutLogicCompareTest.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLLayoutLogicTest2.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLSliceLayerLogicTest.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLSliceLogicTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationAngleNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationAngleStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationControlPointsNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationControlPointsStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationFiducialNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationFiducialsStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationLineDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationLinesNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationLinesStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationPointDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationROINodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationRulerNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationRulerStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationTextDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkSlicerAnnotationModuleLogicTest1.cxx Diff File
mod - Modules/Loadable/Colors/Logic/Testing/Cxx/vtkSlicerColorLogicTest1.cxx Diff File
mod - Modules/Loadable/CropVolume/Testing/vtkMRMLCropVolumeParametersNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsFiducialNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsFiducialStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/SceneViews/Testing/Cxx/vtkSlicerSceneViewsModuleLogicTest1.cxx Diff File
mod - Modules/Loadable/TractographyDisplay/Testing/Cxx/CMakeLists.txt Diff File
add - Modules/Loadable/TractographyDisplay/Testing/Cxx/vtkMRMLFiberBundleNodeTest1.cxx Diff File
mod - Modules/Loadable/VolumeRendering/Testing/Cxx/CMakeLists.txt Diff File
mod - Modules/Loadable/VolumeRendering/Testing/Cxx/vtkMRMLVolumePropertyNodeTest1.cxx Diff File
mod - Modules/Loadable/VolumeRendering/Testing/Cxx/vtkMRMLVolumePropertyStorageNodeTest1.cxx Diff File
add - Modules/Loadable/VolumeRendering/Testing/Data/Input/AnnotationROI.acsv Diff File
add - Modules/Loadable/VolumeRendering/Testing/Data/Input/VolumeProperty.vp Diff File
add - Modules/Loadable/VolumeRendering/Testing/Data/Input/volRender.mrml Diff File

master 4e2764bd

2015-12-23 16:09:55

lassoan

Details Diff
BUG: Removed incorrect error log in vtkMRMLFreeSurferProceduralColorNode

An error was logged in vtkMRMLFreeSurferProceduralColorNode::ReadXMLAttributes for all XML attributes that were handled in the Superclass;


git-svn-id: http://svn.slicer.org/Slicer4/trunk@24825 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLFreeSurferProceduralColorNode.cxx Diff File

master bb03b4d2

2015-12-23 16:07:30

lassoan

Details Diff
ENH: Use weak pointer to store pointer to scene in nodes to avoid crashes

Nodes stored a simple pointer to the scene, therefore when the scene was deleted the node had a dangling pointer (pointer pointing to an invalid memory area), which caused crashes in certain use cases.

Fix: Use weak pointer to store pointer to scene. When the scene is deleted the weak pointer is set to NULL, and a NULL-pointer check is always done before accessing the scene pointer.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24824 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLNode.h Diff File

master 2c0de2fd

2015-12-23 14:21:13

lassoan

Details Diff
BUG: Fixed clip model node name in Slicer4Minute test

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24823 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Applications/SlicerApp/Testing/Python/Slicer4Minute.py Diff File

master ef68fd3f

2015-12-23 14:18:52

lassoan

Details Diff
ENH: Log error if vtkMRMLTransformNode::Get/SetMatrixTransformToParent fails

The vtkMRMLTransformNode::GetMatrixTransformToParent and vtkMRMLTransformNode::SetMatrixTransformToParent operations are not completed therefore it is not just a warning (potential error) but an error (definitely wrong behavior).

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24822 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLTransformNode.cxx Diff File

master ffa37d6c

2015-12-23 14:12:24

lassoan

Details Diff
BUG: Fixed error in SliceViewAnnotations update

SliceViewAnnotations update was incomplete because if there were unmapped slice views (view without a widget) in the scene then the script stopped with an error.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24821 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Scripted/DataProbe/DataProbeLib/SliceViewAnnotations.py Diff File

master b30a0627

2015-12-21 23:50:53

lassoan

Details Diff
BUG: Fixed of truncation of imported transforms

Fixes http://na-mic.org/Mantis/view.php?id=4114

Expected behavior of the translation slider widgets in global mode is to set the slider value to the current translation value.
However, if the current translation value is out of the slider's range then the range has to be updated to accommodate the large value.

There were two issues with the automatic range update:
1. If current transform in the qMRMLTransformSliders widget changed then the range was updated to the previous transform => fixed by computing it for the new Transform
2. Sometimes the transform node modified events are called in qMRMLLinearTransformSlider than the slider range is updated in qMRMLTransformSliders, which caused setting of a truncated value => fixed by not attempting to set a value in the slider that is not reachable (move the slider to the closest value, without emitting any event)

Also added a test case to qMRMLTransformSlidersTest1 to detect similar problems in the future.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24820 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Widgets/Testing/qMRMLTransformSlidersTest1.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLLinearTransformSlider.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLTransformSliders.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLTransformSliders.h Diff File

master 23cddf3a

2015-12-21 16:35:55

pinter

Details Diff
BUG: Fixed crash when saving scene with no main window

A scenario common with slicelets

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24819 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Base/QTGUI/qSlicerSaveDataDialog.cxx Diff File

master 155d6046

2015-12-21 13:50:17

pieper

Details Diff
ENH: update DCMTK to fix segmentation object dimension error case

https://github.com/commontk/DCMTK/pull/8

From: Steve Pieper <pieper@isomics.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24818 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild/External_DCMTK.cmake Diff File

master 64a4c7da

2015-12-14 16:46:47

fedorov

Details Diff
ENH: update git hash of MultiVolumeImporter

this fixes incorrect parsing of Philips trace DWI datasets that used standard
DICOM attribute for storing b-values. The issue was due to a typo in the attribute
number...

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24817 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild.cmake Diff File

master 29022055

2015-12-14 15:54:25

lassoan

Details Diff
COMP: Fixed build warning

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24816 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Base/Logic/vtkSlicerApplicationLogic.cxx Diff File

master 7d1e74ac

2015-12-14 14:46:36

jcfr

Details Diff
BUG: Fix crash due to wrong AddModel return

In vtkSlicerModelsLogic::AddModel, if the call to the storageNode
ReadData() failed, an error message was triggered and the node
removed from the scene, but AddModel() was still returning a pointer
to the modelNode, resulting in Slicer crashing.

The bug was encountered when loading a VTK Volume (DATASET set to
STRUCTURED_POINTS) and not selecting the 'Volume' description, since
the default description for the legacy VTK files is 'Model' in Slicer.

From: Alexis Girault <alexis.girault@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24815 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/Models/Logic/vtkSlicerModelsLogic.cxx Diff File

master d2875ae4

2015-12-11 16:43:48

lassoan

Details Diff
BUG: Fixed printing of node references

Fixed printing of node references in vtkMRMLNode::PrintSelf and in the node inspector in Data module.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24814 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLNode.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLNodeAttributeTableWidget.cxx Diff File

master 7d35e73b

2015-12-10 12:15:03

lassoan

Details Diff
BUG: Fixed vtkTransform::ApplyTransformMatrix crash

How to reproduce:

c=getNode('FullRainbow')
m=vtk.vtkMatrix4x4()
c.ApplyTransformMatrix(m)

Problem:
vtkTransform::ApplyTransform and vtkTransform::ApplyTransformMatrix are calling each other. Most of the time at least one is overridden, so no crash occurs.

Solution:
Removed calling of vtkTransform::ApplyTransformMatrix from vtkTransform::ApplyTransform. If a class has a more efficient version of transform application for linear transforms then this call can be added to vtkTransform::ApplyTransform in that specific class.
Removed vtkTransform::ApplyTransformMatrix where it is not necessary (when it's just a more complicated and possibly slower version of ApplyTransform).


git-svn-id: http://svn.slicer.org/Slicer4/trunk@24813 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/vtkMRMLFiducialListNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLFiducialListNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLModelDisplayNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLROINode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLROINode.h Diff File
mod - Libs/MRML/Core/vtkMRMLTransformableNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLTransformableNode.h Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationAngleNode.cxx Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationAngleNode.h Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationROINode.cxx Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationRulerNode.cxx Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationRulerNode.h Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationSnapshotNode.cxx Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationSnapshotNode.h Diff File
mod - Modules/Loadable/Markups/MRML/vtkMRMLMarkupsNode.cxx Diff File
mod - Modules/Loadable/Markups/MRML/vtkMRMLMarkupsNode.h Diff File

master 79665b39

2015-12-09 18:06:52

lassoan

Details Diff
ENH: Improved ExecutionModelTour pointfile example

Fiducial node selector widget created for pointfile field does not support selection of multiple nodes
therefore adding a <pointfile multiple="true" ...> tag in the ExecutionModelTour example was misleading
(it will never get multiple files).
=> removed multiple="true"

Pointfile with channel="output" is a regular file field (same as transform, image, table, etc),
therefore adding a separate "File return types" section in the XML was misleading.
=> moved the field from separate section to right after the pointfile with channel="input", so now
it looks the same as all other file fields

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24812 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/CLI/ExecutionModelTour/ExecutionModelTour.cxx Diff File
mod - Modules/CLI/ExecutionModelTour/ExecutionModelTour.xml Diff File

master 92c88971

2015-12-09 17:54:37

lassoan

Details Diff
BUG: CLI several module GUI bugs

Fix for need to re-select node after changing some parameters (http://www.na-mic.org/Bug/view.php?id=4090):
- Create a CLI node when switching to CLI if a compatible node is not available already (to not require users create a CLI node before starting interacting with the module). (http://www.na-mic.org/Bug/view.php?id=4090)
- Disable CLI module parameter editing widgets if no CLI node is selected (e.g., after scene close).
- Prevent crash in qSlicerCLIModuleUIHelper::setCommandLineModuleParameter when the method is called before a scene is set.

Fix for editable output values (http://www.na-mic.org/Bug/view.php?id=2402 and http://www.na-mic.org/Bug/view.php?id=2842):
- Prevent editing of CLI output values.
- Print current parameter values in vtkMRMLCommandLineModuleNode::PrintSelf instead of the module description, which is long and in general not informative.
- Added a method for printing module description (vtkMRMLCommandLineModuleNode::GetModuleDescriptionAsString).

Fix for editing vector fields:
- Prevent moving the cursor to the end of the line when editing a vector field (e.g., try to edit the first value in Float Vector Parameter in Execution Model Tour)


git-svn-id: http://svn.slicer.org/Slicer4/trunk@24811 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Base/QTCLI/qSlicerCLIModuleUIHelper.cxx Diff File
mod - Base/QTCLI/qSlicerCLIModuleWidget.cxx Diff File
mod - Base/QTCLI/qSlicerCLIModuleWidget.h Diff File
mod - Libs/MRML/CLI/vtkMRMLCommandLineModuleNode.cxx Diff File
mod - Libs/MRML/CLI/vtkMRMLCommandLineModuleNode.h Diff File

master 75fc96bf

2015-12-07 15:21:11

lassoan

Details Diff
ENH: Added output testing to vtkSlicerTablesLogicAddFileTest

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24810 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/Tables/Testing/Cxx/CMakeLists.txt Diff File
mod - Modules/Loadable/Tables/Testing/Cxx/vtkSlicerTablesLogicAddFileTest.cxx Diff File

master b8592fd1

2015-12-07 14:20:20

lassoan

Details Diff
BUG: Fixed crash in vtkMRMLTransformNode::GetMatrixTransformToNode

How to reproduce the crash:
# Create transform hierarchy t1-t2-t3
t1=slicer.vtkMRMLTransformNode()
t2=slicer.vtkMRMLTransformNode()
t3=slicer.vtkMRMLTransformNode()
slicer.mrmlScene.AddNode(t1)
slicer.mrmlScene.AddNode(t2)
slicer.mrmlScene.AddNode(t3)
t2.SetAndObserveTransformNodeID(t1.GetID())
t3.SetAndObserveTransformNodeID(t2.GetID())
# Get t3 to t1 transform
m = vtk.vtkMatrix4x4()
t3.GetMatrixTransformToNode(t1, m)

The problem was caused by infinite recursion. There were no tests for GetMatrixTransformToNode and GetTransformToNode methods and they did not work well.
Also, the transform node heavily used recursion in several methods when only a simple iteration on the transform tree was needed, which made computation time magnitudes higher (although it was still very quick, so it was not noticeable) and made the code harder to read and debug.

Solution:
Replaced all the unnecessary recursive method calls by simple for loops.
Added tests for Get(Matrix)TransformToNode methods.


git-svn-id: http://svn.slicer.org/Slicer4/trunk@24809 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/Testing/vtkMRMLNonlinearTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLTransformNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLTransformNode.h Diff File

master 482657ad

2015-12-05 16:47:58

lassoan

Details Diff
BUG: Update Git Tag for OpenIGTLinkIF to fix issue 0004101

by Junichi Tokuda

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24808 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild.cmake Diff File

master 1919b866

2015-12-04 11:33:09

lassoan

Details Diff
STYLE: No need to allocate vector and elements separately

Minor thing, just came across this while fixing the build error (which has been fixed in the meantime). I commit this anyway, it makes the code a little bit nicer.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24807 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/Annotations/Widgets/qMRMLAnnotationROIWidget.cxx Diff File
mod - Modules/Loadable/VolumeRendering/Widgets/qSlicerVolumeRenderingModuleWidget.cxx Diff File

master 9b2369b8

2015-12-04 11:06:46

msmolens

Details Diff
COMP: qSlicerVolumeRenderingModuleWidget: Fix Visual Studio build

This commit fixes a regression introduced in r24803 (ENH: Support VR
ROI visibility update through MRML node) removing the use of Variable
Length Array allocated (VLA) on the stack that are allowed in gcc but not
supported in Visual Studio.

For more details, see [1][2]

[1] http://stackoverflow.com/questions/7812566/why-no-variable-size-array-in-stack/7812587#7812587
[2] https://msdn.microsoft.com/library/zb1574zs(v=vs.100).aspx

Error reported by Visual Studio (VS) was the following:

Modules\Loadable\VolumeRendering\Widgets\qSlicerVolumeRenderingModuleWidget.cxx(833): error C2057: expected constant expression
Modules\Loadable\VolumeRendering\Widgets\qSlicerVolumeRenderingModuleWidget.cxx(833): error C2466: cannot allocate an array of constant size 0
Modules\Loadable\VolumeRendering\Widgets\qSlicerVolumeRenderingModuleWidget.cxx(833): error C2133: 'wasModifying' : unknown size

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24806 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/VolumeRendering/Widgets/qSlicerVolumeRenderingModuleWidget.cxx Diff File
 First  Prev  1 2 3 ... 10 ... 20 ... 30 ... 40 ... 47 48 49 50 51 52 53 ... 60 ... 70 ... 80 ... 90 ... 100 ... 110 ... 120 ... 130 ... 133 134 135  Next  Last