Difference between revisions of "Documentation/Nightly/Announcements"
Line 269: | Line 269: | ||
= For Developers = | = For Developers = | ||
+ | |||
+ | == Modules and Extensions == | ||
+ | |||
+ | * ExtensionWizard | ||
+ | ** Added "Enable developer mode" option to ExtensionWizard | ||
+ | |||
+ | * SelfTests | ||
+ | ** Allow self tests to set a custom delay for message display | ||
+ | |||
+ | * MRMLNodeComboBox | ||
+ | ** Allow qMRMLNodeComboBox base name setting for each node type | ||
+ | ** Added removeAttribute function to MRML node comboboxes and proxy model | ||
+ | ** Multiple node types can be created in qMRMLNodeComboBox | ||
+ | ** Support custom behavior for default actions. | ||
+ | |||
+ | * MRML Scene introspection | ||
+ | ** Added node printself output to node inspector | ||
+ | |||
+ | * Message logging | ||
+ | ** Added vtkInfoMacro | ||
+ | |||
+ | * DICOM | ||
+ | ** Package additional DCMTK applications: echoscu, dsr2html, xml2dcm and xml2dsr | ||
+ | |||
+ | * Markups | ||
+ | ** Signal end fiducial interaction in 3D | ||
+ | ** Add reusable simple markups widget | ||
+ | |||
+ | * Module API | ||
+ | ** 3a2091c ENH: Extend module API with "widgetRepresentationCreationEnabled" property | ||
+ | |||
+ | * Slicerlets | ||
+ | ** Allow slicelets and Slicer tests to handle log messages. | ||
+ | |||
+ | * Units | ||
+ | ** Added extra units support: frequency, velocity and intensity. | ||
+ | ** Extended Units logic API adding GetDisplayCoefficient() and GetSIPrefixCoefficient() | ||
+ | ** Updated MRMLUnitNode to ensure value to string conversion account for precision. | ||
+ | |||
+ | * SubjectHierarchy | ||
+ | ** Introduced adaptor classes facilitating implementation of python scripted subject hierarchy plugins. | ||
+ | ** Introduced autoDeleteSubjectHierarchyChildren property | ||
+ | |||
+ | * Editor | ||
+ | ** Facilitate re-use of Editor python components in extension (LabelStructureListWidget in 043f398) | ||
+ | ** Updated EditUtil API adding function SetUseLabelOutline() to explicitly set label outline state on all Slice nodes | ||
== Under the hood == | == Under the hood == | ||
− | + | * IDE integration | |
+ | ** Improve build targets organization in IDE that support folders. | ||
+ | ** VisualStudio: Do not build documentation when F7 is pressed. | ||
+ | ** Facilitate integration with python IDE allowing minimal 'slicer' module to be imported. | ||
* Build-system | * Build-system | ||
− | ** | + | ** Add support for Visual Studio 2013. |
+ | ** Update build system anticipating transition to modern CMake. | ||
+ | ** Update MacOSX packaging infrastructure anticipating the signing of package in future release. | ||
+ | ** Update code base anticipitating compliance with C++11. | ||
+ | ** Remove <code>Slicer_ITKV3_COMPATIBILITY</code> build option. | ||
+ | ** Add option <code>Slicer_USE_ITKPython</code> to turn on ITK Python wrapping. | ||
+ | ** Removed duplicated code using ITK version of MGHIO. | ||
+ | |||
+ | * Python | ||
+ | ** Added support writing scripted modules and widgets as new-style Python classes. | ||
+ | ** Simplify scripted module introducing SlicerPythonCppAPI. | ||
+ | ** Introduced qSlicerScriptedUtils::executeFile() | ||
+ | ** Updated CTK to include new PythonQt C++/Python ownership tracking feature. | ||
+ | ** Import scripted module as python module to avoid module top-level variables to clobber each other. [http://www.na-mic.org/Bug/view.php?id=3549 #3549] | ||
+ | |||
+ | * Platform support | ||
+ | ** Fix support for 32-bit build allowing use of Slicer on Surface tablet. | ||
+ | |||
+ | * Packaging & Testing infrastructure | ||
+ | ** Capturing VTK errors/warnings during testing. | ||
+ | ** Update extension build system to report packaging error on CDash. | ||
+ | |||
+ | * Rendering / Visualization | ||
+ | ** Add Slicer_VTK_RENDERING_BACKEND configure option | ||
+ | |||
+ | * MRML | ||
+ | ** Add support in vtkMRMLNode for multiple references to the same node. | ||
+ | ** Introducing InvokeCustomModifiedEvent. | ||
+ | |||
+ | * ApplicationLogic | ||
+ | ** Added function PropagateLabelVolumeSelection(), PropagateForegroundVolumeSelection() and PropagateBackgroundVolumeSelection() | ||
+ | |||
+ | * VolumeRenderingLogic | ||
+ | ** Extend volume rendering logic API adding GetPresetByName function. | ||
+ | |||
+ | * View management | ||
+ | ** Add qMRMLLayoutViewFactory | ||
+ | ** Add utility method to display node in only 1 view | ||
Revision as of 14:30, 2 November 2015
Home < Documentation < Nightly < Announcements
For the latest Slicer documentation, visit the read-the-docs. |
Summary | What is 3D Slicer | Slicer Nightly Highlights | Slicer Training | Slicer Extensions | Other Improvements, Additions & Documentation |
Summary
The community of Slicer developers is proud to announce the release of Slicer Nightly.
- Slicer Nightly introduces
- An improved App Store, known as the Extension Manager, for adding plug-ins to Slicer. More than 80 plug-ins and packages of plug-ins are currently available.
- Close to 150 feature improvements and bug fixes have resulted in improved performance and stability.
- Improvements to many modules.
- Click here to download Slicer Nightly for different platforms and find pointers to the source code, mailing lists and the bug tracker.
- Please note that Slicer continues to be a research package and is not intended for clinical use. Testing of functionality is an ongoing activity with high priority, however, some features of Slicer are not fully tested.
- The Slicer Training page provides a series of tutorials and data sets for training in the use of Slicer.
slicer.org is the portal to the application, training materials, and the development community.
What is 3D Slicer
3D Slicer is:
- A software platform for the analysis (including registration and interactive segmentation) and visualization (including volume rendering) of medical images and for research in image guided therapy.
- A free, open source software available on multiple operating systems: Linux, MacOSX and Windows
- Extensible, with powerful plug-in capabilities for adding algorithms and applications.
Features include:
- Multi organ: from head to toe.
- Support for multi-modality imaging including, MRI, CT, US, nuclear medicine, and microscopy.
- Bidirectional interface for devices.
There is no restriction on use, but Slicer is not approved for clinical use and intended for research. Permissions and compliance with applicable rules are the responsibility of the user. For details on the license see here
Slicer Nightly Highlights
- Improved NameOfModule module with XXX for YYYY - click here for demo video.
- Improved ....
- Something else
- And a last one
Slicer Training
The Slicer Training page provides a series of updated tutorials and data sets for training in the use of Slicer Nightly.
Slicer Extensions
AnglePlanes This Module is used to calculate the angle between two planes by using the normals NEW
Chest_Imaging_Platform Chest Imaging Platform is an extension for quantitative CT imaging biomarkers for lung diseases NEW
DebuggingTools This extension contains various tools useful for developing and debugging modules NEW
DeveloperToolsForExtensions This extension offers different tools to help developers when they create Slicer extension NEW
DTI-Reg DTI-Reg is an extension that performs pair-wise DTI registration, using scalar FA map to drive the registration NEW
EasyClip This Module is used to clip one or different 3D Models according to a predetermined plane NEW
GraphCutSegment This is a segment extension using graph cut and star shape algorithm NEW
LumpNav Breast tumor resection using tracked ultrasound and cautery NEW
MarginCalculator The Matlab Bridge extension allows running Matlab scripts as command-line interface (CLI) modules directly from 3D Slicer NEW
MeshStatistics Mesh Statistics allows users to compute descriptive statistics over specific and predefined regions NEW
MeshToLabelMap This extension computes a label map from a 3D model NEW
PET-IndiC The PET-IndiC Extension allows for fast segmentation of regions of interest and calculation of quantitative indices NEW
PetSpectAnalysis First Version of the Pet Spect Analysis Extension NEW
PETTumorSegmentation Tumor and lymph node segmentation in PET scans NEW
PickAndPaint Pick 'n Paint tool allows users to select ROIs on a reference model and to propagate it over different time point models NEW
Q3DC This extension contains one module of the same name NEW
ResampleDTIlogEuclidean This resamples Diffusion Tensor Images (DTI) in the log-euclidean framework NEW
SlicerHeart Modules for cardiac analysis and intervention planning and guidance NEW
SlicerProstate SlicerProstate extension hosts various modules to facilitate processing and management of prostate image data, utilizing prostate images in image-guided interventions and development of the imaging biomarkers of the prostate cancer NEW
Slicer-Wasp A module to perform a series of ITK watershed segmentation (without seeds) and then let the user create a label map out of selected components NEW
T1Mapping T1 mapping estimates effective tissue parameter maps (T1) from multi-spectral FLASH MRI scans with different flip angles NEW
Improved Extensions in Slicer 4.5
- ABC
- CMFreg
- CurveMaker
- DTIProcess
- GelDosimetryAnalysis
- IntensitySegmenter
- MatlabBridge
- ModelToModelDistance
- NeedleFinder
- PETDICOMExtension
- PercutaneousApproachAnalysis
- Reporting
- SlicerIGT
- SlicerRT
- VolumeClip
Extensions removed from Slicer 4.5
- houghTransformCLI: Removed by the original author because it was not needed anymore.
Extensions renamed
- PyDevRemoteDebug -> DebuggingTools
- MultidimData -> Sequences
- TrackerStabilizer -> Slicer-TrackerStabilizer
- AirwaySegmentation -> Slicer-AirwaySegmentation
Other Improvements, Additions & Documentation
Optimization
- Added support for loading of large images on windows.
- Reduced the memory footprint by fixing memory leaks
- Sped up by 2x slice rendering when the volume is linearly transformed.
- Improved reslicing speed of quasi-axis-aligned slices.
- Sped up annotation ROI display about 10x faster (100ms to 10ms).
- Improved tractography display performance.
- Prevent viewers flickering when only few nodes are removed.
- Improved performance of transform widget.
Transforms
- Added support for copy/paste of linear transforms.
- Support saving of any transform to a grid transform.
- Addressed translation slider instability in rotate first mode.
- Improved composite transform support.
- Added support for thin plate spline transforms.
- Changed default ITK bspline transform writing file format to ITKv4.
- Addressed display issue for slice intersection display of non-linearly transformed model.
- Made transforms module translate-rotate first icon nicer.
DICOM
- Improved DICOM browser allowing exporting to disk patients/studies/series using right click
- Improved support for loading of DICOM referenced datasets.
- Added support for DICOM private dictionary
- Read and apply window/level found in DICOM volumes.
- Added support for Philips DWI datasets
- Fixed loading of DICOM image from files containing special characters.
Data processing
CLI
- Added support for transfer of fiducial file to/from CLI modules.
- Added support for transfer of Hierarchy sub-scene to/from CLI modules.
- Fixed loading multivolumes produced by CLI modules.
Usability
- Built-in module categories and extensions categories are listed separately in module selector.
- Allow multi-selection in subject hierarchy.
- Generate high-resolution magnified screenshots for 3D view.
SubjectHierarchy
- Highlight nodes in subject hierarchy referenced by DICOM
- Added Transforms subject hierarchy plugin
- Added new DICOM export feature and scalar volume plugin. #3163
- Added generic folder plugin to subject hierarchy
- Subject hierarchy nodes automatically created for supported types
- Added auto-delete subject hierarchy children to Application Settings
- Added auto-create subject hierarchy option to Application Settings
- Subject hierarchy tree headers show icons instead of text
- Fixed subject hierarchy nodes creation when importing old scene #3902
- Fixed volume visibility controls. #3893
Python scripting
- Upgraded from Numpy 1.4.1 to NumPy 1.9.2
- Upgraded from Python 2.7.3 to Python 2.7.10
- Bundled nose python module into the Slicer package.
- Added logging functions for Python.
- Fixed VTKObservationMixin and added documentation.
- Updated IOManager and DICOMWidgets to emit
newFileLoaded()
. - Added logging of Python console user input.
- Added accessor for vertex points of models as numpy array.
- Allow displayable manager to be introspected using python.
Editor
- Warn user when GrowCut effect is attempted with unsupported image type.
- Added ability to delete only the selected structure.
- Ensure label map is updated each time a master volume is selected.
- Improved threshold paint effect to have inclusive ranges #4066
- Remember pain radius when effect are changed #1853
- Reset editor interface when scene is closed.
- Ensure a related merge volume is selected after a structure deleted.
Markups
- Added ability to refocus 3d cameras on a fiducial. #3683
LabelMapVolumeNode
- TBD
- Added labelmap node support to subject hierarchy
- Improved CLI image widget type handling.
Slice viewers
- Added control to adjust thickness for label map outlines #2267
DataProbe
- Added magnified slice view into DataProbe panel.
SliceViewAnnotations
- Added orientation marker to slice view annotations.
- Improved integration of SliceViewAnnotations. #3943
OpenIGTLink
DoubleArrays
- Improved loading and saving of measurement files (.mcsv)
CastScalarVolume
- Improved CastScalarVolume module to support input of type unsigned char, int or long.
SceneView
- Improved management of data loaded between creation of SceneViews
Landmark
- Added support for landmark refinement
- Improved LandmarkRegistration plugin loader displaying message if plugin failed to be loaded.
MultiVolumeImporter
- Fixed loading of MGH variable FA multivolume.
FiberBundleLabelSelect
- Fixed ADD operation for ‘Label to include’. #4025
- Added support for both VTK and VTP input files.
DTI support
- Resolved multithread issue that caused errors with multiple b values. #3977
- Fixed parallel/perpendicular diffusivity on glyphs, interactive seeding line display. #3857
- Fixed displaying of Tensor properties and their ranges in Tractography display module for lines/tubes/glyphs #3857
- Added logic for propagating color and opacity to fiber hierarchies. #3925
- Added support for Fiber Hierarchies in the Models Module. #3678
VolumeRendering
- Fixed volume rendering not visible when non-volume-rendered volume is frequently changing in the scene.
- Ensure volume rendering is updated when volume geometry is modified. #4023
FiberTractMeasurements
- TBD
- Added CLI module FiberTractMeasurements allowing to XXXX supporting cluster aggregation.
For Developers
Modules and Extensions
- ExtensionWizard
- Added "Enable developer mode" option to ExtensionWizard
- SelfTests
- Allow self tests to set a custom delay for message display
- MRMLNodeComboBox
- Allow qMRMLNodeComboBox base name setting for each node type
- Added removeAttribute function to MRML node comboboxes and proxy model
- Multiple node types can be created in qMRMLNodeComboBox
- Support custom behavior for default actions.
- MRML Scene introspection
- Added node printself output to node inspector
- Message logging
- Added vtkInfoMacro
- DICOM
- Package additional DCMTK applications: echoscu, dsr2html, xml2dcm and xml2dsr
- Markups
- Signal end fiducial interaction in 3D
- Add reusable simple markups widget
- Module API
- 3a2091c ENH: Extend module API with "widgetRepresentationCreationEnabled" property
- Slicerlets
- Allow slicelets and Slicer tests to handle log messages.
- Units
- Added extra units support: frequency, velocity and intensity.
- Extended Units logic API adding GetDisplayCoefficient() and GetSIPrefixCoefficient()
- Updated MRMLUnitNode to ensure value to string conversion account for precision.
- SubjectHierarchy
- Introduced adaptor classes facilitating implementation of python scripted subject hierarchy plugins.
- Introduced autoDeleteSubjectHierarchyChildren property
- Editor
- Facilitate re-use of Editor python components in extension (LabelStructureListWidget in 043f398)
- Updated EditUtil API adding function SetUseLabelOutline() to explicitly set label outline state on all Slice nodes
Under the hood
- IDE integration
- Improve build targets organization in IDE that support folders.
- VisualStudio: Do not build documentation when F7 is pressed.
- Facilitate integration with python IDE allowing minimal 'slicer' module to be imported.
- Build-system
- Add support for Visual Studio 2013.
- Update build system anticipating transition to modern CMake.
- Update MacOSX packaging infrastructure anticipating the signing of package in future release.
- Update code base anticipitating compliance with C++11.
- Remove
Slicer_ITKV3_COMPATIBILITY
build option. - Add option
Slicer_USE_ITKPython
to turn on ITK Python wrapping. - Removed duplicated code using ITK version of MGHIO.
- Python
- Added support writing scripted modules and widgets as new-style Python classes.
- Simplify scripted module introducing SlicerPythonCppAPI.
- Introduced qSlicerScriptedUtils::executeFile()
- Updated CTK to include new PythonQt C++/Python ownership tracking feature.
- Import scripted module as python module to avoid module top-level variables to clobber each other. #3549
- Platform support
- Fix support for 32-bit build allowing use of Slicer on Surface tablet.
- Packaging & Testing infrastructure
- Capturing VTK errors/warnings during testing.
- Update extension build system to report packaging error on CDash.
- Rendering / Visualization
- Add Slicer_VTK_RENDERING_BACKEND configure option
- MRML
- Add support in vtkMRMLNode for multiple references to the same node.
- Introducing InvokeCustomModifiedEvent.
- ApplicationLogic
- Added function PropagateLabelVolumeSelection(), PropagateForegroundVolumeSelection() and PropagateBackgroundVolumeSelection()
- VolumeRenderingLogic
- Extend volume rendering logic API adding GetPresetByName function.
- View management
- Add qMRMLLayoutViewFactory
- Add utility method to display node in only 1 view
Moved from OpenIGTLink 66e272d to 849b434 (53 commits)
Looking at the Code Changes
From a git checkout you can easily see the all the commits since the time of the 4.4.0 release:
git log v4.4.0..HEAD
To see a summary of your own commits, you could use something like:
git log v4.4.0..HEAD --oneline --author=me
see the git log man page for more options.
Commit stats and full changelog