Commit 0bf8b4f9 authored by Genial-O's avatar Genial-O
Browse files

misc: merge release 21.0.0

parents 33c7dae0 ebdefbfe
......@@ -7,7 +7,7 @@ commit_msg_help = """
Required commit message:
type(scope): description
- type: enh, feat, fix, refactor
- scope: build, ci, core, doc, graphics, io, physics, test, ui, vision
- scope: build, ci, core, doc, filter, geometry, io, navigation, test, ui, viz
or
type: description
- type: merge, misc, style
......@@ -15,7 +15,7 @@ or
with open(commit_msg_path) as commit_msg_file:
commit_msg_content = commit_msg_file.readline()
message_regex = r'(?:(?P<scoped_type>enh|feat|fix|refactor)\((?P<scope>build|ci|core|doc|graphics|io|physics|test|ui|vision)\)|(?P<unscoped_type>merge|misc|style)): (?P<subject>[a-z].*?(?:\b|[\]\)\'\"\`])$)'
message_regex = r'(?:(?P<scoped_type>enh|feat|fix|refactor)\((?P<scope>build|ci|core|doc|filter|geometry|io|navigation|test|ui|viz)\)|(?P<unscoped_type>merge|misc|style)): (?P<subject>[a-z].*?(?:\b|[\]\)\'\"\`])$)'
if not re.match(message_regex, commit_msg_content):
sys.stderr.write("\n'" + commit_msg_content.strip() + "' message doesn't follow commit rules.\n")
......
......@@ -24,7 +24,12 @@ CMakeSettings\.json
# VSCode
*.code-workspace
.vscode/
/build/
/.build/
# JetBrains IDEs
.idea/
# Just for the CI
sight-git
\ No newline at end of file
sight-git
# various logs
*.log
This diff is collapsed.
/libs/io/zip/minizip/
\ No newline at end of file
......@@ -761,9 +761,9 @@ Remove the useless hack that skipped some events in VTK picker interactor, so th
### ExSimpleARCVOgre
*Add missing media bundle.*
*Add missing module_ui_media bundle.*
This solves the crash of ExSimpleARCVOgre at start. The bundle media was missing.
This solves the crash of ExSimpleARCVOgre at start. The bundle module_ui_media was missing.
### fwData/Image
......@@ -1261,7 +1261,7 @@ Simplifies Array API by moving the methods from the helper to the data itself:
Refactor `fwRenderOgre` and `uiVisuOgre` to use new Image, Array and Mesh API.
*Clean the media folder.*
*Clean the module_ui_media folder.*
Sorts glsl, metarial and compostior.
......@@ -1400,12 +1400,12 @@ for (; itr != itrEnd ; ++itr)
}
```
### media
### module_ui_media
*Fuse all media bundles.*
*Fuse all module_ui_media bundles.*
* Deprecate `arMedia` bundle.
* Copy all `arMedia` content into `media`.
* Copy all `arMedia` content into `module_ui_media`.
* Fixes xml files that used these bundles.
### Mesh
......@@ -1619,9 +1619,9 @@ When iterating through mesh cells, the iterator return the type as a CellType en
### resource
*Fuse all media bundles.*
*Fuse all module_ui_media bundles.*
* Adds `arMedia` and `media` into a folder `resource`.
* Adds `arMedia` and `module_ui_media` into a folder `resource`.
* Adds a new bundle `flatIcon` with flat theme icons.
### SNegato2DCamera
......@@ -1863,7 +1863,7 @@ Added several patches to build sight on Debian-med
Create a Qml sample to launch activities: `ExActivitiesQml`
* Create base class for activity launcher and sequencer service to share the code between qml and qt services.
* Move qml style from `guiQml` to `styleQml` bundles, it is required because some bundles require it and we don't want to start guiQml bundle before them.
* Move qml style from `guiQml` to `style` bundles, it is required because some bundles require it and we don't want to start guiQml bundle before them.
* Improve `AppManager` to manage input parameters and to generate unique identifier
* Create an Qml object `ActivityLauncher` to help launching activities in a Qml application
......@@ -2674,7 +2674,7 @@ Add a test in CMakeLists.txt to display a warning message if there are links bet
Add a new technique to the volume rendering in order to display the depth of the volume.
* RayTracedVolumeDepth_FP: new fragment shader that displays the volume depth.
* OffScreenRenderWindowInteractorManager: fix the rendering by calling the specific target instead of all targets.
* OffScreenWindowInteractor: fix the rendering by calling the specific target instead of all targets.
Remove a double connection in `::visuOgreAdaptor::SInteractorStyle`.
......@@ -3149,7 +3149,7 @@ Add a slot which changes enumeration state based on the index and not on the lab
*Add vs code generator.*
- add VS Code support to build and debug Sight
- to use VSCode with sight: run CMake configure with option GENERATE_VSCODE_WS, and open the workspace file "sight.code-workspace" (in build dir)
- to use VSCode with sight: run CMake configure with option SIGHT_GENERATE_VSCODE_WS, and open the workspace file "sight.code-workspace" (in build dir)
### conan
......@@ -3738,7 +3738,7 @@ The new Samples `Tuto08GenericSceneCpp` and `Tuto09MesherWithGenericSceneCpp` ar
All the services are managed in C++ in the application `Plugin` class. The services' configurations are written with `::boost::property::tree`.
To achieve this, a new helper : ``::fwServices::AppManager``was added. It simplifies the management of objects/services/connections in an application.
To achieve this, a new helper : ``::fwServices::AppManager``was added. It simplifies the management of objects/service/connections in an application.
### CMake
......@@ -3954,7 +3954,7 @@ in the unit tests.
*Replace deprecated methods to register a service.*
Replace the `::OSR::registerService(obj, srv)` by `srv->registerInOut(obj, key)`
and use `::fwServices::add(srv)` helper instead of calling directly `ServiceFactory
and use `::fwServices::add(srv)` helper instead of calling directly `Factory
### SVolumeRender
......
......@@ -298,7 +298,7 @@
* Bundle:
* Created a bundle 'activity'. It contains
* a service ::activities::SLauncherActivity to launch an activity.
* a service ::activity::SLauncherActivity to launch an activity.
* Created a new bundle 'uiMedDataQt'. It contains
* a service ::uiMedDataQt::SSelctor to show information about medical data.
* a service ::uiMedDataQt::SExportSeries to export series to an ::fwMedData::ActivitySeries defined in the service configuration.
......@@ -475,7 +475,7 @@
* Added new factory for IObjectReader and IObjectWriter and update readers/writers to use it
* Updated fwCommand : doesn't need to use factory
* Added new factory for fwXML
* Added new factory for VtkRenderWindowInteractorManager and updated visuVTKQt to use it
* Added new factory for VtkWindowInteractor and updated visuVTKQt to use it
* Added new factory for fwMetaConversion
* Added new factory for fwCamp
* Added new factory for Gui objects and updated fwGuiQt/fwGuiWx to use new factory
......@@ -487,7 +487,7 @@
* Fixed invalid free in fwRenderVTK/vtklogging.cpp
* Code cleanning : Removed several warnings, unused file, missing export
* Fixed small bug in AppConfigManager when starting and stopping ComChannels
* Fixed small bug in fwServices/ObjectMsg.cpp when subject has expired
* Fixed small bug in fwservice/ObjectMsg.cpp when subject has expired
* Added dynamicConfigStartStop attribute configuration in guiQt/editor/DynamicView.cpp
* 2D Scene
......@@ -534,7 +534,7 @@
* Updated ctrlSelection to use new data and message factories
* Thread-safe :
* Updated fwServices ServiceConfig to become thread safe
* Updated fwServices Config to become thread safe
* Updated AppConfigParameters to become thread safe.
* Updated fwServices AppConfig to become thread safe.
* Updated fwID to become thread safe.
......
This diff is collapsed.
add_subdirectory(navigation)
add_subdirectory(io)
add_subdirectory(viz)
add_subdirectory(dicom)
add_subdirectory(dicomweb)
add_subdirectory(ioActivity)
sight_add_target( activity_io_dicom TYPE MODULE )
add_dependencies(activity_io_dicom
data
io_dimse
module_activity
module_memory
module_data
module_ui_base
module_ui_qt
module_ui_dicom
module_io_dicom
module_io_dimse
module_ui_icons
module_service
module_viz_scene3d
module_viz_scene3dQt
)
<extension implements="::sight::service::extension::AppConfig">
<id>2DLocalPreviewConfig</id>
<parameters>
<param name="WID_PARENT" />
<param name="objectID" />
<param name="FILE_CACHE" default="none" />
</parameters>
<config>
<object uid="${objectID}" type="sight::data::DicomSeries" src="ref" />
<object uid="image" type="sight::data::Image" src="deferred" />
<service uid="mainview" type="sight::module::ui::base::SView">
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<view align="center" />
<view align="bottom" minWidth="200" minHeight="40" resizable="false" />
</layout>
</gui>
<registry>
<parent wid="${WID_PARENT}" />
<view sid="gs" start="true" />
<view sid="sliderIndexDicomPullerEditor" start="true" />
</registry>
</service>
<!-- *************************** Begin generic scene *************************** -->
<service uid="gs" type="sight::viz::scene3d::SRender" >
<scene>
<background topColor="#000000" bottomColor="#000000" />
<layer id="defaultLayer" order="1" />
<adaptor uid="pNegatoAdp" />
<adaptor uid="pNegatoCameraAdp" />
</scene>
</service>
<service uid="pNegatoAdp" type="sight::module::viz::scene3d::adaptor::SNegato2D" autoConnect="true" >
<inout key="image" uid="image" />
<config layer="defaultLayer" sliceIndex="axial" filtering="anisotropic" />
</service>
<service uid="pNegatoCameraAdp" type="sight::module::viz::scene3d::adaptor::SNegato2DCamera" autoConnect="true" >
<inout key="image" uid="image" />
<config layer="defaultLayer" priority="0" orientation="axial" />
</service>
<!-- *************************** End generic scene *************************** -->
<service uid="imageDumpLocker" type="sight::module::memory::LockDumpSrv">
<inout key="target" uid="image" />
</service>
<service uid="medicalImgConverter" type="sight::module::data::MedicalImageSrv">
<inout key="image" uid="image" />
</service>
<service uid="sliderIndexDicomPullerEditor" type="sight::module::ui::dicom::SSliceIndexDicomEditor">
<in key="series" uid="${objectID}" />
<out key="image" uid="image" />
<config dicomReader="::sight::module::io::dicom::SSeriesDBReader" delay="200" cacheUID="${FILE_CACHE}">
<readerConfig>
<config>
<showLogDialog>false</showLogDialog>
<enableBufferRotation>false</enableBufferRotation>
<dicomdirSupport>never</dicomdirSupport>
</config>
</readerConfig>
</config>
</service>
<start uid="mainview" />
<!-- Deferred start -->
<start uid="medicalImgConverter" />
<start uid="imageDumpLocker" />
<!-- 3D scene 'gs' -->
<start uid="pNegatoAdp" />
<start uid="pNegatoCameraAdp" />
</config>
</extension>
<extension implements="::sight::service::extension::AppConfig">
<id>2DPacsPreviewConfig</id>
<parameters>
<param name="WID_PARENT" />
<param name="objectID" />
<param name="PACS_CONFIGURATION" />
</parameters>
<config>
<object uid="${objectID}" type="sight::data::DicomSeries" src="ref" />
<object uid="image" type="sight::data::Image" />
<object uid="${PACS_CONFIGURATION}" type="sight::io::dimse::data::PacsConfiguration" src="ref" />
<service uid="mainview" type="sight::module::ui::base::SView">
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<view align="center" />
<view align="bottom" minWidth="200" minHeight="40" resizable="false" />
</layout>
</gui>
<registry>
<parent wid="${WID_PARENT}" />
<view sid="gs" start="true" />
<view sid="sliderIndexDicomPullerEditor" start="true" />
</registry>
</service>
<!-- *************************** Begin generic scene *************************** -->
<service uid="gs" type="sight::viz::scene3d::SRender" >
<scene>
<background topColor="#000000" bottomColor="#000000" />
<layer id="defaultLayer" order="1" />
<adaptor uid="pNegatoAdp" />
<adaptor uid="pNegatoCameraAdp" />
</scene>
</service>
<service uid="pNegatoAdp" type="sight::module::viz::scene3d::adaptor::SNegato2D" autoConnect="true" >
<inout key="image" uid="image" />
<config layer="defaultLayer" sliceIndex="axial" filtering="anisotropic" />
</service>
<service uid="pNegatoCameraAdp" type="sight::module::viz::scene3d::adaptor::SNegato2DCamera" autoConnect="true" >
<inout key="image" uid="image" />
<config layer="defaultLayer" priority="0" orientation="axial" />
</service>
<!-- *************************** End generic scene *************************** -->
<service uid="imageDumpLocker" type="sight::module::memory::LockDumpSrv">
<inout key="target" uid="image" />
</service>
<service uid="medicalImgConverter" type="sight::module::data::MedicalImageSrv">
<inout key="image" uid="image" />
</service>
<service uid="sliderIndexDicomPullerEditor" type="sight::module::io::dimse::SSliceIndexDicomEditor">
<in key="pacsConfig" uid="${PACS_CONFIGURATION}" />
<inout key="series" uid="${objectID}" />
<inout key="image" uid="image" />
<config dicomReader="sight::module::io::dicom::SSeriesDBReader" />
</service>
<start uid="mainview" />
<!-- Deferred start -->
<start uid="medicalImgConverter" />
<start uid="imageDumpLocker" />
<!-- VTK scene 'gs' -->
<start uid="pNegatoAdp" />
<start uid="pNegatoCameraAdp" />
</config>
</extension>
<extension implements="::sight::service::extension::AppConfig">
<id>DicomFiltering</id>
<parameters>
<param name="WID_PARENT" />
<param name="SERIESDB" />
<param name="AS_UID" />
<param name="PROGRESS_CHANNEL" />
</parameters>
<config>
<object type="sight::data::SeriesDB" uid="${SERIESDB}" src="ref" />
<object type="sight::data::SeriesDB" uid="readingSeriesDB" />
<object type="sight::data::SeriesDB" uid="loadedSeriesDB" />
<object type="sight::data::SeriesDB" uid="filteredSeriesDB" />
<object type="sight::data::Vector" uid="readingSelection" />
<object type="sight::data::Vector" uid="loadedSelection" />
<!-- ******************************* UI declaration *********************************** -->
<service uid="mainView" type="sight::module::ui::base::SView" >
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<view align="center" minWidth="200" />
<view align="bottom"/>
<view align="right" minWidth="350" />
</layout>
<toolBar />
</gui>
<registry>
<parent wid="${WID_PARENT}" />
<toolBar sid="toolBar" start="true" />
<view sid="centerView" start="true" />
<view sid="bottomView" start="true" />
<view sid="rightView" start="true" />
</registry>
</service>
<service uid="toolBar" type="sight::module::ui::base::SToolBar" >
<gui>
<layout>
<menuItem name="Read DICOM files" icon="sight::module::ui::icons/Import.svg" />
<menuItem name="Preview filtered DICOM series" icon="sight::module::ui::icons/Preview.svg" style="check" />
<menuItem name="Read filtered DICOM series" icon="sight::module::ui::icons/Apply.svg" />
<menuItem name="Push selected series to the main SeriesDB" icon="sight::module::ui::icons/Push.svg" />
<spacer />
<menu name="Help"/>
</layout>
</gui>
<registry>
<menuItem sid="action_readDicomSeries" start="true" />
<menuItem sid="action_previewFilteredDicomSeries" start="true" />
<menuItem sid="action_convertSeries" start="true" />
<menuItem sid="action_pushSeries" start="true" />
<menu sid="menuHelp" start="true" />
</registry>
</service>
<service uid="centerView" type="sight::module::ui::base::SView" >
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<orientation value="horizontal" />
<view caption="DICOM Information" align="center" minWidth="200" />
<view caption="DICOM Preview" align="right" minWidth="200" />
</layout>
</gui>
<registry>
<view sid="readingSelector" start="true" />
<view wid="readingPreview" start="true" />
</registry>
</service>
<service uid="bottomView" type="sight::module::ui::base::SView" >
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<orientation value="horizontal" />
<view caption="Loaded Series" align="center" minWidth="200" />
<view caption="Loaded Preview" align="right" minWidth="200" />
</layout>
</gui>
<registry>
<view sid="loadedSelector" start="true" />
<view wid="loadedPreview" start="true" />
</registry>
</service>
<service uid="rightView" type="sight::module::ui::base::SView" >
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<orientation value="horizontal" />
<view caption="Filters" align="center" minWidth="200" />
</layout>
</gui>
<registry>
<view sid="filterSelectionEditor" start="true" />
</registry>
</service>
<!--HELP -->
<service uid="menuHelp" type="sight::module::ui::base::SMenu" >
<gui>
<layout>
<menuItem name="Activity help" />
</layout>
</gui>
<registry>
<menuItem sid="activityHelp" start="true" />
</registry>
</service>
<!-- ******************************* Actions ****************************************** -->
<service uid="activityHelp" type="sight::module::ui::qt::SLaunchBrowser" >
<url>dicomFilteringActivity/quickstart.pdf</url>
</service>
<!-- READING SELECTION -->
<service uid="action_readDicomSeries" type="sight::module::ui::base::series::SDBMerger" >
<inout key="seriesDB" uid="readingSeriesDB" />
<IOSelectorSrvConfig name="IOSelectorServiceConfigVRRenderExtDicomSeriesDBReader" />
</service>
<service uid="readingSelector" type="sight::module::ui::qt::series::SSelector" autoConnect="true">
<inout key="selection" uid="readingSelection" />
<inout key="seriesDB" uid="readingSeriesDB" />
</service>
<service uid="readingViewer" type="sight::module::ui::qt::series::SViewer" autoConnect="true">
<in key="series" uid="readingSelection" />
<parentView wid="readingPreview" />
<configs>
<config id="2DLocalPreviewConfig" type="sight::data::DicomSeries" />
</configs>
</service>
<service uid="filterSelectionEditor" type="sight::module::ui::dicom::SFilterSelectionEditor">
<in key="selection" uid="readingSelection" />
<inout key="target" uid="filteredSeriesDB" />
</service>
<!-- FILTERED SELECTION -->
<service uid="action_previewFilteredDicomSeries" type="sight::module::ui::base::SConfigLauncher">
<appConfig id="DicomPreview" />
<inout key="SERIESDB" uid="filteredSeriesDB" />
<parameter replace="ICON_PATH" by="sight::module::ui::icons/Preview.svg" />
</service>
<service uid="action_convertSeries" type="sight::module::io::dicom::SDicomSeriesConverter">
<in key="source" uid="filteredSeriesDB" />
<inout key="target" uid="loadedSeriesDB" />
</service>
<!-- LOADED SELECTION -->
<service uid="loadedSelector" type="sight::module::ui::qt::series::SSelector" autoConnect="true">
<inout key="selection" uid="loadedSelection" />
<inout key="seriesDB" uid="loadedSeriesDB" />
</service>
<service uid="loadedViewer" type="sight::module::ui::qt::series::SViewer" autoConnect="true">
<in key="series" uid="loadedSelection" />
<parentView wid="loadedPreview" />
<configs>
<config id="2DSimpleConfig" type="sight::data::ImageSeries">
<extract path="@image" pattern="imageID" />
</config>
</configs>
</service>
<service uid="action_pushSeries" type="sight::module::ui::base::series::SPushSelection">
<in key="selectedSeries" uid="loadedSelection" />
<inout key="seriesDB" uid="${SERIESDB}" />
</service>
<connect channel="${PROGRESS_CHANNEL}">
<signal>action_readDicomSeries/jobCreated</signal>
</connect>
<connect channel="${PROGRESS_CHANNEL}">
<signal>action_convertSeries/jobCreated</signal>
</connect>
<!-- START AND STOP SERVICES -->
<start uid="mainView" />
<start uid="readingViewer" />
<start uid="loadedViewer" />
</config>
</extension>
<extension implements="::sight::service::extension::AppConfig">
<id>DicomPacsReader</id>
<parameters>
<param name="WID_PARENT" />
<param name="SERIESDB" />
<param name="AS_UID" />
<param name="APP_NAME" />
</parameters>
<config>
<!-- ******************************* UI declaration *********************************** -->
<object uid="${SERIESDB}" type="sight::data::SeriesDB" src="ref" />
<object uid="previewSeriesDB" type="sight::data::SeriesDB" />
<object uid="pacsConfiguration" type="sight::io::dimse::data::PacsConfiguration" />
<object uid="previewSelections" type="sight::data::Vector" />
<object uid="localSeriesDB" type="sight::data::SeriesDB" />
<object uid="localSelections" type="sight::data::Vector" />
<service uid="mainView" type="sight::module::ui::base::SView" >
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<view caption="DICOM Query" align="left"/>
<view align="center" minWidth="200" />
<view align="bottom"/>
</layout>
<toolBar />
</gui>
<registry>
<parent wid="${WID_PARENT}" />
<toolBar sid="toolBar" start="true" />
<view sid="leftView" start="true" />
<view sid="centerView" start="true" />
<view sid="bottomView" start="true" />
</registry>
</service>
<service uid="toolBar" type="sight::module::ui::base::SToolBar" >
<gui>
<layout>
<menuItem name="Edit pacs configuration" icon="sight::module::ui::icons/Settings.svg" style="check" />
<menuItem name="Pull selected series from Pacs" icon="sight::module::ui::icons/Pull.svg" />
<menuItem name="Push selected series to the main SeriesDB" icon="sight::module::ui::icons/Push.svg" />
</layout>
</gui>
<registry>
<menuItem sid="action_editPacsConfiguration" start="true" />
<menuItem sid="action_pullSeries" start="true" />
<menuItem sid="action_pushSeries" start="true" />
</registry>
</service>
<service uid="leftView" type="sight::module::ui::base::SView" >
<gui>
<layout type="sight::ui::base::CardinalLayoutManager">
<orientation value="horizontal" />
<view align="top" minWidth="350" />
<view align="center" />
</layout>
</gui>
<registry>
<view sid="queryEditor" start="true" />