1. 17 Apr, 2018 1 commit
    • lassoan's avatar
      ENH: Added new volume rendering quality option: Normal · e94653c8
      lassoan authored
      SetLockSampleDistanceToInputSpacing usually provides good quality rendering at acceptable speed, but on slow computers or in virtual reality views (where very high frame rate is needed), it is still necessary to allow choose between volume rendering speed and quality.
      
      Added a new option to clearly distinguish between quality settings:
      - adaptive: sampling computed from desired fps
      - normal: sampling computed from input volume
      - maximum quality: sampling computed from input volume, with 10x oversampling
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@27153 3bd1e089-480b-0410-8dfb-8563597acbee
      e94653c8
  2. 16 Apr, 2018 2 commits
  3. 11 Apr, 2018 2 commits
    • lassoan's avatar
      ENH: Make model clipping GUI more user friendly · 75bbf0f9
      lassoan authored
      Clipping controls (enable clipping for selected model; clipping planes) were shown quite far from each other on Models module GUI. The user had to click enable clipping, disable backface culling, scroll down to clipping planes section, open it, and select clipping planes. Very often users could not figure out that they needed all these steps.
      
      Solution:
      
      Clipping planes are applied globally, to all models, therefore separation from display properties of the selected model is good. But made it easier to get from model-specific clipping enable/disable checkbox to clipping plane definition by adding a "Configure" button next to the clipping enable checkbox, which opens the clipping planes section and scrolls the module widget to ensure the section is visible.
      
      Added a checkbox to clipping planes section, which allows the user to enable/disable clipping of the selected model at the same place where clipping planes are defined.
      
      If user enables clipping then 1. backface culling is automatically disabled; 2. if no clipping slice is selected then red slice clipping is automatically enabled.
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@27141 3bd1e089-480b-0410-8dfb-8563597acbee
      75bbf0f9
    • lassoan's avatar
      BUG: Fixed py_NeurosurgicalPlanningTutorialMarkupsSelfTest · b273d528
      lassoan authored
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@27140 3bd1e089-480b-0410-8dfb-8563597acbee
      b273d528
  4. 10 Apr, 2018 1 commit
  5. 05 Apr, 2018 2 commits
  6. 31 Mar, 2018 1 commit
  7. 30 Mar, 2018 1 commit
  8. 28 Mar, 2018 1 commit
  9. 27 Mar, 2018 1 commit
  10. 26 Mar, 2018 3 commits
  11. 23 Mar, 2018 3 commits
    • jcfr's avatar
      ENH: Update VTK · 7ecc94b2
      jcfr authored
      In addition to the list of changes listed below, this commit allows to
      disable the effect of these Slicer commits when building against VTK9:
      * r23656 (BUG: 3808: fix failing test - add some pointer checks)
      * r23648 (BUG: fixes for 3808 fiducial picking issue)
      * r25672 (BUG: Fixed picking of markups in 3D view)
      
      Indeed, thanks to commit kitware/VTK@8e4f2f7 from "Johan Andruejol <johan.andruejol@kitware.com>"
      and "Ken Martin <ken.martin@kitware.com>", the workaround specific to Slicer/VTK fork
      originally implemented by "Steve Pieper <pieper@bwh.harvard.edu>" is not needed anymore.
      
      This properly address issue http://na-mic.org/Bug/view.php?id=3808
      
      
      Highlighted list of changes
      ---------------------------
      
      * kitware/VTK@3b814e9 (from Andras Lasso <lasso@queensu.ca>)
        ENH: Improve scene exporters and STL, OBJ, and PLY file IO
      
          - Allow reading/writing custom comments in STL, PLY, and OBJ files. This allows
          storing metadata, such as coordinate system, unit, or color in the files.
          - Allow reading/writing binary comments (that can contain 0 character) for STL
          files. This allows reading/writing color information in Mimics-style (Mimics
          software writes RGBA color as 4 bytes in STL file binary header).
          - Allow specifying renderer for exporting: Some exporters rejected to export
          a scene when more renderers were associated with a render window. This was an
          issue because it prevented scene export when additional renderers were used for
          displaying various annotations on the render window. Instead of hardcoding using
          the first renderer, added a ActiveRenderer member, which defines which renderer
          content should be exported. If not set then the first renderer is used, so the
          behavior is backward-compatible.
          - Fixed writing of of .mtl file path in .obj file (full path of .mtl file was
          written into the .obj file).
      
        Slicer: Used in Segmentation and SegmentEditor modules
      
      * kitware/VTK@8e4f2f7 (from Johan Andruejol <johan.andruejol@kitware.com>)
        Fix picking through a disabled widget with picking manager on
      
          With picking manager on, it was impossible to pick a widget if a disabled
          widget was in front of it.
          To fix this, we have:
            - In the old style widgets (derived only from vtkInteractorObserver), we
          went through all the implementation and added the unregistration/registration
          of the pickers in the SetEnabled() method.
           - In new style widgets (derived from vtkAbstractWidget and
          vtkWidgetRepresentation) the method RegisterPickers and UnRegisterPickers
          have been moved into the representation public API to be able to be called
          by the widget's SetEnabled() method. This allows the widget to register and
          unregisters the pickers as necessary when enabled and disabled.
      
          In both cases we also implemented the SetPickingManaged method as previously
          the PickingManaged property was never used anywhere in the code base.
          Similarly, the PickersModified() method was removed as its purpose seemed
          redundant to SetPickingManaged().
      
          The test TestPickingManagerSeedWidget2 was added to demonstrate/test the
          picking behind a disabled widget.
      
          For more background information, see https://issues.slicer.org/view.php?id=3808
      
      Co-Authored-by: Ken Martin's avatarKen Martin <ken.martin@kitware.com>
      Co-Authored-by: Jean-Christophe Fillion-Robin's avatarJean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
          Thanks: Steve Pieper <pieper@bwh.harvard.edu>
      
        Slicer: Allow to remove workaround and Slicer/VTK specific patch associated with issue #3808
      
      * kitware/VTK@d36b129 (from Andrew Bauer <andy.bauer@kitware.com>)
        Improve vtkAppendFilter efficiency (used by vtkAppendPolyData itself used in
      
          If there's a single unstructured grid in the composite dataset we
          now just do a shallow copy of that to the output.
      
        Slicer: used in vtkSlicerTransformLogic, vtkSlicerSegmentationsModuleLogic,
        vtkOrientedImageDataResample, vtkMRMLVolumeNode, MergeModels CLI,
        and ScriptedSegmentEditor templates
      
      * kitware/VTK@a7988f5 (from Francois Budin <francois.budin@kitware.com>)
        OpenGL2: Check that context exists before trying to pop context.
      
          On some linux drivers (such as nvidia version 384.111 and 387.34) setting the
          context to zero causes a segfault so check before setting in cases where the
          destruction may be trying to pop to a zero context.
      
      * kitware/VTK@a7988f5 (from Ken Martin <ken.martin@kitware.com>)
        Add support for writing larger unstructured grids
      
          Patch from gitlab Constantine @Butakoff
      
        Slicer: used in vtkMRMLModelStorageNode and ProbeVolumeWithModel
      
      
      
      Complete list of changes
      ------------------------
      
      $ git shortlog ed4b9f5..0f8cf03 --no-merges
      Albert Ziegenhagel (1):
            Remove workaround for old FindHDF5 problems
      
      Allison Vacanti (2):
            Use a tolerance for detecting zero width lengths.
            Fix an integer overflow in vtkStaticCellLocator.
      
      Andras Lasso (2):
            ENH: Improve scene exporters and STL, OBJ, and PLY file IO
            COMP: Added missing override keyword to vtkSTLWriter
      
      Andrew Bauer (2):
            Improve vtkAppendFilter efficiency
            Fixing ghost cells generator filter bug and efficiency improvements
      
      Brad King (1):
            cmake: Set policy CMP0074 explicitly to avoid warnings
      
      David E. DeMarle (2):
            temporal cache for ospray volumes to speed up playback
            hide windows compilation warning
      
      David Gobbi (2):
            Predefine DOXYGEN_SHOULD_SKIP_THIS for doxygen.
            17212: Let doxygen see the array methods.
      
      David Thompson (2):
            Fix #18050 by uncommenting the required code. Derp.
            Fix #18050 by uncommenting the required code. Derp.
      
      Francois Budin (1):
            Check that context exists before trying to pop context.
      
      Joachim Pouderoux (1):
            Fix some typos and update two thanks paragraphs.
      
      Johan Andruejol (1):
            Fix picking through a disabled widget with picking manager on
      
      Ken Martin (5):
            add support for writing larger unstructured grids
            add the notion of pose coordinates
            add better support for using mesa when needed on windows
            add a metod to get all the poses at once from openvr
            add support for bmp textures and BOM in obj file
      
      Kyle Edwards (2):
            Test GL2PS version
            Move vtk_module_third_party() call back to the top
      
      Menno Deij - van Rijswijk (1):
            Fixed a problem with coincident points due to rounding in single precision
      
      Nicolas Vuaille (1):
            Improve vtkMolecule framework
      
      PEGTL Upstream (2):
            pegtl 2018-03-10 (078abc42)
            pegtl 2018-03-22 (4ecfc4ea)
      
      Robert Maynard (2):
            vtkAbstractArray gained support for runtime user defined free functions.
            Remove constexpr from TestArrayFreeFunctions so VS2013 can compile the test.
      
      Sankhesh Jhaveri (2):
            Move the uniform from the template to the shader composer
            Declare shader uniform optionally based on mapper property
      
      Sean McBride (6):
            auto-fix clang-tidy readability-redundant-control-flow warnings
            Applied a subset of clang-tidy’s misc-macro-parentheses fixes
            auto-fixed clang-tidy readability-redundant-string-init warnings
            auto-fixed clang-tidy performance-for-range-copy warnings
            auto-fixed clang-tidy readability-redundant-string-cstr warnings
            Fixed clang-tidy modernize-replace-random-shuffle warning, with a tweaked fix
      
      Shawn Waldon (2):
            Add an option to vtkAxisActor2D to skip computing font size
            Add test of manual ruler axis label font size
      
      Sujin Philip (1):
            Probe now uses vtkAbstractCellLocator type
      
      Utkarsh Ayachit (4):
            add update.sh and other files for pegtl 3rd party module.
            Adding parser for MotionFX CFG files.
            avoid dangling pointer in vtkMersenneTwister_Private.
            Make `vtkIOMotionFX` non-StandAlone.
      
      Will Schroeder (2):
            Complete contour loops that touch the boundary
            Name normals array to support applications
      
      luz.paz (1):
            Misc. typos (cont.)
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@27104 3bd1e089-480b-0410-8dfb-8563597acbee
      7ecc94b2
    • lassoan's avatar
      ENH: Added Hollow effect to Segment Editor · 28ea2ebe
      lassoan authored
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@27103 3bd1e089-480b-0410-8dfb-8563597acbee
      28ea2ebe
    • agirault's avatar
      BUG: Fix scalar range step in qMRMLNodeDisplayNodeWidget · 4386e5fb
      agirault authored
      Use significantDecimals and closestPowerOfTen
      
      From: Alexis Girault <alexis.girault@kitware.com>
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@27101 3bd1e089-480b-0410-8dfb-8563597acbee
      4386e5fb
  12. 22 Mar, 2018 2 commits
  13. 20 Mar, 2018 3 commits
  14. 16 Mar, 2018 1 commit
  15. 13 Mar, 2018 1 commit
    • pinter's avatar
      ENH: Added performance related options to GPU volume rendering · 4e01304f
      pinter authored
      - Added option to use the mapper's feature LockSampleDistanceToInputSpacing to calculate it internally instead of setting sampling distance manually. On by default. Only applies to GPU rendering in adaptive mode.
      - Added UseJittering option to GPU display node and the UI in advanced rendering properties (called Surface smoothing). If turned on, then uses random noise to remove the wood-grain artifact. Off by default.
      - Widened range of FPS slider for adaptive mode to accommodate for new virtual reality use cases (maximum used to be 20, now it is 100)
      - Removed empty "Misc" tab from Volume rendering module UI
      - Fixed ctkDoubleSlider related warning message
      - Modernized vtkMRMLVolumeRenderingDisplayNode to use node references and new property macros. This fixed several bugs as well (e.g. not reading/writing attributes). Removed the related test step from vtkMRMLVolumePropertyNodeTest1
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@27072 3bd1e089-480b-0410-8dfb-8563597acbee
      4e01304f
  16. 10 Mar, 2018 1 commit
  17. 09 Mar, 2018 1 commit
  18. 08 Mar, 2018 1 commit
  19. 07 Mar, 2018 1 commit
  20. 04 Mar, 2018 4 commits
  21. 02 Mar, 2018 1 commit
  22. 25 Feb, 2018 1 commit
  23. 24 Feb, 2018 1 commit
    • pinter's avatar
      ENH: Separated volume rendering preset combobox from module widget · f4b50114
      pinter authored
      The Volume Rendering module widget handled everything, which made the class quite big, and also prevented reusing the preset combobox in other modules or slicelets.
      
      - Added reusable qSlicerVolumeRenderingPresetComboBox class that contains the combobox and the shift slider
      - Added EffectiveRange member to vtkMRMLVolumePropertyNode. It sets a custom extent to the transfer functions so that only the meaningful part of it is shown (and not the long tails). Thus the shift slider is much less sensitive and is more user friendly
      - Added effectiveRange attribute to presets.xml. For now the effective range is between the second and last second points for CTs, first and second last for MRs
      - Removed calculation of transfer function extent based on volume scalar range. The effective range is always valid, and contains a meaningful range (if not then encompasses the transfer function bounds), so this is not necessary anymore (and the combobox class is also cleaner)
      - Instead of only moving the middle points of the transfer function, all the points are moved. This fixes the bug of squashing the transfer function if it was shifted beyond its extreme points (bounds)
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@26955 3bd1e089-480b-0410-8dfb-8563597acbee
      f4b50114
  24. 23 Feb, 2018 1 commit
  25. 22 Feb, 2018 1 commit
  26. 20 Feb, 2018 1 commit
  27. 14 Feb, 2018 1 commit