Commit 33c7dae0 authored by Genial-O's avatar Genial-O
Browse files

misc: update for release 20.3.0

parent 843e8111
# sight 20.3.0
## New features:
### core
*Add services for echography navigation and simulation.*
Add various services that help to build applications based on echography.
* create `cvSegmentation` module
* add `SUltrasoundImage`: segments an ultrasound image from an echography video
* move `SColourImageMasking` service from `colourSegmentation` module
* add several services in `maths`:
* `SMatrixList`: manages a list of matrices
* `STransformLandMark`: applies a matrix transform to a landmark
* `STransformPickedPoint`: applies a matrix transform to a picked point in a scene
* `SPointToLandmarkDistance`: compute the distance between a point and a landmark
* `SPointToLandmarkVector`: compute a direction vector between a point and a landmark
* create `opUltrasound` module
* `SUltrasoundMesh`: generates a 3D mesh to display an echographic plane in a 3D scene
### graphics
*Add adaptor to show the patient orientation in Ogre scenes.*
* Add a new SOrientationMarker Ogre adaptor service, that allows to display a mesh showing the orientation of the scene at the bottom right of the screen (equivalent to the VTK SOrientationMarker)
* Use SOrientationMarker service in OgreViewer
*Synchronize 2D negatos when picking.*
* Synchronize 2D negatos when cliking on the image.
* Add a parameter in `SVoxelPicker` to enable the update of image slices indexes. Send ``::fwData::Image::s_SLICE_INDEX_MODIFIED_SIG``with the picked indexes.
*Allow to delete the last extruded mesh.*
Add a slot to delete the last mesh generated by SShapeExtruder.
### ui
*Allow to delete series from the selection view from a button.*
## Bug fixes:
### core
*Fix SLandmarks by setting an optional input for the key "matrix".*
*Save preferences when they are changed.*
Save preferences when updated from GUI.
*OgreViewer doesn't read properly json with modelSeries.*
Connects seriesDB modified signal to the extractImage/Mesh update slots in OgreViewer app.
*FwServicesTest randomly fails.*
Fix the fwServices`::ut::LockTest::testDumpLock`by adapting the test to asynchronous unlocking.
In real world application, the bug should not be present, although the randomly failing test are annoying.
### doc
*Update licenses.*
### graphics
*Default visibility of modelSeries adaptor is not taken into account.*
Take into account default visibility in `visuOgreAdaptor::SModelSeries`.
*Mesh normals aren't computed each time.*
Compute normals each time a mesh is updated (if mesh has no normals). Before it was only computed if mesh needs a reallocation (number of vertices greater than the previous mesh).
### io
*Mesh attributes created after getInput aren't locked.*
Some attributes of ``::fwData::Mesh``may be created later (aka after the New()), like points/cells normals/colors/texture coordinates.
But this can lead to some unpredicted unlock issues on internal arrays of `::fwData::Mesh`, when using new RAII methods like `getLockedInput` if the mesh hasn't point normals when getting the locked input the corresponding array will not be locked (because it will be equal to nullptr), so if you want to set normals afterwards the corresponding array will still be in an unlocked state.
We now initialize all attributes (colors/normals/texture) at mesh creation.
A binary mask corresponding to which attributes are currently used in mesh can be checked. We don't rely anymore on the `nullptr` of internal arrays.
We also modify mesh iterator to remove the lock it performs, so we need systematically call `mesh->lock()` to lock internal array only if we don't use RAII methods (`getLocked*`) from services.
Along with previous modifications, we also modify internal structure of CellsData arrays, previously we store `std::uint64_t` values, we change values to `std::uint32_t` much more adaptable on both 32bits and 64bits systems.
To deal with all previous modifications we also updated data mesh version (version 4), fwData version (V15) & arData version (V17AR). We provide structural patches to load/save previous version of data.
Some of our unit test has also be updated to handle all previous modifications.
This could break the API.
### ui
*Fix visuOgre/SNegato3D::setvisible() freeze in ExRegistration.*
*Adaptor SLandmarks deadlock.*
*Show distances button in OgreViewer bugs.*
### vision
*Fix SNeedleGenerator colors.*
## Enhancement:
### core
*Add boolean record slot to SFrameWriter.*
Add boolean `record` slot to SFrameWriter and SVideoWriter
*Improve SPreferencesConfiguration to prevent setting wrong parameters.*
### graphics
*Allow to interact with Ogre landmarks.*
Allow mouse interaction on Ogre landmarks
*Add default visibility configuration for SLandmarks adaptor.*
Adds a tag to configure default visibility in `SLandmarks`.
Enables the possibility to hide the adaptor by default in the xml configuration.
*Add default visibility configuration for SNegato2D.*
Uses the tag from IAdaptor to configure default visibility in `SNegato2D`.
Enables the possibility to hide the adaptor by default in the xml configuration
### io
*Use igtl::serverSocket to get real port number.*
Allow the use of port 0, setting port = 0 will ask socket to find the first available port number.
Thus we need to modify the way the port is stored in igtlNetwork::Server, and use igtl`::ServerSocker::GetServerPort`to have the real port number.
*Make igtlProtocol::MessageFactory extendable from other libraries.*
Make the MessageFactory public, to be used from outside of `igtlProtocol`.
This is helpful to registrar new type of IGTL Messages that are not necessary implemented in `igtlProtocol` library.
## Refactor:
### core
*Add services for ITK and VTK operator modules.*
### graphics
*Move all material to fwRenderOgre and deprecate the `material` module.*
*Remove all usage of the deprecated API in Ogre modules and libraries.*
* Remove deprecated functions in Ogre libs/modules.
* Use the new RAII system in Ogre modules.
### io
*Remove videoOrbbec.*
* Remove videoOrbbec from sources.
# sight 20.2.0
## New features:
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment