View Issue Details

IDProjectCategoryView StatusLast Update
0003122Slicer4Core: Base Codepublic2018-03-02 11:02
Reporterpieper Assigned Tojcfr  
PrioritylowSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version 
Target VersionFixed in VersionSlicer 4.7.0 
Summary0003122: Add ability to flip polygon normals - either use or clean up old code
Description

See discussion on the mailing lists:

http://massmail.spl.harvard.edu/public-archives/slicer-devel/2013/012473.html

Additional Information

http://massmail.spl.harvard.edu/public-archives/slicer-devel/2013/012473.html

TagsNo tags attached.

Relationships

related to 0004297 closedbpaniagua Applying transform to vtkPolyData using Transforms Module flips normals 

Activities

jcfr

jcfr

2014-05-12 23:34

administrator   ~0011745

Reminder sent to: lassoan

@Andras: Given the recent update in the transform infrastructure, is this issue still current ?

lassoan

lassoan

2014-05-13 09:38

developer   ~0011764

Ability of flipping normals is still needed if a linear transform with negative determinant is applied. Now the Surface toolbox module is available that can compute the surface normals with an optional flipping, so the functionality is available for the users.

We could compute the correct normals, but currently the model display pipeline does not include normal computation. Normals are computed in some readers and in some modules that generate polydata, but not everywhere (e.g., normals are not computed if the model is imported from an STL file). Probably the best would be to add (optional) normal computation to the model display pipeline. This normal computation could contain automatic flipping. Some cost is associated with the normal computation, the normals have to be stored, and the normals are also affected by the applied transforms, so probably once the normals are computed, the (warped) mesh+normals should be cached in memory. These cached warped models could be used for 3D model display and also for the model/slice intersection display (which is currently broken for non-linear transforms - see 0003615).

So, I think this issue should be resolved along with 0003615, by adding to the display pipeline warping and normal computation step, with caching .

lassoan

lassoan

2017-06-15 11:36

developer   ~0014866

The feature is available in the Surface toolbox module

Issue History

Date Modified Username Field Change
2013-05-16 08:30 pieper New Issue
2013-05-16 08:30 pieper Status new => assigned
2013-05-16 08:30 pieper Assigned To => jcfr
2013-05-20 10:58 jcfr Target Version => Slicer 4.4.0
2014-05-12 23:34 jcfr Note Added: 0011745
2014-05-12 23:34 jcfr Status assigned => feedback
2014-05-13 09:38 lassoan Note Added: 0011764
2014-09-25 12:47 jcfr Status feedback => acknowledged
2014-09-25 12:47 jcfr Target Version Slicer 4.4.0 => Slicer 4.5.0-1
2015-09-22 10:31 jcfr Target Version Slicer 4.5.0-1 =>
2016-11-09 16:20 jcfr Relationship added related to 0004297
2017-06-15 11:36 lassoan Status acknowledged => resolved
2017-06-15 11:36 lassoan Resolution open => fixed
2017-06-15 11:36 lassoan Note Added: 0014866
2017-06-15 11:36 jcfr Fixed in Version => Slicer 4.7.0
2018-03-02 11:02 jcfr Status resolved => closed