View Issue Details

IDProjectCategoryView StatusLast Update
0001915Slicer4Core: Base Codepublic2014-05-14 15:13
ReporterungiAssigned Tojcfr 
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0001915: Effect of matrix bottom row in Transforms module
Description

In the Transforms module, a value larger than 1.0 in the bottom row of a transform matrix (perspective projection part of the matrix) does not always make its effect in the other coordinates when an additional translation is applied. All values in the result matrix are capped by the Min Max values of the translation sliders when the sliders are changed.
This function worked correctly in Slicer 3.

TagsNo tags attached.

Relationships

has duplicate 0003818 resolvedlassoan Problem with hardening 4th diagonal value (scaling) of the transform matrix 

Activities

lassoan

lassoan

2012-04-18 06:12

developer   ~0004041

Several places in Slicer core and extensions the bottom row of the matrix is ignored (assumed to be [0 0 0 1]). Therefore, the cleanest solution would be to make the bottom row read-only in the GUI.

jcfr

jcfr

2013-08-27 13:33

administrator   ~0009650

@Chrystel: This could be done by adding a property named PerspectiveProjectionEditable to ctkVTKAbstractMatrixWidget

See https://github.com/commontk/CTK/blob/master/Libs/Visualization/VTK/Widgets/ctkVTKAbstractMatrixWidget.h

In addition to

Q_PROPERTY(bool PerspectiveProjectionEditable READ ...)

the methods to add will be:

bool perspectiveProjectionEditable()const;
void setPerspectiveProjectionEditable(bool value);

jcfr

jcfr

2013-08-27 13:34

administrator   ~0009651

Reminder sent to: pieper

@steve: What do you think of the solution proposed in note 9650 ?

jcfr

jcfr

2014-05-13 20:31

administrator   ~0011838

Last edited: 2014-05-13 20:35

Reminder sent to: lassoan

@Andras: Do you think adding a property "PerspectiveProjectionEditable" to ctkVTKAbstractMatrixWidget make sense ?

pieper

pieper

2014-05-14 03:50

administrator   ~0011842

@jcfr: I like the idea of hiding the row as described in #9650

lassoan

lassoan

2014-05-14 15:12

developer   ~0011859

I would prefer to have a non-editable 4-th row, as it makes clear that the matrix is a homogenous transformation. I think the property name could be more explicit, for example 'LastRowEditable'.

lassoan

lassoan

2014-05-14 15:13

developer   ~0011860

By showing the last row the user could also verify that the values are indeed [0 0 0 1], as expected.

Issue History

Date Modified Username Field Change
2012-04-17 17:36 ungi New Issue
2012-04-17 17:43 finetjul Project Slicer3 => Slicer4
2012-04-18 06:12 lassoan Note Added: 0004041
2012-08-20 07:49 nicole Assigned To => finetjul
2012-08-20 07:49 nicole Status new => assigned
2012-08-20 07:49 nicole Target Version => Slicer 4.2.5
2012-08-21 09:39 jcfr Target Version Slicer 4.2.5 => Slicer 4.3.0
2013-08-09 04:39 finetjul Target Version Slicer 4.3.0 => Slicer 4.4.0
2013-08-09 04:43 finetjul Assigned To finetjul => chrysteljuan
2013-08-27 13:33 jcfr Note Added: 0009650
2013-08-27 13:34 jcfr Note Added: 0009651
2014-05-13 20:30 jcfr Assigned To chrysteljuan => jcfr
2014-05-13 20:30 jcfr Target Version Slicer 4.4.0 =>
2014-05-13 20:31 jcfr Note Added: 0011838
2014-05-13 20:35 jcfr Note Edited: 0011838
2014-05-14 03:50 pieper Note Added: 0011842
2014-05-14 15:12 lassoan Note Added: 0011859
2014-05-14 15:13 lassoan Note Added: 0011860
2014-08-26 15:24 lassoan Relationship added has duplicate 0003818