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

WIP: V0.24.0dev #311

Merged
merged 214 commits into from
Jan 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
214 commits
Select commit Hold shift + click to select a range
d0aac71
Generalize multifframe database manager
CPBridge Feb 1, 2024
32703b0
Add multiframe tests
CPBridge Feb 1, 2024
4ba09b5
Automatically populate the 3D tag
CPBridge Feb 1, 2024
ec26339
Add ability to determine whether a segmentation is a volume
CPBridge Feb 2, 2024
f598555
Fix plane ordering bug; split spatial functions
CPBridge Feb 2, 2024
13e546b
Generalize multifframe database manager
CPBridge Feb 1, 2024
aea5578
Add multiframe tests
CPBridge Feb 1, 2024
9df31eb
Automatically populate the 3D tag
CPBridge Feb 1, 2024
74b412d
Add ability to determine whether a segmentation is a volume
CPBridge Feb 2, 2024
91e11ce
Fix plane ordering bug; split spatial functions
CPBridge Feb 2, 2024
0687971
Merge branch 'feature/seg_volumes' of github.com:ImagingDataCommons/h…
CPBridge Apr 12, 2024
f0f615e
Work in progress
CPBridge Jun 12, 2023
b976b2d
Add dimension indexing logic and frame loop, add tests
CPBridge Jun 13, 2023
4036b6b
Fix bits allocated bug
CPBridge Jun 14, 2023
5132d61
Fix building luts
CPBridge Jun 14, 2023
d356d35
Use frame label to index for labelmaps without frame of reference
CPBridge Jun 14, 2023
ef3696c
fixes after rebase
CPBridge Jan 28, 2024
9e6c376
Remove trailing whitespace
CPBridge Jan 28, 2024
2c7d9b8
Add labelmap to tiled tests, fixes
CPBridge Jan 28, 2024
eca9902
Add labelmap tiled_full test
CPBridge Jan 28, 2024
1d442f3
Update to allow providing a Palette color LUT or using MONOCHROME2
CPBridge Jan 30, 2024
f2bdc40
Style fixes
CPBridge Jan 30, 2024
49372ea
Fix failing LUT test
CPBridge Jan 30, 2024
4f4db40
Add import skipping
CPBridge Jan 31, 2024
de5667f
Fixes for 16bit and palette color LUTs
CPBridge Feb 1, 2024
081533f
Test fix for palette color LUT
CPBridge Feb 1, 2024
5d77c95
Add padding to ensure even LUT
CPBridge Feb 1, 2024
fb199d3
Merge branch 'v0.23.0dev' into feature/seg_volumes
CPBridge May 19, 2024
a671b27
Spelling
CPBridge May 19, 2024
c0716a5
Merge branch 'v0.23.0dev' into feature/seg_volumes
CPBridge May 27, 2024
81438ad
Merge branch 'v0.23.0dev' into feature/seg_volumes
CPBridge May 27, 2024
ba83039
Fix test for multiframe
CPBridge May 27, 2024
0e9aa46
Fix test for multiframe
CPBridge May 27, 2024
e53938e
WIP implementation of VolumeGeometry
CPBridge Jun 10, 2024
0a7f6ba
Remove print statements from tests
CPBridge Jun 10, 2024
8ae1900
Add some docstrings
CPBridge Jun 15, 2024
587e1da
Merge branch 'v0.23.0dev' into feature/seg_volumes
CPBridge Jun 15, 2024
b7f6cb4
Fixes to matrix transform
CPBridge Jun 16, 2024
607b1ae
further fix
CPBridge Jun 16, 2024
adec6b3
Move volume to new file
CPBridge Jun 19, 2024
6f41a70
Add new tests
CPBridge Jun 20, 2024
e9d9fd7
Moved to VolumeArray
CPBridge Jun 27, 2024
590f829
start on affine matrix mapping
CPBridge Jul 4, 2024
d9a3fdb
Add channels
CPBridge Jul 5, 2024
379060e
Add with_array
CPBridge Jul 5, 2024
dcfdc60
Added concat_volumes
CPBridge Jul 5, 2024
cee0c80
Rename VolumeArray -> Volume
CPBridge Jul 15, 2024
c79124b
Implment volume indexing
CPBridge Jul 16, 2024
e61119e
Add get_closest patient_orientation
CPBridge Jul 16, 2024
e73f6a9
WIP on flip and permute
CPBridge Jul 16, 2024
dd01046
Add flip volume
CPBridge Jul 16, 2024
2518549
Add to_patient_orientation
CPBridge Jul 16, 2024
3b00d6d
Add ability to pass Volume to segmentation constructor
CPBridge Jul 16, 2024
c82c8bf
Change set_array to setter
CPBridge Jul 16, 2024
508b537
Add TODOs
CPBridge Jul 16, 2024
7e1ff71
Add volread
CPBridge Jul 19, 2024
0c0946e
Add ability to sort volumes with duplicate and missing positions
CPBridge Jul 28, 2024
3cd033c
Add basic reading as volume. Lots of tidy up and docs to do
CPBridge Jul 28, 2024
5c247a3
Fixes
CPBridge Jul 29, 2024
d6a534f
Add affine to Segmentation.get_volume
CPBridge Jul 29, 2024
f272123
Fix seg.get_volume affine indexing
CPBridge Jul 29, 2024
23d91c3
Add tests, some failing
CPBridge Jul 29, 2024
2c04427
Fix indexing issues
CPBridge Jul 30, 2024
960fba3
Fix multiframe tests
CPBridge Jul 31, 2024
341a149
Add intensity operations to Volume
CPBridge Jul 31, 2024
262c712
Add cropping and padding to volumes
CPBridge Aug 2, 2024
7b4e6aa
Fix intensity normalization methods
CPBridge Aug 2, 2024
7abd30c
add handed check/ensure
CPBridge Aug 3, 2024
a546466
Add some tests for volumes
CPBridge Aug 3, 2024
6efd2b8
Remove source frame information from Volume
CPBridge Aug 4, 2024
4fde694
Add random crop method
CPBridge Aug 5, 2024
e0d6c8b
WIP on pixel transformations
CPBridge Aug 9, 2024
934077b
Create new VolumeGeometry class
CPBridge Aug 10, 2024
e4aa391
Refactor multiframe to use VolumeGeometry, add VolumeGeometry.create_…
CPBridge Aug 11, 2024
241a539
Add rotation_for_patient_orientation
CPBridge Aug 11, 2024
a8cfe82
Add volume to volume transformer
CPBridge Aug 18, 2024
3aaebcd
WIP on match geometry
CPBridge Aug 18, 2024
f178ac1
Add match_geometry method, tests
CPBridge Aug 18, 2024
9c6c6f2
Fix type hint
CPBridge Aug 19, 2024
3ec987c
Small typos and better error message
CPBridge Aug 19, 2024
086a370
Implement MultiFrameImage class
CPBridge Aug 20, 2024
282e004
Add randon flip and permute
CPBridge Aug 20, 2024
1e6ce19
Add volume to docs
CPBridge Aug 20, 2024
82d79d2
Handle pickling of multiframe images
CPBridge Aug 21, 2024
c4632d0
Work in progress pixel transforms
CPBridge Sep 11, 2024
01bb579
Merge branch 'master' into feature/seg_volumes
CPBridge Sep 25, 2024
65eaf3b
Add coordinate for Measurement in SR
Fedalto Sep 26, 2024
8bf2a24
Merge branch 'master' into feature/labelmap
CPBridge Sep 30, 2024
acd1d8b
Linter fixes
CPBridge Sep 30, 2024
5256f8e
Add import skips in labelmap tests
CPBridge Sep 30, 2024
32c5c70
Misc tidy-ups
CPBridge Oct 2, 2024
73452a1
fix import style
Fedalto Oct 3, 2024
ab6bb55
Add `Measurement.referenced_coordinates` parameter
Fedalto Oct 3, 2024
867cee4
Add `purpose` parameter to CoordinatesForMeasurement.__init__
Fedalto Oct 3, 2024
81dd8fb
Change `SourceImageForRegion` concept name to `codes.SCT.Source`
Fedalto Oct 3, 2024
37e21c1
Add new labelmap segmentation UID
CPBridge Oct 4, 2024
764d19d
Add pixel padding value
CPBridge Oct 4, 2024
9f6d673
Only allow coordinates in measurements in `MeasurementsAndQualitative…
Fedalto Oct 3, 2024
602c91b
Update for DICOM standard 2024c
CPBridge Oct 4, 2024
002355e
Added display color to segment description
CPBridge Oct 4, 2024
10e34eb
Add background segment description
CPBridge Oct 4, 2024
73b289e
Generalize segment number logic
CPBridge Oct 4, 2024
33d586f
Linter fixes
CPBridge Oct 4, 2024
74fb560
Merge pull request #234 from ImagingDataCommons/feature/labelmap
CPBridge Oct 4, 2024
69e81c5
Merge branch 'v0.24.0dev' into feature/seg_volumes
CPBridge Oct 5, 2024
e21dcd0
Merge branch 'master' into v0.24.0dev
CPBridge Oct 5, 2024
c8eda6a
Merge branch 'v0.24.0dev' into feature/seg_volumes
CPBridge Oct 5, 2024
ad63ad2
Fix serialization
CPBridge Oct 5, 2024
6b9df12
Add tests for labelmap volumes
CPBridge Oct 5, 2024
5a2bdd6
Implement generalized parsing for multiframe images
CPBridge Oct 11, 2024
2a408ad
Fixes to labelmap reading
CPBridge Oct 12, 2024
93999e8
Fixes for labelmap reading dtypes, add test cases
CPBridge Oct 13, 2024
f448936
Style fixes
CPBridge Oct 13, 2024
f97fe3a
Add `CoordinatesForMeasurement3D`
Fedalto Oct 15, 2024
799e4e0
Fixes to slice thickness
CPBridge Oct 17, 2024
c72cd9f
Fix background segment description
CPBridge Oct 17, 2024
cf1969f
Fixes for volume-based segment creation
CPBridge Oct 17, 2024
1012fad
Change casting to use `cls`
CPBridge Oct 19, 2024
3aca8ff
Favour CoordinatesForMeasurement3D over Scoord3DContentItem
CPBridge Oct 19, 2024
ded30b1
Merge pull request #307 from Fedalto/add-coordinates-measurements-sr
CPBridge Oct 19, 2024
93d5d36
Test and lint fixes
CPBridge Oct 19, 2024
a824441
Add support and tests for python 3.13
CPBridge Oct 20, 2024
fdf564f
Add icc profiles as package data
CPBridge Oct 20, 2024
afcd403
Run workflow on any PR targeting a dev branch
CPBridge Oct 20, 2024
fb09294
Fix find package location
CPBridge Oct 20, 2024
80f1d61
Fix package data
CPBridge Oct 20, 2024
de73f6b
Merge pull request #312 from ImagingDataCommons/python_3.13
CPBridge Oct 20, 2024
ced72c1
Move to using typing_extensions.Self
CPBridge Nov 2, 2024
1f997d5
Merge branch 'v0.24.0dev' of github.com:ImagingDataCommons/highdicom …
CPBridge Nov 8, 2024
7321d02
Add pixel transformations to ImageFileReader
CPBridge Nov 10, 2024
e6f4e0a
Implement apply methods for voi and modaiity transforms
CPBridge Nov 23, 2024
5bc14aa
Implement apply for real world mappings
CPBridge Nov 23, 2024
4e83657
Progress on pixel transform parsing
CPBridge Nov 24, 2024
7d7c03e
Factor out pixel transform code
CPBridge Nov 24, 2024
4caa018
Add palette lut from combined array
CPBridge Nov 24, 2024
befdec2
Fixes to multiframe, add various pixel transforms
CPBridge Dec 19, 2024
4fb9881
Fix volume indexing at -1
CPBridge Dec 22, 2024
3d34cc8
Implement missing parts of pixel transforms
CPBridge Dec 22, 2024
862ab71
Fixes to transform class
CPBridge Dec 23, 2024
6cc5150
Add some tests related to combined pixel transform
CPBridge Dec 24, 2024
9909cd4
add further combined pixel transform tests
CPBridge Dec 24, 2024
7a796d3
More tests and fixes for combined pixel transform
CPBridge Dec 24, 2024
3951eac
Tests for monochrome1
CPBridge Dec 24, 2024
afd3d2c
More tests and fixes for pixel transforms
CPBridge Dec 24, 2024
a75954d
add test for rvwm with lut
CPBridge Dec 24, 2024
760bf83
Add ability to select VOI by string
CPBridge Dec 26, 2024
a26042d
Add ability to specify an external VOI transformation
CPBridge Dec 26, 2024
983cdba
Add ability to search RWVMs
CPBridge Dec 26, 2024
2c74acf
Move to new Image class, add frame access methods
CPBridge Dec 28, 2024
ce017ff
Add new multi-channel logic
CPBridge Dec 31, 2024
1c7f242
Fix some volume tests
CPBridge Dec 31, 2024
0af18eb
WIP on pixel iteration
CPBridge Dec 31, 2024
ce47493
Completed generalized frame access
CPBridge Jan 1, 2025
4524a11
Fix dtype in modality lut
CPBridge Jan 1, 2025
bc871c0
Accommodate palette color segmentations
CPBridge Jan 1, 2025
b7c99dc
Add more tests, add checks for missing frames
CPBridge Jan 1, 2025
729bb24
Add Image volume and total pixel matrix getters, fix most volume tests
CPBridge Jan 1, 2025
8e9be43
Single frame images and volume from series
CPBridge Jan 2, 2025
f3f32aa
Look for ICCs in optical path sequence
CPBridge Jan 2, 2025
ba55450
Fix to ICC prfile
CPBridge Jan 2, 2025
905b292
Allow lazy decoding for all seg methods
CPBridge Jan 2, 2025
cd976d1
Fix problem with palette color LUTs and incomplete segments
CPBridge Jan 2, 2025
02a2abe
minor typing error
CPBridge Jan 2, 2025
1bb9336
Allow non-consecutive segment numbers for labelmaps, or for any exist…
CPBridge Jan 4, 2025
4245c43
Fixes to labelmap parsing and tests
CPBridge Jan 4, 2025
aa8f07e
New checks on valid volumes as inputs to segmentation
CPBridge Jan 4, 2025
14e4669
Improvements on 3D dimension organization
CPBridge Jan 4, 2025
cc8ea2e
fixes to volume position ordering
CPBridge Jan 5, 2025
23a95bd
Fixes to volumetric seg tests
CPBridge Jan 5, 2025
9c9d25e
Fix to spacing calculation
CPBridge Jan 5, 2025
e2e6bd5
Allow images with no dimension indices
CPBridge Jan 5, 2025
fd0e7a6
Enable single frame volumes
CPBridge Jan 5, 2025
e37f376
Implement lazy pixel retrieval
CPBridge Jan 8, 2025
9a3f61d
Tidy up of SQL related code, add volume geometry for tiled images
CPBridge Jan 8, 2025
fbca792
Fix tiled geometry
CPBridge Jan 8, 2025
9b6ecac
Change sqlite_schema to sqlite_master
CPBridge Jan 8, 2025
0904e20
Fix to _get_bot for new pydicom version
CPBridge Jan 8, 2025
8c2c1e0
Change default spacing tolerance to 1e-2
CPBridge Jan 9, 2025
f60e013
Fixes and test for ImageFileReader
CPBridge Jan 9, 2025
5f5e361
Implement tiled volumes from image and seg
CPBridge Jan 13, 2025
b61c400
Add coordinate system to volume and take volume as input to segmentation
CPBridge Jan 13, 2025
e6c786f
Check shared functional groups for extra collection items
CPBridge Jan 13, 2025
a55445c
Allow images with FoR but no coordinate system
CPBridge Jan 14, 2025
e6955b4
Use ExtendedOffsetTable in ImageFileReader
CPBridge Jan 14, 2025
d4ff353
Move to relative tolerance for spacing
CPBridge Jan 14, 2025
17584a7
Add docs for ChannelDscriptor
CPBridge Jan 14, 2025
f495e04
Various documentation tidy ups
CPBridge Jan 15, 2025
ac892dc
Disallow creation of Image
CPBridge Jan 15, 2025
b586c0f
Add pixel_array method to Image
CPBridge Jan 15, 2025
b5285a3
Add geometry from components, allow passing center and patient orient…
CPBridge Jan 15, 2025
aab02ab
Refactor value types
CPBridge Jan 17, 2025
e323f87
Improvements to refrenced instance storage
CPBridge Jan 17, 2025
bfe2a1a
Move from eager to lazy geometry calculates, expose tolerance parameters
CPBridge Jan 21, 2025
a201101
Linter fixes
CPBridge Jan 21, 2025
27f4ecb
Fix error with allow_duplicates
CPBridge Jan 21, 2025
a348d17
linter and spelling fixes
CPBridge Jan 21, 2025
17aeccf
Fix exports and docs
CPBridge Jan 21, 2025
a1758d2
rename pixel_transforms -> pixels
CPBridge Jan 22, 2025
cff5769
Better error handling for single frame images
CPBridge Jan 22, 2025
8efa2d1
Add method to get affine in a different convention
CPBridge Jan 22, 2025
ea9efe9
Rename voimue_from_image_series -> get_volume_from_series
CPBridge Jan 22, 2025
4570756
docstring improvements
CPBridge Jan 22, 2025
f284b0d
Various further documentation improvements
CPBridge Jan 22, 2025
5426efd
Fix series datasets bug
CPBridge Jan 23, 2025
6122914
Fix test
CPBridge Jan 23, 2025
b8d10e0
Add further checks on geometry of series for volume
CPBridge Jan 23, 2025
a89ba75
Various doc omprovement
CPBridge Jan 23, 2025
342e616
Fix missing frames parameters
CPBridge Jan 23, 2025
5d78657
Merge branch 'feature/seg_volumes' into v0.24.0dev
CPBridge Jan 23, 2025
1919bb6
pyupgrade
CPBridge Jan 23, 2025
a33adda
DOc fixes
CPBridge Jan 25, 2025
dcbd21c
Skip tests when missing dependencies
CPBridge Jan 25, 2025
12573fa
resolve merge conflicts
CPBridge Jan 25, 2025
e937cc2
Codespell fixes
CPBridge Jan 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading