1. 25 Aug, 2021 1 commit
  2. 17 Aug, 2021 1 commit
  3. 01 Aug, 2021 2 commits
  4. 30 Jul, 2021 2 commits
  5. 25 Jul, 2021 2 commits
  6. 16 Jul, 2021 2 commits
  7. 15 Jul, 2021 2 commits
  8. 14 Jul, 2021 1 commit
  9. 13 Jul, 2021 1 commit
  10. 28 Jun, 2021 1 commit
  11. 22 Jun, 2021 3 commits
  12. 10 Jun, 2021 3 commits
  13. 28 May, 2021 1 commit
    • Csaba Pinter's avatar
      ENH: Add DICOM displayed field generator rule factory · 01ab373d
      Csaba Pinter authored
      - DICOM displayed rules are created for every new database using a factory class
        - Allows the indexer to use an up-to-date list of generator rules when updating the displayed fields after importing new data
      - The displayed field generator sets up the displayed field rules when setting the database, and also on each startUpdate so that it always has an up-to-date rule list
      - The factory uses a new DisplayedFieldGeneratorRules table in the database for providing the proper rule set
        - The table defines for each rule (by name) whether they are enabled and may provide an options string (for later use)
        - Database schema version has been increased to 0.7.0
        - If the table does not exist (e.g. using another or a custom schema) or if there is no entry for a rule (omitted from the list for any reason), then the rule is treated as enabled by default. So basically it is enough to specify the disabled rules in this table
  14. 09 May, 2021 2 commits
  15. 03 May, 2021 2 commits
  16. 29 Apr, 2021 1 commit
    • Csaba Pinter's avatar
      ENH: Create rules instead of hard-coded DICOM display fields · 88d954ff
      Csaba Pinter authored
      There are DICOM display fields that do not concern only one instance, but a higher level such as series (number of images), study (number of series), or patient (last study date, number of studies). These fields were calculated using hard-coded functions. Now these have their own rule classes that do the necessary processing in their endUpdate functions.
  17. 16 Apr, 2021 1 commit
  18. 08 Apr, 2021 3 commits
    • Andras Lasso's avatar
      ENH: Improve DICOM reading performance · 2e0abb8e
      Andras Lasso authored
      - Improve tag caching performance. There were unnecessary database queries due to looking up cache entries twice and looking up SOP instance UID for file. Also reduced some code duplication by factoring out reading of DICOM tags from files into a new helper function (readValueFromFile).
      - Add API to get first file or instance of a series.
      - Cache DatabaseDirectory to avoid recomputing it each time a file path is converted between relative and absolute.
    • Andras Lasso's avatar
      BUG: Fix DICOM import from within the database folder · ae7bdb0c
      Andras Lasso authored
      When data sets were imported from within the DICOM database folder without copying to the database, the full absolute path was stored in the database.
      However, when later the filename was used, it was determined to be a file within the database folder and therefore the filename was converted to relative path.
      Fixed the issue by always using relative paths if a data set is imported from within the database folder.
      This allows passing ownership of DICOM files to the database without making a copy (by moving the files to anywhere within the database folder and import from there without requesting a copy).
    • Jean-Christophe Fillion-Robin's avatar
  19. 26 Mar, 2021 1 commit
  20. 24 Mar, 2021 2 commits
    • Csaba Pinter's avatar
    • Csaba Pinter's avatar
      ENH: Allow using custom DICOM schema and database update roles externally · 30a20eba
      Csaba Pinter authored
      - Add setCustomSchemaVersion to be able to use custom schema version
      - Expose displayed field generator in new function displayedFieldGenerator to be able to register roles defined externally
      - Add startUpdate and endUpdate functions to displayed field generator. startUpdate can initialize the field update process and endUpdate can make final calculations. The endUpdate function receives the complete patient/study/series displayed field maps (as opposed to only the currently updated one in updateDisplayedFieldsForInstance)
      - Allow the displayed field generator rules to access the DICOM database (it was already set to the generator class but was not used so far)
      - Split ctkDICOMDatabase private implementation header into separate file to make the source code more manageable (as well as enabling subclassing the private class if needed)
      - Minor fixes throughout the related code
  21. 16 Mar, 2021 1 commit
    • Csaba Pinter's avatar
      ENH: Additional where conditions in DICOM table view; Safer SQL query · edc3f532
      Csaba Pinter authored
      In addition to filtering for field values, now it is possible to define where conditions that use the operators 'greater', 'less', 'greater or equal', and 'less or equal'.
      For example addSqlGreaterEqualWhereCondition("Series.SeriesDate", "2020-01-01").
      The SQL query is now assembled using a QSqlQuery and its value binding feature instead of setting the query directly from string, thus making it safer.
      For consistency, alias functions have been added for the old where condition functions while keeping those for backwards compatibility (i.e. addSqlWhereCondition -> addSqlEqualWhereCondition, removeSqlWhereCondition -> removeSqlEqualWhereCondition)
      Functions have been added to remove all types of where conditions individually, as well as one clearSqlWhereConditions function to clear all where conditions.
  22. 17 Feb, 2021 2 commits
  23. 02 Feb, 2021 1 commit
  24. 01 Feb, 2021 1 commit
  25. 06 Jan, 2021 1 commit