changeset 5927:a9c3f1c245d9 find-refactoring

updated NEWS
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 16 Dec 2024 16:04:33 +0100
parents 4692e1ae6d3d
children 0c35f647e98d 0df3ace145fe
files NEWS
diffstat 1 files changed, 57 insertions(+), 60 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Mon Dec 16 15:39:08 2024 +0100
+++ b/NEWS	Mon Dec 16 16:04:33 2024 +0100
@@ -5,15 +5,15 @@
 -------
 
 * Database:
-  - Introduced database optimizations "ExtendedFind" to replace many small SQL queries
-    by a very large SQL query to greatly reduce the cost of DB latency when working with
-    e.g PostgreSQL.
-    Furthermore, this "ExtendedFind" brings new sorting and filtering features to the 
-    Rest API, mainly in /tools/find.
-  - Introduced database optimizations "ExtendedChanges" to allow filtering of /changes.
+  - Introduced the database optimization "ExtendedFind" to replace many small SQL queries
+    by a single, large SQL query. This can greatly reduce the cost related to latency
+    when working with large databases (e.g., if using PostgreSQL).
+    Furthermore, "ExtendedFind" brings new sorting and filtering features to the
+    REST API, mainly in "/tools/find".
+  - Introduced the new database primitive "ExtendedChanges" to allow filtering on "/changes".
   - Reduced the number of SQL queries when ingesting DICOM files.
-* Introduced a new configuration "ReadOnly" to forbid an Orthanc instance to perform 
-  any modifications in the Index DB or in the storage.
+* Introduced a new configuration "ReadOnly" to forbid an Orthanc instance to perform
+  any modification to the index database or to the storage area.
   
 
 REST API
@@ -22,38 +22,35 @@
 * API version upgraded to 26
 * Support HTTP "Range" request header on "{...}/attachments/{...}/data" and
   "{...}/attachments/{...}/compressed-data"
-* Improved parsing of multiple numerical values in DICOM tags.
+* Improved parsing of multiple numerical values in DICOM tags
   https://discourse.orthanc-server.org/t/qido-includefield-with-sequences/4746/6
-* in /system, added a new field "Capabilities" with new values:
-  - "HasExtendedChanges" for DB backend that provides this feature (currently, the default 
-    SQLite DB and upcoming PostgreSQL v7.0).
-  - "HasExtendedFind" for DB backend that provides this feature (currently, the default 
-    SQLite DB and upcoming PostgreSQL v7.0).
-* With DB backend with "HasExtendedChanges" support:
-  - /changes now supports 2 more options: 
-    - 'type' to filter the changes returned by the query 
-    - 'to' to potentially cycle through changes in reverse order.
-    example: /changes?type=StableStudy&to=7584&limit=100
-* With DB backend with "HasExtendedFind" support:
-  - /tools/find now supports new options:
-    - 'OrderBy' to order by DICOM Tag or metadata value
-    - 'ParentPatient', 'ParentStudy', 'ParentSeries' to retrieve only descendants of an
-      Orthanc resource.
-    - 'MetadataQuery' to filter results based on metadata values.
-    - 'ResponseContent' to define what shall be included in the response for each returned
-      resource (e.g: Metadata, Children, ...)
-  - in /tools/find: 'Limit' and 'Since' are not allowed anymore if your query includes 
-    filtering on DICOM tags that are not stored in DB.
-  - /tools/count-resources API route is similar to tools/find but only returns the number 
-    of resources matching the criteria.
-  - /studies?expand and sibbling routes now also return "Metadata"
-  - /studies?since=x&limit=0 and sibbling routes: limit=0 now means "no limit" instead of 
-    "no results" in previous versions.
-* In DICOMWeb json, the "DS - Decimal String" values were represented by float numbers
-  and they are now represented as strings to avoid introduction of long float representation
-  (e.g 0.1429999999999 vs "0.143") and be more compliant with the DICOMWeb
-  standard https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_F.2.3.html.
-  This has no impact on StoneViewer and OHIF.
+* In "/system", added a new field "Capabilities" with new values:
+  - "HasExtendedChanges" if the index database provides this optimization
+  - "HasExtendedFind" if the index database provides this primitive
+* If the index database provides the "HasExtendedChanges" primitive, "/changes"
+  supports two additional arguments:
+  - "type" to filter the changes returned by the query
+  - "to" to possibly cycle through changes in reverse order
+  Example: "/changes?type=StableStudy&to=7584&limit=100"
+* If the index database provides the "HasExtendedFind" primitive, "/tools/find"
+  supports new options:
+  - "OrderBy" to order by DICOM tag or metadata value
+  - "ParentPatient", "ParentStudy", and "ParentSeries" to retrieve only descendants of a
+    given DICOM resource
+  - "MetadataQuery" to filter results based on metadata values
+  - "ResponseContent" to define what shall be included in the response for each returned
+    resource (e.g: Metadata, Children,...)
+* In "/tools/find", the "Limit" and "Since" arguments are not allowed anymore if the
+  query requests filtering on DICOM tags that are not stored in the index database
+* The new "/tools/count-resources" API route is similar to "tools/find" but only
+  returns the number of resources matching the criteria
+* "/studies?since=x&limit=0" and similar routes for patients, series, and instances:
+  "limit=0" now means "no limit" instead of "no results" as in previous versions of Orthanc
+* In DICOMweb JSON, the "DS - Decimal String" values were previously represented as float
+  numbers, but are now represented as strings to avoid introduction of long float representation
+  (e.g 0.1429999999999 vs "0.143") and to be compliant with the DICOMweb standard:
+  https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_F.2.3.html
+  This has no impact on the Stone Web viewer and OHIF:
   https://discourse.orthanc-server.org/t/dicomwebplugin-does-not-return-series-metadata-properly/5195
 
 
@@ -61,25 +58,21 @@
 -----------
 
 * DICOM TLS: "DicomTlsTrustedCertificates" is not required anymore when issuing
-  an outgoing SCU connexion when "DicomTlsRemoteCertificateRequired" is set to false.
-* Fix C-Find queries not returning computed tags like ModalitiesInStudy, NumberOfStudyRelatedSeries, ...
-  in very specific use-cases.
-* Fix C-Find queries not returning private tags in the modality worklist plugin.
-* Fix extremely rare error when 2 threads are trying to create the same folder in the File Storage 
-  at the same time.
-* Fix crashes if handling very large images.
-* Fix deadlock when parsing specific invalid DICOM files.
-* Loading plugins:
-  - Orthanc will now fail to start when provided with a plugin path that can not be found.
+  an outgoing SCU connection if "DicomTlsRemoteCertificateRequired" is set to "false"
+* Fix C-Find queries not returning computed tags such as ModalitiesInStudy,
+  NumberOfStudyRelatedSeries,... in very specific use cases
+* Fix C-Find queries not returning private tags in the modality worklist plugin
+* Fix an extremely rare error when 2 threads are trying to create the same folder
+  in the File Storage at the same time
+* Fix crashes if handling very large images
+* Fix deadlock when parsing specific invalid DICOM files
+* Loading plugins: Orthanc will now fail to start when provided with a plugin path
+  that can not be found
 * Metrics:
-  - fix a few metrics that were not published
-  - added 2 metrics: orthanc_storage_cache_miss_count & orthanc_storage_cache_hit_count 
-* Upgraded dependencies for static builds:
-  - curl 8.9.0
-  - SQLite 3.46
-  - boost 1.86.0
+  - Fix a few metrics that were not published
+  - Added 2 metrics: "orthanc_storage_cache_miss_count" and "orthanc_storage_cache_hit_count"
 * Added a new fallback when trying to decode a frame: transcode the file using the plugin
-  before decoding the frame.  This solves some issues with JP2K Lossy compression:
+  before decoding the frame. This solves some issues with JP2K Lossy compression:
   https://discourse.orthanc-server.org/t/decoding-displaying-jpeg2000-lossy-images/5117
 * Added new warnings that can be disabled in the configuration: 
   - W003_DecoderFailure
@@ -87,9 +80,7 @@
   - W005_RequestingTagFromLowerResourceLevel
   - W006_RequestingTagFromMetaHeader
   - W007_MissingRequestedTagsNotReadFromDisk
-* New default MainDicomTags are now stored in DB.  Note that, in order to store these values
-  for resources that were ingested in Orthanc before this release, you will have to run
-  the Housekeeper plugin or call /reconstruct on every resources
+* New default MainDicomTags are now stored in the DB:
   - At Study Level:
     - TimezoneOffsetFromUTC (used in QIDO-RS default queries)
   - At Series Level:
@@ -97,7 +88,13 @@
     - PerformedProcedureStepStartDate (used in QIDO-RS default queries)
     - PerformedProcedureStepStartTime (used in QIDO-RS default queries)
     - RequestAttributesSequence (used in QIDO-RS default queries)
-
+  - Note that, in order to access these values for resources that were ingested in Orthanc
+    before this release, you will have to run the Housekeeper plugin or to call
+    "/reconstruct" on every resource
+* Upgraded dependencies for static builds:
+  - boost 1.86.0
+  - curl 8.9.0
+  - SQLite 3.46
 
 
 Version 1.12.4 (2024-06-05)