- 03 Feb, 2023 1 commit
-
-
Marc SCHWEITZER authored
-
- 02 Feb, 2023 1 commit
-
-
- 31 Jan, 2023 4 commits
-
-
Genial-O authored
-
Genial-O authored
-
Genial-O authored
-
The current Dicom Series writer has been updated to call a specialized writer when the SOP class is [Enhanced US Volume](https://dicom.nema.org/dicom/2013/output/chtml/part03/sect_A.59.html). The new writer is for now minimalist and maybe not 100% DICOM compliant yet, as it requires, nor checks for mandatory tags to operate. However, all frames of a data::ImageSeries (on the Z axis) are saved losslessly in jpeg2000, and Series API allows writing/reading per-frame `Image Position Patient/Volume`, `Image Orientation Patient/Volume`, and `Frame Acquisition Date Time`. Even if the writer doesn't ensure other mandatory tags are present, it is still possible (and desirable) to write them using the Series API with the generated tag name/sop class from sight::data::dicom::Tag and sight::data::dicom::SopClass. Note however that the current API is limited to simple attributes, not the one located in a frame sequence like in `Shared Functional Groups Sequence`. Some adaptations are required (the same as \`Image Position Patient…). This part will be updated later when needed.
-
- 30 Jan, 2023 1 commit
-
-
Many tests were added, especially for the most used services in our applications, that were untested so far.
-
- 26 Jan, 2023 2 commits
-
-
* the widget config is called by the windows config * widget can be used if the pacs selector should be integrated in a existing window
-
This refactors fundamentally the synchronization between frames and matrices, by bringing a single service SSynchronization that replaces all the previous ones: `SFrameMatrixSynchronizer`, `SMatrixSynchronizer`, `SMatrixTLSynchronizer` and `SFrameUpdater`. It is much more versatile to answer all the different use cases and his behaviour is well tested.
-
- 25 Jan, 2023 2 commits
-
-
Didier WECKMANN authored
* restore BadPassword exception * changed inputDialog to return value and a boolean to know if user canceled it * allow closing sight if user cancel or if wrong password have been entered 3 times * updated ExActivities plugin configuration to force encryption and to exit on password error * "once" passwod policy configuration has been changed to "global": "global" which means the global password will be used, if set, otherwise or if wrong, it will be asked to the user * "default" configuration has been removed. User should simply not set any configuration if they want the default to apply
-
Flavien BRIDAULT authored
-
- 24 Jan, 2023 3 commits
-
-
-
Didier WECKMANN authored
- ImagePositionVolume, ImageOrientationVolume, FrameAcquisitionDateTime DICOM attribute are now stored into sequence element when using Enhenced US Volume, as before for CT/MR. - DICOM Tags, SOPClasses, Modules definitions are generated from official documentation using python code. This allows friendlier operations (no need to remember exact tag values, or SOP uids). - Unit tests have been updated to match changes and use generated DICOM tags, SOPClasses. - Some bugs with equality operator have been corrected
-
Flavien BRIDAULT authored
-
- 23 Jan, 2023 1 commit
-
-
Didier WECKMANN authored
-
- 13 Jan, 2023 1 commit
-
-
Flavien BRIDAULT authored
On Windows, we do not have docker runners. Thus the build folders are reused between jobs. GIT_STRATEGY='none' is faster but does not provide the clean stage that is performed with 'clone' and 'fetch'. Because of this, we may end up with artifacts from previous jobs in the deploy stages. To overcome this, we use the 'fetch' strategy. It is useless to get the sources, but, this gives us the clean stage which is impossible to do in a build script. See https://gitlab.com/gitlab-org/gitlab/-/issues/17103
-
- 12 Jan, 2023 1 commit
-
-
Flavien BRIDAULT authored
We reduced the size of the public API of the IService interface, which is undoubtedly the most used in Sight. First, the data management responsibility has been moved to the IHasData interface and now holds the getters and setters for inputs, in/outs and outputs. Secondly, a significant part of the implementation of IService methods has been moved to a pimpl in service::detail::Service and service::detail::ServiceConnection. The AppConfigManager was moved in the detail namespace as well, so now the public API only exposes IAppConfigManager. This refactor also finishes the migration of data::ptr. Now the objects of services are only held in data::ptr, the former input, inout and output maps of IService were removed, which simplifies a lot the code. This also implies that services can no longer specify any data in the XML configuration that is not declared as data::ptr. In this repository, only two services relied on the old behaviour SConfigController and SConfigLauncher. The migration consisted in using a single declared group of objects (data::ptr_vector<data::Object>) instead of multiple undeclared objects. Changes were brought in all XML configurations. Last, the ObjectService registry refactor was also finished. Its role has been reduced because we no longer rely on it to store the relationship between services and objects. This responsibility is filled by the services themselves. So now, this registry only holds a global list of registered services. It has been renamed accordingly. Doing so, the sight::service::registry namespace was removed, and the only other class that was there, sight::service::registry::Proxy was moved to sight::core::com::Proxy. Indeed, it has actually no dependency at all on services and is generic enough to be in the core::com namespace.
-
- 05 Jan, 2023 1 commit
-
-
- 22 Dec, 2022 1 commit
-
-
Didier WECKMANN authored
-
- 15 Dec, 2022 1 commit
-
-
Alexandre ANCEL authored
-
- 14 Dec, 2022 1 commit
-
-
- 13 Dec, 2022 1 commit
-
-
- 12 Dec, 2022 1 commit
-
-
refactor(io): create macros `SIGHT_REGISTER_SERIALIZER` to ease the serialization's function registration for each data
-
- 09 Dec, 2022 1 commit
-
-
- 30 Nov, 2022 1 commit
-
-
Michaël KUGLER authored
- rename the gui test core folder to testCore -change the ITest profile path handling, by geting the full path, and not using "getWorkingDir()". It will be up to the GUI tests to provide the full profile path. - add the profile modules. The clasicall sightrun looks for the modules situated relatively to the profile path. This allows to load automatically the project modules; This will be done in the ITest too, at the test setup() -add -B bundlesPath in the cppunit_main. Similarly to classical applications, the -B argument allows specifying additional bundles path. This will be handled in the unit test too. - change test templates to add external libs path in the PATH variable and bundles path - in the eventHandling, verify that the event catched is a testEvent, and do nothing if it is not one. -install exec_gui_test and copy it in sight-projects build bin dir
-
- 29 Nov, 2022 2 commits
-
-
The scene3d adaptors no longer specify their layer. Instead, it is implicitly declared in the `SRender` configuration by putting the adaptors as children of the layers tags. ```xml <service uid="genericSceneSrv" type="sight::viz::scene3d::SRender" > <scene> <background topColor="#36393E" bottomColor="#36393E" /> <layer id="first" order="1" /> <adaptor uid="trackballInteractorAdp" /> </layer> <layer id="second" order="2" /> <adaptor uid="negatoAdp" /> </layer> </scene> </service> ```
-
Flavien BRIDAULT authored
-
- 24 Nov, 2022 2 commits
-
-
Didier WECKMANN authored
- fix Warning C4244 - windows pch off support
-
Flavien BRIDAULT authored
This prevents rebuilding a child repository each time sight is installed. To achieve this, a custom target was added to generate the library headers without `*_API` macros in the build folder, and then copy these at install. Previously, we modified the files directly in the install folders, which led to always modify the timestamp of the headers, thus triggering the rebuild.
-
- 23 Nov, 2022 3 commits
-
-
Didier WECKMANN authored
-
Marc SCHWEITZER authored
* rename some slots from SParameter from "set" to "update" for clarity * also add a vector of string as part of the parameter_t variant to be able to update all values of enum widget Closes #999
-
-
- 22 Nov, 2022 1 commit
-
-
- 17 Nov, 2022 2 commits
-
-
add a vector for the framesTl and one for the matrixTl to store the delay. The delay is applied at the synchronization, and the frame/matrix picked is in the past regarding the most recent data, from an amount of delay. The timelines are associated through their index.
-
Flavien BRIDAULT authored
When receiving the resize event, we may end up with a deadlock if the image is already locked in writing. This may happen for instance with a writer that uses a progress bar.
-
- 15 Nov, 2022 3 commits
-
-
-
-
These changes add a slot called "cancelLastClick" to cancel the last click in the shape extruder. This allows to replace the right click in context where it isn't available, such as in a touchscreen context. In addition, this adds a button in SightViewer which triggers this slot when clicked. Closes #658
-
- 14 Nov, 2022 1 commit
-
-
Flavien BRIDAULT authored
The default transfer function can now be adapted to the image pixel type, especially for ultrasound images. The `data::Image` no longer holds a default transfer function. To get a default transfer function, you have to use `sight::module::ui::qt::image::STransferFunction` and specify a reference image as input. This is no issue if you don't want the transfer function selector in the user interface. You can register the service in an invisible view. You can have a look at `Tuto07GenericScene` for instance. Also, some bugs were fixed in SNegato2DCamera for the computation of the viewport of the axial view.
-
- 10 Nov, 2022 1 commit
-
-
The signal, called `preferenceChanged`, has the same signature as the signal `SParameter::parameterChanged`. This simplifies the API when the service needs to listen to a parameter that can be changed from preference or/and from a`SParameter`. An example of usage is shown in ExSParameter.
-