1. 03 Feb, 2023 1 commit
  2. 02 Feb, 2023 1 commit
  3. 31 Jan, 2023 4 commits
    • Genial-O's avatar
      misc: merge release 22.1.0 · 41333462
      Genial-O authored
      41333462
    • Genial-O's avatar
      misc: update CHANGELOG.md for release 22.1.0 · 441be34b
      Genial-O authored
      441be34b
    • Genial-O's avatar
      misc: merge release 22.1.0 · c37a278c
      Genial-O authored
      c37a278c
    • Didier WECKMANN's avatar
      feat(io): add a DICOM Enhanced-US volume writer · aa519e22
      Didier WECKMANN authored and Flavien BRIDAULT's avatar Flavien BRIDAULT committed
      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.
      aa519e22
  4. 30 Jan, 2023 1 commit
  5. 26 Jan, 2023 2 commits
  6. 25 Jan, 2023 2 commits
    • Didier WECKMANN's avatar
      fix(ui): fix password management for preferences · 65acb59c
      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
      65acb59c
    • Flavien BRIDAULT's avatar
      ff0acbd1
  7. 24 Jan, 2023 3 commits
  8. 23 Jan, 2023 1 commit
  9. 13 Jan, 2023 1 commit
    • Flavien BRIDAULT's avatar
      fix(ci): use 'fetch' strategy instead of none on Windows · 0cd82e46
      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
      0cd82e46
  10. 12 Jan, 2023 1 commit
    • Flavien BRIDAULT's avatar
      refactor(core): separate service public and private API · c88ce8cb
      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.
      c88ce8cb
  11. 05 Jan, 2023 1 commit
  12. 22 Dec, 2022 1 commit
  13. 15 Dec, 2022 1 commit
  14. 14 Dec, 2022 1 commit
  15. 13 Dec, 2022 1 commit
  16. 12 Dec, 2022 1 commit
  17. 09 Dec, 2022 1 commit
  18. 30 Nov, 2022 1 commit
    • Michaël KUGLER's avatar
      enh(test): add external project gui test support · ae8ec9b0
      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
      ae8ec9b0
  19. 29 Nov, 2022 2 commits
  20. 24 Nov, 2022 2 commits
    • Didier WECKMANN's avatar
      feat(core): add a function profiling utility · 570d45ee
      Didier WECKMANN authored
      - fix Warning C4244
      - windows pch off support
      570d45ee
    • Flavien BRIDAULT's avatar
      fix(build): only install header files when necessary · f20ed4bb
      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.
      f20ed4bb
  21. 23 Nov, 2022 3 commits
  22. 22 Nov, 2022 1 commit
  23. 17 Nov, 2022 2 commits
  24. 15 Nov, 2022 3 commits
  25. 14 Nov, 2022 1 commit
    • Flavien BRIDAULT's avatar
      enh(viz): adapt default transfer function to a reference image · 0edc28df
      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.
      0edc28df
  26. 10 Nov, 2022 1 commit