Skip to content

Commit ba6b5a2

Browse files
committed
Merge branch 'v0.26.0dev'
2 parents cbfb74c + 3ba3fcd commit ba6b5a2

File tree

8 files changed

+29
-28
lines changed

8 files changed

+29
-28
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ Please refer to the online documentation at [highdicom.readthedocs.io](https://h
2626

2727
For more information about the motivation of the library and the design of highdicom's API, please see the following article:
2828

29-
> [Highdicom: A Python library for standardized encoding of image annotations and machine learning model outputs in pathology and radiology](https://arxiv.org/abs/2106.07806)
30-
> C.P. Bridge, C. Gorman, S. Pieper, S.W. Doyle, J.K. Lennerz, J. Kalpathy-Cramer, D.A. Clunie, A.Y. Fedorov, and M.D. Herrmann
29+
> [Highdicom: A Python library for standardized encoding of image annotations and machine learning model outputs in pathology and radiology](https://link.springer.com/article/10.1007/s10278-022-00683-y)
30+
> C.P. Bridge, C. Gorman, S. Pieper, S.W. Doyle, J.K. Lennerz, J. Kalpathy-Cramer, D.A. Clunie, A.Y. Fedorov, and M.D. Herrmann.
31+
> Journal of Digital Imaging, August 2022
3132
3233
If you use highdicom in your research, please cite the above article.
3334

docs/ann.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ contains. The required metadata elements include:
3333
* A ``number`` (``int``), an integer number for the group.
3434
* A ``label`` (``str``) giving a human-readable label for the group.
3535
* A ``uid`` (``str`` or :class:`highdicom.UID`) uniquely identifying the group.
36-
Usually, you will want to generate UID for this.
36+
Usually, you will want to generate a UID for this.
3737
* An ``annotated_property_category`` and ``annotated_property_type``
3838
(:class:`highdicom.sr.CodedConcept`) coded values (see :ref:`coding`)
3939
describing the category and specific structure that has been annotated.
@@ -338,8 +338,8 @@ all measurements in the group, but you can also filter for measurements matching
338338
a certain name.
339339

340340
Measurements are returned as a tuple of ``(names, values, units)``, where
341-
``names`` is a list of nnames as :class:`highdicom.sr.CondedConcept` objects,
342-
``units`` is a list of units also as :class:`highdicom.sr.CondedConcept`
341+
``names`` is a list of names as :class:`highdicom.sr.CodedConcept` objects,
342+
``units`` is a list of units also as :class:`highdicom.sr.CodedConcept`
343343
objects, and the values is a ``numpy.ndarray`` of values of shape (*N* by *M*)
344344
where *N* is the number of annotations and *M* is the number of measurements.
345345
This return format is intended to facilitate the loading of measurements into

docs/image.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ frames of the image:
6464
array with minimal processing. The raw bytes are decompressed if necessary
6565
and reshaped to form the frame of the correct shape, but no further pixel
6666
transforms are applied. These are referred to as "stored values" within the
67-
DICOM standard. Note that the pydicom `.pixel_array` property returns stored
68-
values for all frames at once.
67+
DICOM standard. Note that the pydicom ``.pixel_array`` property returns
68+
stored values for all frames at once.
6969
* :meth:`highdicom.Image.get_frame()`: In addition to the above, this method
7070
applies pixel transforms stored in the file to the stored values before
7171
returning them. The transforms applied are configurable through parameters

docs/pixel_transforms.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ specifies which should be used. By default, the first item is used. Values for
108108
following standard Python indexing convention.
109109
* A ``str`` used to match the ``"LUTLabel"`` attribute, which is a free-text
110110
human readable string identifying the LUT, to select the map.
111-
* A ``pydicom.sr.coding.Code`` or ``highdicom.sr.coding.CodedConcept`` used to
111+
* A ``pydicom.sr.coding.Code`` or :class:`highdicom.sr.CodedConcept` used to
112112
match the code describing the units of the LUT (contained in the
113113
``"MeasurementUnitsCodeSequence"`` attribute). See :doc:`coding` for more
114114
information on using codes.

docs/seg.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -561,17 +561,17 @@ pixels in the original source DICOM image.
561561
`Highdicom` supports such cases in two ways. The first, possible when the
562562
segmentation array is defined on a regularly-sampled 3D grid, is to pass the
563563
segmentation array as an instance of the :class:`highdicom.Volume` class
564-
instead of a plain NumPy array. (see :doc:`volume` for an overview of volumes).
565-
Since the :class:`highdicom.Volume` class specifies its position within the
566-
frame of reference coordinate system, the position of each plane can be
567-
inferred automatically. The volume can have an arbitrary size, spacing, and
568-
orientation and these properties do not need to match those of the source
569-
images. Just like a standard NumPy array, the volume can be either in the
570-
"label map" form, where each pixel values specifies segment membership, or
571-
"stacked segment" form, with a further array dimension along which binary
572-
segments are stacked. In the "label map" case the volume must have no channel
573-
dimensions. In the "stacked segments" case, the volume must have exactly one
574-
channel dimension with the descriptor being the "SegmentNumber" tag.
564+
instead of a plain NumPy array (see :doc:`volume` for an overview). Since the
565+
:class:`highdicom.Volume` class specifies its position within the frame of
566+
reference coordinate system, the position of each plane can be inferred
567+
automatically. The volume can have an arbitrary size, spacing, and orientation
568+
and these properties do not need to match those of the source images. Just like
569+
a standard NumPy array, the volume can be either in the "label map" form, where
570+
each pixel values specifies segment membership, or "stacked segment" form, with
571+
a further array dimension along which binary segments are stacked. In the
572+
"label map" case the volume must have no channel dimensions. In the "stacked
573+
segments" case, the volume must have exactly one channel dimension with the
574+
descriptor being the "SegmentNumber" tag.
575575

576576
.. code-block:: python
577577
@@ -1506,7 +1506,7 @@ If the segmentation is defined on a regularly-sampled 3D grid (possibly with
15061506
omittted frames, tiled frames, and/or multiple segments), the
15071507
:meth:`highdicom.seg.Segmentation.get_volume()` method may be used to create a
15081508
:class:`highdicom.Volume` from its frames. The options we have already seen
1509-
(``segment_numbers``, combine_segments``, ``relabel``, ``rescale_fractional``)
1509+
(``segment_numbers``, ``combine_segments``, ``relabel``, ``rescale_fractional``)
15101510
are also available here.
15111511

15121512
.. code-block:: python

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "highdicom"
7-
version = "0.25.0"
7+
version = "0.26.0dev"
88
description = "High-level DICOM abstractions."
99
readme = "README.md"
1010
requires-python = ">=3.10"

src/highdicom/frame.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def encode_frame(
5959
``"JPEG2000Lossless"`` transfer syntaxes with color images, the pixel
6060
data must be passed in in RGB format and will be converted and stored
6161
as ``"YBR_FULL_422"`` (``"JPEGBaseline8Bit"``), ``"YBR_ICT"``
62-
(``"JPEG2000"``), or `"YBR_RCT"`` (``"JPEG2000Lossless"``). In these
62+
(``"JPEG2000"``), or ``"YBR_RCT"`` (``"JPEG2000Lossless"``). In these
6363
cases the values of photometric metric passed must match those given
6464
above.
6565
pixel_representation: Union[highdicom.PixelRepresentationValues, int, None], optional
@@ -78,19 +78,19 @@ def encode_frame(
7878
Raises
7979
------
8080
ValueError
81-
When `transfer_syntax_uid` is not supported or when
82-
`planar_configuration` is missing in case of a color image frame.
81+
When ``transfer_syntax_uid`` is not supported or when
82+
``planar_configuration`` is missing in case of a color image frame.
8383
8484
Note
8585
----
86-
In case of color image frames, the `photometric_interpretation` parameter
86+
In case of color image frames, the ``photometric_interpretation`` parameter
8787
describes the color space of the **encoded** pixel data and data may be
8888
converted from RGB color space into the specified color space upon
8989
encoding. For example, the JPEG codec converts pixels from RGB into
9090
YBR color space prior to compression to take advantage of the correlation
9191
between RGB color bands and improve compression efficiency. Therefore,
92-
pixels are supposed to be provided via `array` in RGB color space, but
93-
`photometric_interpretation` needs to specify a YBR color space.
92+
pixels are supposed to be provided via ``array`` in RGB color space, but
93+
``photometric_interpretation``` needs to specify a YBR color space.
9494
9595
""" # noqa: E501
9696
rows = array.shape[0]

src/highdicom/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.25.0'
1+
__version__ = '0.26.0dev'

0 commit comments

Comments
 (0)