Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise DicomObject abstraction #524

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Commits on Jun 29, 2024

  1. [object] Redesign DicomObject trait

    - use GAT on Element type
    - add element_opt and element_by_name_opt
    Enet4 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    e3f85b7 View commit details
    Browse the repository at this point in the history
  2. [core] Add Value::shallow_clone

    - 1-level deep copy of a DICOM value
    Enet4 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    a90a325 View commit details
    Browse the repository at this point in the history
  3. [object] Redesign DicomObject trait

    - add DicomAttributeValue trait,
      use it as output of most methods in DicomObject
    - rename methods and add new ones in DicomObject
       - use GATs for the attribute value, item and pixel data types
    - reimplement DicomObject
    Enet4 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    4fdfe04 View commit details
    Browse the repository at this point in the history
  4. [object] Extend DicomObject a bit more

    - provide access to items and pixel data fragments
    - require DicomAttributeValue to impl DicomValueType
    - add a few tests
    Enet4 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    16769e3 View commit details
    Browse the repository at this point in the history
  5. [object] Rearrange DicomAttribute

    - rename from DicomAttributeValue
    - add `to_i32` and `to_u16`
    Enet4 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    e018470 View commit details
    Browse the repository at this point in the history
  6. [object] Remove DicomObject::meta

    - instead, meta attributes can be retrieved
      like any other attribute
    Enet4 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    53bd0b2 View commit details
    Browse the repository at this point in the history
  7. [object] Reiterate on DicomObject

    - replace `to_dicom_value` with `to_primitive_value`
       - simplifies implementations
       and requires consumers to
       depend on other methods
       when working with sequences
    - remove method `meta`
       - treat meta information attributes like any other attribute,
       retrievable through the same methods
    - [core] add either crate
    - impl many DICOM traits to `either::Either`
    - implement DicomObject for FileMetaTable
    - reimplement DICOM traits for FileDicomObject
      so that users can retrieve
      either meta info or main data set info
    Enet4 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    c757898 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. [core] Tweak Value::shallow_clone

    - elide lifetime
    - fix formatting of doc comments
    Enet4 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    eae2801 View commit details
    Browse the repository at this point in the history