cellprofiler-library-nightly 5.0.0.dev306__py3-none-any.whl → 5.0.0.dev313__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '5.0.0.dev306'
32
- __version_tuple__ = version_tuple = (5, 0, 0, 'dev306')
31
+ __version__ = version = '5.0.0.dev313'
32
+ __version_tuple__ = version_tuple = (5, 0, 0, 'dev313')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -6,7 +6,7 @@ import centrosome.threshold
6
6
  import scipy
7
7
  import matplotlib
8
8
  from typing import Any, Optional, Tuple, Callable, Union, List
9
- from ..types import ImageGrayscale, ImageGrayscaleMask, Image2DColor, Image2DGrayscale
9
+ from ..types import ImageGrayscale, ImageGrayscaleMask, Image2DColor, Image2DGrayscale, ImageAny, ObjectSegmentation
10
10
  from ..opts import threshold as Threshold
11
11
 
12
12
 
@@ -594,3 +594,26 @@ def split_rgb(input_image: Image2DColor) -> List[Image2DGrayscale]:
594
594
  def split_multichannel(input_image: Image2DColor) -> List[Image2DGrayscale]:
595
595
  return split_rgb(input_image)
596
596
 
597
+
598
+ ################################################################################
599
+ # ConvertImageToObjects
600
+ ################################################################################
601
+
602
+ def image_to_objects(
603
+ data: ImageAny,
604
+ cast_to_bool: bool,
605
+ preserve_label: bool,
606
+ background: int,
607
+ connectivity: Union[int, None],
608
+ ) -> ObjectSegmentation:
609
+ # Compatibility with skimage
610
+ connectivity = None if connectivity == 0 else connectivity
611
+
612
+ caster = skimage.img_as_bool if cast_to_bool else skimage.img_as_uint
613
+ data = caster(data)
614
+
615
+ # If preservation is desired, just return the original labels
616
+ if preserve_label and not cast_to_bool:
617
+ return data
618
+
619
+ return skimage.measure.label(data, background=background, connectivity=connectivity)
@@ -1,7 +1,7 @@
1
1
  from pydantic import Field, validate_call, ConfigDict
2
2
  from typing import Annotated, List, Union, Optional
3
3
 
4
- from cellprofiler_library.opts.colortogray import ImageChannelType
4
+ from ..opts.colortogray import ImageChannelType
5
5
  from ..types import Image2DColor, Image2DGrayscale
6
6
  from ..functions.image_processing import combine_colortogray, split_hsv, split_rgb, split_multichannel
7
7
 
@@ -0,0 +1,14 @@
1
+ from typing import Annotated, Optional, Union
2
+ from pydantic import Field, validate_call, ConfigDict
3
+ from cellprofiler_library.types import ImageGrayscale, ObjectLabelsDense, ImageBinary
4
+ from cellprofiler_library.functions.image_processing import image_to_objects
5
+
6
+ @validate_call(config=ConfigDict(arbitrary_types_allowed=True))
7
+ def convert_image_to_objects(
8
+ data: Annotated[Union[ImageGrayscale, ImageBinary], Field(description="Image to be converted to Objects")],
9
+ cast_to_bool: Annotated[bool, Field(description="Convert a grayscale image to binary before converting it to an object")],
10
+ preserve_label: Annotated[bool, Field(description="Preserve original labels of objects")],
11
+ background: Annotated[int, Field(description="Pixel value of the background")],
12
+ connectivity: Annotated[Optional[int], Field(description="Maximum number of orthogonal hops to consider a pixel/voxel as a neighbor")]
13
+ ) -> ObjectLabelsDense:
14
+ return image_to_objects(data, cast_to_bool, preserve_label, background, connectivity)
@@ -0,0 +1,3 @@
1
+ '''
2
+ The convertimagetoobjects module does not have any options.
3
+ '''
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cellprofiler-library-nightly
3
- Version: 5.0.0.dev306
3
+ Version: 5.0.0.dev313
4
4
  Summary: cellprofiler-library implements CellProfiler's image processing and mathematical code, and is usable as a standalone library
5
5
  Author: Anne Carpenter, Thouis (Ray) Jones, Lee Kamentsky, Vebjorn Ljosa, David Logan, Mark Bray, Madison Swain-Bowden, Allen Goodman, Claire McQuinn, Alice Lucas, Callum Tromans-Coia
6
6
  Author-email: Beth Cimini <bcimini@broadinstitute.org>, David Stirling <dstirling@glencoesoftware.com>, Nodar Gogoberidze <ngogober@broadinstitute.org>
@@ -1,17 +1,18 @@
1
1
  cellprofiler_library/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- cellprofiler_library/_version.py,sha256=G7VoognR8cVzAPvjy716XjRcsJUGbmEf3x2OzMxn-4o,721
2
+ cellprofiler_library/_version.py,sha256=X4VkWpCY3W1OoL-UO0Ujz6sOnuBoWBDUvHRgT9ivJRQ,721
3
3
  cellprofiler_library/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  cellprofiler_library/types.py,sha256=5cCxXOO_TE-uSF4ZB6sDG3eTZ1VWDSXUFifg0N4JYs8,8516
5
5
  cellprofiler_library/functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  cellprofiler_library/functions/file_processing.py,sha256=jumpdgxReyV5xzF4YXZWhkei9CQ9GtWD-VUCuFh-FZM,5168
