Skip to content

Commit

Permalink
Merge pull request #311 from ImagingDataCommons/v0.24.0dev
Browse files Browse the repository at this point in the history
WIP: V0.24.0dev
  • Loading branch information
CPBridge authored Jan 25, 2025
2 parents 2624b63 + e937cc2 commit 8d23976
Show file tree
Hide file tree
Showing 63 changed files with 432,209 additions and 182,376 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/run_unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
branches: [ "master", "v*dev" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
dependencies: [".", "'.[libjpeg]'"]

steps:
Expand Down
6 changes: 0 additions & 6 deletions MANIFEST.in

This file was deleted.

7 changes: 6 additions & 1 deletion bin/create_iods_modules.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,15 @@ def _create_modules(directory):
except KeyError:
logger.error(f'keyword not found for attribute "{tag}"')
continue
try:
kw_path = [dictionary_keyword(t) for t in path]
except KeyError:
logger.error(f'keyword in path of attribute "{tag}" not found')
continue
mapping = {
'keyword': keyword,
'type': item['type'],
'path': [dictionary_keyword(t) for t in path],
'path': kw_path,
}
modules[item['moduleId']].append(mapping)
return modules
Expand Down
Binary file added data/test_files/seg_image_sm_control_labelmap.dcm
Binary file not shown.
Binary file not shown.
Binary file modified data/test_files/sm_image_control.dcm
Binary file not shown.
3 changes: 2 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import os
import sys
import pkg_resources
import datetime

source_dir = os.path.dirname(__file__)
pkg_dir = os.path.join(source_dir, '..', '..', 'src', 'highdicom')
Expand All @@ -21,7 +22,7 @@
# -- Project information -----------------------------------------------------

project = 'highdicom'
copyright = '2020-2022, Herrmann Lab'
copyright = f'2020-{datetime.datetime.now().year}, highdicom contributors'
author = 'Markus D. Herrmann'

# The full version, including alpha/beta/rc tags
Expand Down
2 changes: 1 addition & 1 deletion docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Requirements
Installation
------------

Pre-build package available at PyPi:
Pre-built package available at PyPi:

.. code-block:: none
Expand Down
9 changes: 9 additions & 0 deletions docs/package.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,15 @@ highdicom.utils module
:undoc-members:
:show-inheritance:

highdicom.pixels module
+++++++++++++++++++++++

.. automodule:: highdicom.pixels
:members:
:inherited-members: pydicom.dataset.Dataset,pydicom.sequence.Sequence,Dataset,Sequence,list,str,DataElementSequence,enum.Enum,Enum,
:special-members: __call__
:undoc-members:
:show-inheritance:

.. _highdicom-legacy-subpackage:

Expand Down
2 changes: 1 addition & 1 deletion docs/seg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ segments. Note that passing a "label map" is purely a convenience provided by
(`highdicom` splits the label map into multiple single-segment frames and
stores these, as required by the standard).

Therefore, The following snippet produces an equivalent SEG image to the
Therefore, the following snippet produces an equivalent SEG image to the
previous snippet, but passes the mask as a label map rather than as a stack of
segments.

Expand Down
11 changes: 10 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ build-backend = "setuptools.build_meta"

[project]
name = "highdicom"
version = "0.23.1"
version = "0.24.0"
description = "High-level DICOM abstractions."
readme = "README.md"
requires-python = ">=3.10"
authors = [
{ name = "Markus D. Herrmann" },
{ name = "Christopher P. Bridge" },
]
maintainers = [
{ name = "Markus D. Herrmann" },
Expand All @@ -27,6 +28,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Multimedia :: Graphics",
"Topic :: Scientific/Engineering :: Information Analysis",
]
Expand All @@ -35,6 +37,7 @@ dependencies = [
"pillow>=8.3",
"pydicom>=3.0.1",
"pyjpegls>=1.0.0",
"typing-extensions>=4.0.0",
]

[project.optional-dependencies]
Expand Down Expand Up @@ -62,6 +65,12 @@ homepage = "https://github.com/imagingdatacommons/highdicom"
documentation = "https://highdicom.readthedocs.io/"
repository = "https://github.com/ImagingDataCommons/highdicom.git"

[tool.setuptools.packages.find]
where = [ "src" ]

[tool.setuptools.package-data]
highdicom = [ "**/*.icc" ]

[tool.pytest.ini_options]
minversion = "7"
addopts = ["--doctest-modules", "-ra", "--strict-config", "--strict-markers"]
Expand Down
37 changes: 34 additions & 3 deletions src/highdicom/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,50 +34,72 @@
VOILUTTransformation,
)
from highdicom.enum import (
AxisHandedness,
AnatomicalOrientationTypeValues,
CoordinateSystemNames,
ContentQualificationValues,
DimensionOrganizationTypeValues,
LateralityValues,
PadModes,
PatientSexValues,
PhotometricInterpretationValues,
PixelIndexDirections,
PixelRepresentationValues,
PlanarConfigurationValues,
PatientOrientationValuesBiped,
PatientOrientationValuesQuadruped,
PresentationLUTShapeValues,
RescaleTypeValues,
RGBColorChannels,
UniversalEntityIDTypeValues,
VOILUTFunctionValues,
)
from highdicom import frame
from highdicom.image import (
Image,
imread,
get_volume_from_series,
)
from highdicom import io
from highdicom import pixels
from highdicom import spatial
from highdicom.uid import UID
from highdicom import utils
from highdicom.version import __version__
from highdicom.volume import (
RGB_COLOR_CHANNEL_DESCRIPTOR,
ChannelDescriptor,
Volume,
VolumeGeometry,
VolumeToVolumeTransformer,
)


__all__ = [
'LUT',
'UID',
'VOILUT',
'RGB_COLOR_CHANNEL_DESCRIPTOR',
'AlgorithmIdentificationSequence',
'AnatomicalOrientationTypeValues',
'AxisHandedness',
'ChannelDescriptor',
'ContentCreatorIdentificationCodeSequence',
'ContentQualificationValues',
'CoordinateSystemNames',
'DimensionOrganizationTypeValues',
'Image',
'IssuerOfIdentifier',
'LUT',
'LateralityValues',
'ModalityLUT',
'ModalityLUTTransformation',
'PadModes',
'PaletteColorLUT',
'PaletteColorLUTTransformation',
'PatientOrientationValuesBiped',
'PatientOrientationValuesQuadruped',
'PatientSexValues',
'PhotometricInterpretationValues',
'PixelMeasuresSequence',
'PixelIndexDirections',
'PixelRepresentationValues',
'PlanarConfigurationValues',
'PlaneOrientationSequence',
Expand All @@ -87,6 +109,7 @@
'PresentationLUTTransformation',
'ReferencedImageSequence',
'RescaleTypeValues',
'RGBColorChannels',
'SOPClass',
'SegmentedPaletteColorLUT',
'SpecimenCollection',
Expand All @@ -95,21 +118,29 @@
'SpecimenProcessing',
'SpecimenSampling',
'SpecimenStaining',
'UID',
'UniversalEntityIDTypeValues',
'VOILUT',
'VOILUTFunctionValues',
'VOILUTTransformation',
'Volume',
'VolumeGeometry',
'VolumeToVolumeTransformer',
'__version__',
'ann',
'color',
'frame',
'imread',
'io',
'ko',
'legacy',
'pixels',
'pm',
'pr',
'sc',
'seg',
'spatial',
'sr',
'utils',
'get_volume_from_series',
]
Loading

0 comments on commit 8d23976

Please sign in to comment.