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

master 82ac49b1

2017-02-08 13:30:18

jcfr

Details Diff
BUG: Fix sample data method downloadAbdominalCTVolume

From: Johan Andruejol <johan.andruejol@kitware.com>

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

master eddbfa63

2017-02-08 13:30:16

jcfr

Details Diff
ENH: Add GetNodeBounds to return untransformed bounds of node

Also add a vtkSlicerTransformLogic method that get the bounds of a list of
nodes.

From: Johan Andruejol <johan.andruejol@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25696 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Applications/SlicerApp/Testing/Python/CMakeLists.txt Diff File
add - Applications/SlicerApp/Testing/Python/SlicerBoundsTest.py Diff File
mod - Libs/MRML/Core/vtkMRMLDisplayableNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLDisplayableNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLModelNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLModelNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLSegmentationNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLSegmentationNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLVolumeNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLVolumeNode.h Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationROINode.cxx Diff File
mod - Modules/Loadable/Annotations/MRML/vtkMRMLAnnotationROINode.h Diff File
mod - Modules/Loadable/Markups/MRML/vtkMRMLMarkupsFiducialNode.cxx Diff File
mod - Modules/Loadable/Markups/MRML/vtkMRMLMarkupsFiducialNode.h Diff File
mod - Modules/Loadable/Markups/MRML/vtkMRMLMarkupsNode.cxx Diff File
mod - Modules/Loadable/Markups/MRML/vtkMRMLMarkupsNode.h Diff File
mod - Modules/Loadable/Transforms/Logic/Testing/Cxx/CMakeLists.txt Diff File
add - Modules/Loadable/Transforms/Logic/Testing/Cxx/Data/transformedCube.vtk Diff File
add - Modules/Loadable/Transforms/Logic/Testing/Cxx/vtkSlicerTransformLogicTest3.cxx Diff File
mod - Modules/Loadable/Transforms/Logic/vtkSlicerTransformLogic.cxx Diff File
mod - Modules/Loadable/Transforms/Logic/vtkSlicerTransformLogic.h Diff File

master d2b2913b

2017-02-08 13:30:10

jcfr

Details Diff
ENH: Add static method to get all nodes transformed by a tranform node

From: Johan Andruejol <johan.andruejol@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25695 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/Transforms/Logic/Testing/Cxx/CMakeLists.txt Diff File
add - Modules/Loadable/Transforms/Logic/Testing/Cxx/Data/cube.vtk Diff File
add - Modules/Loadable/Transforms/Logic/Testing/Cxx/vtkSlicerTransformLogicTest2.cxx Diff File
mod - Modules/Loadable/Transforms/Logic/vtkSlicerTransformLogic.cxx Diff File
mod - Modules/Loadable/Transforms/Logic/vtkSlicerTransformLogic.h Diff File

master deda6322

2017-02-08 00:40:01

lassoan

Details Diff
BUG: Fixed slice spacing computation

Slice spacing was incorrectly computed for non-axis-aligned volumes.

This caused issues such as being able to go outside a single-slice volume in a slice view when with the arrow key. What the user saw was that when he accidentally moved the mouse wheel then the image disappeared from the slice viewer.

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

master 57934a76

2017-02-07 23:55:06

lassoan

Details Diff
ENH: Improved Crop Volume module

While assisting many users in learning segmenting using Segment Editor, it turned out that Crop Volume module is an essential pre-processing tool for segmentation. Either for reducing size of large volumes (cropping/downsampling) or allowing better segmentation of structures that are comparable to the voxel size (cropping/upsampling).

