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 10 commits into
base: master
Choose a base branch
from

Commits on Nov 2, 2024

  1. [object] Redesign DicomObject trait

    - use GAT on Element type
    - add element_opt and element_by_name_opt
    Enet4 committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    4cb0c26 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 Nov 2, 2024
    Configuration menu
    Copy the full SHA
    70b2596 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 Nov 2, 2024
    Configuration menu
    Copy the full SHA
    b3d59d7 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 Nov 2, 2024
    Configuration menu
    Copy the full SHA
    5c49846 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 Nov 2, 2024
    Configuration menu
    Copy the full SHA
    4c9b68d 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 Nov 2, 2024
    Configuration menu
    Copy the full SHA
    598e895 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 Nov 2, 2024
    Configuration menu
    Copy the full SHA
    121ad5f View commit details
    Browse the repository at this point in the history
  8. [core] Tweak Value::shallow_clone

    - elide lifetime
    - fix formatting of doc comments
    Enet4 committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    955d2a6 View commit details
    Browse the repository at this point in the history
  9. [object] clippy lint

    Enet4 committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    d9578a1 View commit details
    Browse the repository at this point in the history
  10. [object] fix documentation

    Enet4 committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    e044a47 View commit details
    Browse the repository at this point in the history