7
- cellprofiler_library/functions/image_processing.py,sha256=nE7frZyHBSYA5wX5div8VtjYf_IkIOjUKKmRLS-b3Uk,23161
7
+ cellprofiler_library/functions/image_processing.py,sha256=qZLEVpG3IOfgPUH_cJ0k6HVWklHU08JJvxWPnO48qIo,24015
8
8
  cellprofiler_library/functions/measurement.py,sha256=8pXcEb1fLgwOEDiTJho1_O-fFGTtIp-Qn1lStjQBjbo,29221
9
9
  cellprofiler_library/functions/object_processing.py,sha256=3cKNq5ewBf_HWz6rdX3XR4WUbd6SklbHZ_H40xt9ODM,19443
10
10
  cellprofiler_library/functions/segmentation.py,sha256=LNE22ByY0X7GepQaHqLdxkzlmIXjD3EglAYJjtT2dGo,25257
11
11
  cellprofiler_library/modules/__init__.py,sha256=Z4Wy42OTD9ujAON4g1oyLJ0oA6K7h3XQiV66JzHGkOw,789
12
12
  cellprofiler_library/modules/_closing.py,sha256=aIqIE0IcT2OcrOmTSWjFzu4iIQKk2yDC9qPHARqRIkc,204
13
- cellprofiler_library/modules/_colortogray.py,sha256=_56iPZR-gmKPhAQTYAVQjwC_F6tS5esa9X5o81-5P_I,1852
13
+ cellprofiler_library/modules/_colortogray.py,sha256=UtiBgh7AXduRBMkHsv2L0u7FayOCfaB58qFGNVIGskM,1833
14
14
  cellprofiler_library/modules/_combineobjects.py,sha256=dZz0RXjvVukem3e46wPfQWOQCOfMLHaq0KoFzjKVQqs,830
15
+ cellprofiler_library/modules/_convertimagetoobjects.py,sha256=_X2YWEHK4hFaP13LEBD-vIwwUUhgJEJLcTkhyMe4JBA,1075
15
16
  cellprofiler_library/modules/_convertobjectstoimage.py,sha256=PMYjH_prBKma4LNgUxmA5GzF7fQ6ko09XszKatTulB4,2274
16
17
  cellprofiler_library/modules/_enhanceedges.py,sha256=PaXZck8fPcxRf-IXCstu-OWmsvM_rDDPMMQ3cZFfVZc,2951
17
18
  cellprofiler_library/modules/_expandorshrinkobjects.py,sha256=A1oeW_O8C5NLJr-xU1R9pSulDau8XUeWaKiilpr-85g,856
@@ -30,12 +31,13 @@ cellprofiler_library/modules/_threshold.py,sha256=Z2mFd1xBtoctyF5jnkuwuNyBfjSkRt
30
31
  cellprofiler_library/modules/_watershed.py,sha256=T-xmYE8_21wpFCH5HbCTAHu5k5A9-5BL3ToUSpODxPY,1824
31
32
  cellprofiler_library/opts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
33
  cellprofiler_library/opts/colortogray.py,sha256=ptAanLQW9iMgQHgC7xvYlbIbshBd5d7uE48t2F0Z5e8,344
34
+ cellprofiler_library/opts/convertimagetoobjects.py,sha256=9e3VOdpjd4084ATZyFtSQg_VpxbyXrYVFmEFJkrHakg,67
33
35
  cellprofiler_library/opts/convertobjectstoimage.py,sha256=U3jeVtKYFgfxbO7NYndanAyZFoEvbyScOq4T8cpjfX8,188
34
36
  cellprofiler_library/opts/measureimageoverlap.py,sha256=uopQCJTX1Uk-NNDAISsdYEOuOtiEBYOyCwu57ZT7X84,134
35
37
  cellprofiler_library/opts/objectsizeshapefeatures.py,sha256=3GIntOH3qXs7F16Tpjmtg7opHYAmmOjEdEwW6q3ht_Y,6306
36
38
  cellprofiler_library/opts/threshold.py,sha256=yg_i5to22Nd9hTakaRxo9UIQZRYWFpavJimjl5JONx4,938
37
- cellprofiler_library_nightly-5.0.0.dev306.dist-info/licenses/LICENSE,sha256=QLWaBS7kAioYx7PmJNXAMJaY8NODcFAag60YlUWuyz0,2276
38
- cellprofiler_library_nightly-5.0.0.dev306.dist-info/METADATA,sha256=zxH7-gWJTKsSPBNW1D1eheNIyVNjcnexF4kPwCwMe5M,5534
39
- cellprofiler_library_nightly-5.0.0.dev306.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- cellprofiler_library_nightly-5.0.0.dev306.dist-info/top_level.txt,sha256=LXq0ApDeDD4gotb6YFTySzdyScvHfS_pqoTg1QsNLBs,21
41
- cellprofiler_library_nightly-5.0.0.dev306.dist-info/RECORD,,
39
+ cellprofiler_library_nightly-5.0.0.dev313.dist-info/licenses/LICENSE,sha256=QLWaBS7kAioYx7PmJNXAMJaY8NODcFAag60YlUWuyz0,2276
40
+ cellprofiler_library_nightly-5.0.0.dev313.dist-info/METADATA,sha256=--nBROD-RBpNvkLYSVE2ZBgR00courMI1CoD_ShpwhI,5534
41
+ cellprofiler_library_nightly-5.0.0.dev313.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
42
+ cellprofiler_library_nightly-5.0.0.dev313.dist-info/top_level.txt,sha256=LXq0ApDeDD4gotb6YFTySzdyScvHfS_pqoTg1QsNLBs,21
43
+ cellprofiler_library_nightly-5.0.0.dev313.dist-info/RECORD,,