Crop Volume had many limitations, all of them fixed in this pull request:
* Cropping of transformed or non-axis aligned volumes and ROIs was very limited (input volume was not allowed to be transformed, non-linear transforms were not allowed) - now interpolated cropping allows linear transforms of any volumes or ROIs, input volume can even be non-linearly transformed
* No output volume was selectable (this was unlike all other modules in Slicer and it often lead to creating several unneeded output volumes when experimenting with cropping parameters) => now output volume can be specified (if not specified then it is created automatically)
* If inconsistency was found (e.g., misaligned ROI and input volume for voxel-based cropping) then a popup was displayed and users' node selections were reverted, which often disrupted user's workflow (for example, it was not possible to switch input volume and then switch to corresponding ROI because after switching input volume there was a temporary inconsistency that the module wanted to resolve immediately) => now when there is any inconsistency, an error message is displayed and Apply button is disabled; the user can either resolve inconsistencies by selecting different nodes, changing transforms, or clicking the Fix button to automatically resolve all inconsistencies by changing/aligning transforms
* It was tedious to initialize ROI to include the entire volume (e.g., when the goal was to decrease resolution or crop only on one side) => now a ROI auto-fit button is available
* Meaning of "Input spacing scaling constant" parameter was not clear (is it an absolute spacing value or a factor relative to current spacing; what value increases/decreases the resolution) and it was often difficult to predict how large the cropped output volume will be without actually performing the cropping. => now in the Volume information section users can immediately see what the size and resolution of the cropped volume will be
* Cropping of large volumes required lots of memory (voxel-based cropping created extra unnecessary temporary vtkImageData objects; interpolated cropping created an unnecessary reference volume, instead of just specifying output volume geometry using CLI arguments) => no unnecessary images are created now
* Spacing was not computed correctly for volumes where the order of axes were permuted (for example in MRHead sample) => axes between input and output volumes are now correctly matched

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25693 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/CropVolume/Logic/CMakeLists.txt Diff File
mod - Modules/Loadable/CropVolume/Logic/vtkSlicerCropVolumeLogic.cxx Diff File
mod - Modules/Loadable/CropVolume/Logic/vtkSlicerCropVolumeLogic.h Diff File
mod - Modules/Loadable/CropVolume/MRML/vtkMRMLCropVolumeParametersNode.cxx Diff File
mod - Modules/Loadable/CropVolume/MRML/vtkMRMLCropVolumeParametersNode.h Diff File
mod - Modules/Loadable/CropVolume/Resources/UI/qSlicerCropVolumeModuleWidget.ui Diff File
mod - Modules/Loadable/CropVolume/Testing/Python/CropVolumeSelfTest.py Diff File
mod - Modules/Loadable/CropVolume/Testing/vtkMRMLCropVolumeParametersNodeTest1.cxx Diff File
mod - Modules/Loadable/CropVolume/qSlicerCropVolumeModuleWidget.cxx Diff File
mod - Modules/Loadable/CropVolume/qSlicerCropVolumeModuleWidget.h Diff File

master 3a0668f8

2017-02-06 23:01:56

lassoan

Details Diff
BUG: Fixed loading of RGB volumes

SingleFile flag was often incorrect in saved scenes, because some file formats store a volumetric image in multiple files,
while in another format the same data can be saved in a single file; but the singleFile flag was not updated when file format
was changed. This caused loading error for RGB volumes when there were multiple files with similar names in the same directory.

Solution: Don't save SingleFile flag to the scene (it is just a temporary hint for file reading anyway), but set its value
based on GetNumberOfFileNames() value.

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

master b6f82371

2017-02-06 19:32:58

lassoan

Details Diff
BUG: Fixed typo introduced in last commit

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

master efbd6b3b

2017-02-06 16:45:07

lassoan

Details Diff
BUG: Prevent ITK from crashing after reading TPS transform

ITK crashes if the loaded transform contains TPS transform, as it
requires manual initialization (calling of ComputeWMatrix).

This error was reported in 2011 (http://public.kitware.com/pipermail/insight-users/2011-September/042419.html)
but no action was taken by the ITK community. BRAINS toolkit applies a workaround to call ComputeWMatrix manually.
Therefore, we apply a similar workaround here.

Also changed default transform file extension to .h5 to allow passing composite transforms.

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

master f63d410a

2017-02-06 16:45:04

lassoan

Details Diff
ENH: Added orientation normalization utilities to vtkAddon

Added new utility methods to vtkAddonMathUtilities:
* SetOrientationMatrix
* NormalizeColumns
* NormalizeOrientationMatrixColumns

They are useful for getting/setting and normalizing orientation part
of a homogeneous transformation matrix.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25689 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/vtkAddon/Testing/vtkAddonMathUtilitiesTest1.cxx Diff File
mod - Libs/vtkAddon/vtkAddonMathUtilities.cxx Diff File
mod - Libs/vtkAddon/vtkAddonMathUtilities.h Diff File
mod - Libs/vtkAddon/vtkAddonTestingMacros.h Diff File
mod - Libs/vtkAddon/vtkAddonTestingUtilities.cxx Diff File
mod - Libs/vtkAddon/vtkAddonTestingUtilities.h Diff File

master 30c408e2

2017-02-06 16:45:01

lassoan

Details Diff
STYLE: Removed comments, unnecessary space

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

master 683f5016

2017-02-06 16:44:58

lassoan

Details Diff
ENH: Convert empty VTK transform to identity ITK transform

When vtkGeneralTransform is initialized to Identity() then it creates a transform with 0 items in it.
So, it cannot be considered to be an error to have a vtkGeneralTransform with 0 items.
Instead, it has to be treated as an identity transform.

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

master 047ca261

2017-02-06 16:44:56

lassoan

Details Diff
ENH: Added vtkSlicerVolumesLogic::CloneVolumeGeneric cloning any volume

The old vtkSlicerVolumesLogic::CloneVolume method (that only supported cloning of scalar volumes)
is now obsolete but kept it for backward compatibility.

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

master c9b4fc0b

2017-02-01 15:38:35

pieper

Details Diff
COMP: update to latest LandmarkRegistration

Adds fixes from Adam Rankin to allow deletion of
landmarks and adds icons. Thanks Adam!

From: Steve Pieper <pieper@isomics.com>

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

master 8a6eebad

2017-01-30 21:59:31

lassoan

Details Diff
ENH: Restore model slice intersection opacity behavior

Previously, model slice intersection opacity was always 100%.
Recently behavior was modified to use the same opacity as in 3D, but this new behavior is often not ideal.

Restored the old behavior until a new slice intersection opacity attribute is introduced.

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

master b060461c

2017-01-30 13:44:06

pinter

Details Diff
BUG: Fixed intermittent memory issue in terminologies

When loading a terminology context from segment descriptor, the Json array that holds recommended color of the last segment was sometimes deleted from memory, and parsing those values became undeterministic (invalid value or crash).
With the color array deep copied using the correct Json document object as allocator, the issue is fixed.

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

master fe000010

2017-01-30 12:20:08

lassoan

Details Diff
BUG: Fixed model node related test errors

"Could not retrieve mesh connection producer" error was logged when a mesh was not set.
This is not an error case in general, so there is no need to log as error.

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

master 75df43d7

2017-01-28 22:58:53

lassoan

Details Diff
BUG: Fix vtkMRMLModelNode ApplyTransform & GetMesh

Reverts regression introduced in r25660 [1] by applying the transformation
to the mesh data object directly if the mesh was set with SetAndObserveMesh
(which uses vtkTrivialProducer to generate its mesh connection) and was not
set as a mesh connection being part of a pipeline.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=25660

Also call vtkAlgorithm::Update() in vtkMRMLModelNode::GetMesh() to
ensure the mesh connection is up to date when getting its output data
object.

Also remove changes to MeshType and calls to Modified() in GetPolyData()
and GetUnstructuredGrid(). Those were triggered when data inconsistency
was detected, but a Get() method should never modify an object. Keep
warnings only.

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

master 6f67b2b3

2017-01-28 09:21:43

pinter

Details Diff
COMP: Attempt to fix clang build error in rapidjson

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

master 90c65f2c

2017-01-27 17:20:04

agirault

Details Diff
BUG: Fix model display pipeline calls

The ThresholdFilter and AssignAttribute filters do not need to call
Update() when they are modified: VTK will take care of running the
filters when data is requested by the renderer.

Still need to call update in UpdateScalarRange() to be able to
retrieve the scalar range of the AssignAttribute filter output mesh
if UseDataScalarRange, as well as in GetOutputMesh().

Fixed tests:
* qSlicerModelsModuleWidgetTest
* qMRMLModelDisplayNodeWidgetTest1

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

master 22c0047c

2017-01-27 17:17:12

agirault

Details Diff
BUG: remove obsolete unstructured grid tests

vtkMRMLUnstructuredGridNode and its components were removed in r25666 [1],
but the tests were not undefined in Libs/MRML/Core/Testing/CMakeLists.txt

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=25666

Replace scene tests using unstructured grid by scene tests using
volumetric mesh.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25678 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Libs/MRML/Core/Testing/CMakeLists.txt Diff File
rm - Libs/MRML/Core/Testing/unstruct_grid.mrml Diff File
add - Libs/MRML/Core/Testing/volumetric_mesh.mrml Diff File

master 707ee807

2017-01-27 12:19:44

pinter

Details Diff
BUG: Fixed terminology segment descriptor double loading bug

The context became empty when loading the same descriptor file twice

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

master 552a37c0

2017-01-27 10:57:44

pinter

Details Diff
BUG: Fixed memory management issue in terminologies

that occurred when loading from segment descriptor file. Hopefully this also fixes the clang build error.
More fix needed to enable loading descriptor file more than once without error (but I decided to commit early to see if it builds on Mac now)

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

master 8c8e225d

2017-01-27 10:45:21

lassoan

Details Diff
ENH: Made thin-plate spline transform writing error log message more clear

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

master 0399eeff

2017-01-27 10:45:04

lassoan

Details Diff
ENH: Made Add data dialog more keyboard-friendly

It was very inconvenient that after drag-and-dropping or selecting data for loading in "Add data" dialog, user had to click on OK button.
Hitting Enter key opened the "Add directory" window instead of loading the data.

Changed behavior so that Enter always loads the listed data sets.

Hitting space bar clicks the button that has the focus. If somebody wants to load multiple files, then after a file is selected for loading
the user has to hit space bar to add more files. Once all the files are selected the user hits Enter key.

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

master 67a87bc1

2017-01-26 19:01:20

pinter

Details Diff
BUG: Fixed loading of segmentation descriptors into terminologies

Regression was due to switch to RapidJson. The way objects are created is quite different from how JsonCpp does it.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25673 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/Terminologies/Logic/vtkSlicerTerminologiesModuleLogic.cxx Diff File
 First  Prev  1 2 3 ... 10 ... 13 14 15 16 17 18 19 20 ... 30 ... 40 ... 50 ... 60 ... 70 ... 80 ... 90 ... 100 ... 110 ... 120 ... 130 ... 133 134 135  Next  Last