large-image 1.34.4.dev2__tar.gz → 1.34.4.dev6__tar.gz
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.
- {large_image-1.34.4.dev2/large_image.egg-info → large_image-1.34.4.dev6}/PKG-INFO +83 -78
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/conf.py +12 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/base.py +21 -0
- large_image-1.34.4.dev6/large_image/tilesource/eager_utils/__init__.py +5 -0
- large_image-1.34.4.dev6/large_image/tilesource/eager_utils/eager_fn.py +53 -0
- large_image-1.34.4.dev6/large_image/tilesource/eager_utils/eager_image_modifications.py +354 -0
- large_image-1.34.4.dev6/large_image/tilesource/eager_utils/eager_pytorch_threading_context.py +53 -0
- large_image-1.34.4.dev6/large_image/tilesource/eager_utils/eager_read_args.py +392 -0
- large_image-1.34.4.dev6/large_image/tilesource/eager_utils/eager_shared_array.py +313 -0
- large_image-1.34.4.dev6/large_image/tilesource/eager_utils/eager_wsi_operations.py +615 -0
- large_image-1.34.4.dev6/large_image/tilesource/eageriterator.py +1448 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6/large_image.egg-info}/PKG-INFO +83 -78
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image.egg-info/SOURCES.txt +8 -0
- large_image-1.34.4.dev6/large_image.egg-info/requires.txt +166 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/setup.py +4 -0
- large_image-1.34.4.dev2/large_image.egg-info/requires.txt +0 -159
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/LICENSE +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/NOTICE +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/README.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/annotations.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/api_index.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/caching.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/config_options.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/development.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/dicomweb_assetstore.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/format_examples_datastore.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/formats.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/generate_format_table.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/getting_started.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/girder_annotation_config_options.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/girder_caching.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/girder_config_options.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/girder_index.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/image_conversion.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/index.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/make_docs.sh +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/multi_source_specification.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/notebooks/frame_viewer_example.ipynb +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/notebooks/large_image_examples.ipynb +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/notebooks/zarr_sink_example.ipynb +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/notebooks.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/plottable.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/static/K.png +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/static/custom.css +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/tilesource_options.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/docs/upgrade.rst +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/__init__.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/cache_util/__init__.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/cache_util/base.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/cache_util/cache.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/cache_util/cachefactory.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/cache_util/memcache.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/cache_util/rediscache.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/config.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/constants.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/exceptions.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/__init__.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/geo.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/jupyter.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/resample.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/stylefuncs.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/tiledict.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/tileiterator.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/tilesource/utilities.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/widgets/CompositeLayers.vue +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/widgets/DualInput.vue +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/widgets/FrameSelector.vue +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/widgets/HistogramEditor.vue +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/widgets/colors.json +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image/widgets/components.py +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image.egg-info/dependency_links.txt +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image.egg-info/not-zip-safe +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/large_image.egg-info/top_level.txt +0 -0
- {large_image-1.34.4.dev2 → large_image-1.34.4.dev6}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: large-image
|
|
3
|
-
Version: 1.34.4.
|
|
3
|
+
Version: 1.34.4.dev6
|
|
4
4
|
Summary: Python modules to work with large, multiresolution images.
|
|
5
5
|
Home-page: https://github.com/girder/large_image
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -28,7 +28,7 @@ Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "memcac
|
|
|
28
28
|
Provides-Extra: redis
|
|
29
29
|
Requires-Dist: redis>=4.5.5; extra == "redis"
|
|
30
30
|
Provides-Extra: converter
|
|
31
|
-
Requires-Dist: large-image-converter>=1.34.4.
|
|
31
|
+
Requires-Dist: large-image-converter>=1.34.4.dev6; extra == "converter"
|
|
32
32
|
Provides-Extra: colormaps
|
|
33
33
|
Requires-Dist: matplotlib; extra == "colormaps"
|
|
34
34
|
Requires-Dist: tol-colors>=2.0.0; extra == "colormaps"
|
|
@@ -41,110 +41,115 @@ Requires-Dist: pyvips; extra == "tiledoutput"
|
|
|
41
41
|
Provides-Extra: performance
|
|
42
42
|
Requires-Dist: psutil>=4.2.0; extra == "performance"
|
|
43
43
|
Requires-Dist: simplejpeg; extra == "performance"
|
|
44
|
+
Provides-Extra: pykdtree
|
|
45
|
+
Requires-Dist: pykdtree; extra == "pykdtree"
|
|
44
46
|
Provides-Extra: bioformats
|
|
45
|
-
Requires-Dist: large-image-source-bioformats>=1.34.4.
|
|
47
|
+
Requires-Dist: large-image-source-bioformats>=1.34.4.dev6; extra == "bioformats"
|
|
46
48
|
Provides-Extra: deepzoom
|
|
47
|
-
Requires-Dist: large-image-source-deepzoom>=1.34.4.
|
|
49
|
+
Requires-Dist: large-image-source-deepzoom>=1.34.4.dev6; extra == "deepzoom"
|
|
48
50
|
Provides-Extra: dicom
|
|
49
|
-
Requires-Dist: large-image-source-dicom>=1.34.4.
|
|
51
|
+
Requires-Dist: large-image-source-dicom>=1.34.4.dev6; extra == "dicom"
|
|
50
52
|
Provides-Extra: dummy
|
|
51
|
-
Requires-Dist: large-image-source-dummy>=1.34.4.
|
|
53
|
+
Requires-Dist: large-image-source-dummy>=1.34.4.dev6; extra == "dummy"
|
|
52
54
|
Provides-Extra: gdal
|
|
53
|
-
Requires-Dist: large-image-source-gdal>=1.34.4.
|
|
55
|
+
Requires-Dist: large-image-source-gdal>=1.34.4.dev6; extra == "gdal"
|
|
54
56
|
Provides-Extra: mapnik
|
|
55
|
-
Requires-Dist: large-image-source-mapnik>=1.34.4.
|
|
57
|
+
Requires-Dist: large-image-source-mapnik>=1.34.4.dev6; extra == "mapnik"
|
|
56
58
|
Provides-Extra: multi
|
|
57
|
-
Requires-Dist: large-image-source-multi>=1.34.4.
|
|
59
|
+
Requires-Dist: large-image-source-multi>=1.34.4.dev6; extra == "multi"
|
|
58
60
|
Provides-Extra: nd2
|
|
59
|
-
Requires-Dist: large-image-source-nd2>=1.34.4.
|
|
61
|
+
Requires-Dist: large-image-source-nd2>=1.34.4.dev6; extra == "nd2"
|
|
60
62
|
Provides-Extra: ometiff
|
|
61
|
-
Requires-Dist: large-image-source-ometiff>=1.34.4.
|
|
63
|
+
Requires-Dist: large-image-source-ometiff>=1.34.4.dev6; extra == "ometiff"
|
|
62
64
|
Provides-Extra: openjpeg
|
|
63
|
-
Requires-Dist: large-image-source-openjpeg>=1.34.4.
|
|
65
|
+
Requires-Dist: large-image-source-openjpeg>=1.34.4.dev6; extra == "openjpeg"
|
|
64
66
|
Provides-Extra: openslide
|
|
65
|
-
Requires-Dist: large-image-source-openslide>=1.34.4.
|
|
67
|
+
Requires-Dist: large-image-source-openslide>=1.34.4.dev6; extra == "openslide"
|
|
66
68
|
Provides-Extra: pil
|
|
67
|
-
Requires-Dist: large-image-source-pil>=1.34.4.
|
|
69
|
+
Requires-Dist: large-image-source-pil>=1.34.4.dev6; extra == "pil"
|
|
68
70
|
Provides-Extra: rasterio
|
|
69
|
-
Requires-Dist: large-image-source-rasterio>=1.34.4.
|
|
71
|
+
Requires-Dist: large-image-source-rasterio>=1.34.4.dev6; extra == "rasterio"
|
|
70
72
|
Provides-Extra: test
|
|
71
|
-
Requires-Dist: large-image-source-test>=1.34.4.
|
|
73
|
+
Requires-Dist: large-image-source-test>=1.34.4.dev6; extra == "test"
|
|
72
74
|
Provides-Extra: tiff
|
|
73
|
-
Requires-Dist: large-image-source-tiff>=1.34.4.
|
|
75
|
+
Requires-Dist: large-image-source-tiff>=1.34.4.dev6; extra == "tiff"
|
|
74
76
|
Provides-Extra: tifffile
|
|
75
|
-
Requires-Dist: large-image-source-tifffile>=1.34.4.
|
|
77
|
+
Requires-Dist: large-image-source-tifffile>=1.34.4.dev6; extra == "tifffile"
|
|
76
78
|
Provides-Extra: vips
|
|
77
|
-
Requires-Dist: large-image-source-vips>=1.34.4.
|
|
79
|
+
Requires-Dist: large-image-source-vips>=1.34.4.dev6; extra == "vips"
|
|
78
80
|
Provides-Extra: zarr
|
|
79
|
-
Requires-Dist: large-image-source-zarr>=1.34.4.
|
|
81
|
+
Requires-Dist: large-image-source-zarr>=1.34.4.dev6; extra == "zarr"
|
|
80
82
|
Provides-Extra: sources
|
|
81
|
-
Requires-Dist: large-image-source-
|
|
82
|
-
Requires-Dist: large-image-source-
|
|
83
|
-
Requires-Dist: large-image-source-
|
|
84
|
-
Requires-Dist: large-image-source-
|
|
85
|
-
Requires-Dist: large-image-source-
|
|
86
|
-
Requires-Dist: large-image-source-
|
|
87
|
-
Requires-Dist: large-image-source-
|
|
88
|
-
Requires-Dist: large-image-source-
|
|
89
|
-
Requires-Dist: large-image-source-
|
|
90
|
-
Requires-Dist: large-image-source-
|
|
91
|
-
Requires-Dist: large-image-source-
|
|
92
|
-
Requires-Dist: large-image-source-
|
|
93
|
-
Requires-Dist: large-image-source-
|
|
94
|
-
Requires-Dist: large-image-source-
|
|
95
|
-
Requires-Dist: large-image-source-
|
|
96
|
-
Requires-Dist: large-image-source-openjpeg>=1.34.4.
|
|
97
|
-
Requires-Dist: large-image-source-
|
|
98
|
-
Requires-Dist: large-image-source-
|
|
83
|
+
Requires-Dist: large-image-source-nd2>=1.34.4.dev6; extra == "sources"
|
|
84
|
+
Requires-Dist: large-image-source-dummy>=1.34.4.dev6; extra == "sources"
|
|
85
|
+
Requires-Dist: large-image-source-zarr>=1.34.4.dev6; extra == "sources"
|
|
86
|
+
Requires-Dist: large-image-source-pil>=1.34.4.dev6; extra == "sources"
|
|
87
|
+
Requires-Dist: large-image-source-openslide>=1.34.4.dev6; extra == "sources"
|
|
88
|
+
Requires-Dist: large-image-source-test>=1.34.4.dev6; extra == "sources"
|
|
89
|
+
Requires-Dist: large-image-source-multi>=1.34.4.dev6; extra == "sources"
|
|
90
|
+
Requires-Dist: large-image-source-mapnik>=1.34.4.dev6; extra == "sources"
|
|
91
|
+
Requires-Dist: large-image-source-deepzoom>=1.34.4.dev6; extra == "sources"
|
|
92
|
+
Requires-Dist: large-image-source-rasterio>=1.34.4.dev6; extra == "sources"
|
|
93
|
+
Requires-Dist: large-image-source-gdal>=1.34.4.dev6; extra == "sources"
|
|
94
|
+
Requires-Dist: large-image-source-vips>=1.34.4.dev6; extra == "sources"
|
|
95
|
+
Requires-Dist: large-image-source-tiff>=1.34.4.dev6; extra == "sources"
|
|
96
|
+
Requires-Dist: large-image-source-ometiff>=1.34.4.dev6; extra == "sources"
|
|
97
|
+
Requires-Dist: large-image-source-bioformats>=1.34.4.dev6; extra == "sources"
|
|
98
|
+
Requires-Dist: large-image-source-openjpeg>=1.34.4.dev6; extra == "sources"
|
|
99
|
+
Requires-Dist: large-image-source-tifffile>=1.34.4.dev6; extra == "sources"
|
|
100
|
+
Requires-Dist: large-image-source-dicom>=1.34.4.dev6; extra == "sources"
|
|
99
101
|
Provides-Extra: all
|
|
100
|
-
Requires-Dist: large-image-
|
|
102
|
+
Requires-Dist: large-image-source-nd2>=1.34.4.dev6; extra == "all"
|
|
103
|
+
Requires-Dist: large-image-source-dummy>=1.34.4.dev6; extra == "all"
|
|
104
|
+
Requires-Dist: large-image-source-tiff[all]>=1.34.4.dev6; extra == "all"
|
|
101
105
|
Requires-Dist: ipyleaflet; extra == "all"
|
|
106
|
+
Requires-Dist: large-image-source-pil>=1.34.4.dev6; extra == "all"
|
|
107
|
+
Requires-Dist: large-image-source-openslide>=1.34.4.dev6; extra == "all"
|
|
108
|
+
Requires-Dist: large-image-converter>=1.34.4.dev6; extra == "all"
|
|
109
|
+
Requires-Dist: tol-colors>=2.0.0; extra == "all"
|
|
110
|
+
Requires-Dist: large-image-source-deepzoom>=1.34.4.dev6; extra == "all"
|
|
102
111
|
Requires-Dist: aiohttp; extra == "all"
|
|
103
|
-
Requires-Dist: large-image-source-
|
|
104
|
-
Requires-Dist:
|
|
105
|
-
Requires-Dist:
|
|
106
|
-
Requires-Dist: large-image-source-
|
|
112
|
+
Requires-Dist: large-image-source-gdal>=1.34.4.dev6; extra == "all"
|
|
113
|
+
Requires-Dist: psutil>=4.2.0; extra == "all"
|
|
114
|
+
Requires-Dist: large-image-source-tiff>=1.34.4.dev6; extra == "all"
|
|
115
|
+
Requires-Dist: large-image-source-rasterio>=1.34.4.dev6; extra == "all"
|
|
107
116
|
Requires-Dist: ipyvue; extra == "all"
|
|
117
|
+
Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "all"
|
|
118
|
+
Requires-Dist: large-image-source-bioformats>=1.34.4.dev6; extra == "all"
|
|
119
|
+
Requires-Dist: large-image-source-openjpeg>=1.34.4.dev6; extra == "all"
|
|
120
|
+
Requires-Dist: large-image-source-multi[all]>=1.34.4.dev6; extra == "all"
|
|
121
|
+
Requires-Dist: large-image-source-pil[all]>=1.34.4.dev6; extra == "all"
|
|
108
122
|
Requires-Dist: redis>=4.5.5; extra == "all"
|
|
109
|
-
Requires-Dist:
|
|
110
|
-
Requires-Dist:
|
|
123
|
+
Requires-Dist: pykdtree; extra == "all"
|
|
124
|
+
Requires-Dist: matplotlib; extra == "all"
|
|
125
|
+
Requires-Dist: large-image-source-zarr>=1.34.4.dev6; extra == "all"
|
|
126
|
+
Requires-Dist: large-image-source-test>=1.34.4.dev6; extra == "all"
|
|
127
|
+
Requires-Dist: large-image-source-multi>=1.34.4.dev6; extra == "all"
|
|
111
128
|
Requires-Dist: simplejpeg; extra == "all"
|
|
112
|
-
Requires-Dist: large-image-source-
|
|
113
|
-
Requires-Dist: large-image-source-
|
|
114
|
-
Requires-Dist: large-image-source-
|
|
115
|
-
Requires-Dist: large-image-source-rasterio[all]>=1.34.4.dev2; extra == "all"
|
|
116
|
-
Requires-Dist: large-image-source-mapnik>=1.34.4.dev2; extra == "all"
|
|
117
|
-
Requires-Dist: large-image-source-tifffile>=1.34.4.dev2; extra == "all"
|
|
118
|
-
Requires-Dist: large-image-source-ometiff>=1.34.4.dev2; extra == "all"
|
|
119
|
-
Requires-Dist: large-image-source-vips>=1.34.4.dev2; extra == "all"
|
|
120
|
-
Requires-Dist: large-image-source-gdal>=1.34.4.dev2; extra == "all"
|
|
121
|
-
Requires-Dist: psutil>=4.2.0; extra == "all"
|
|
122
|
-
Requires-Dist: large-image-source-openslide>=1.34.4.dev2; extra == "all"
|
|
123
|
-
Requires-Dist: large-image-source-test>=1.34.4.dev2; extra == "all"
|
|
124
|
-
Requires-Dist: tol-colors>=2.0.0; extra == "all"
|
|
125
|
-
Requires-Dist: large-image-source-multi[all]>=1.34.4.dev2; extra == "all"
|
|
126
|
-
Requires-Dist: large-image-source-pil>=1.34.4.dev2; extra == "all"
|
|
127
|
-
Requires-Dist: large-image-source-rasterio>=1.34.4.dev2; extra == "all"
|
|
129
|
+
Requires-Dist: large-image-source-mapnik>=1.34.4.dev6; extra == "all"
|
|
130
|
+
Requires-Dist: large-image-source-rasterio[all]>=1.34.4.dev6; extra == "all"
|
|
131
|
+
Requires-Dist: large-image-source-vips>=1.34.4.dev6; extra == "all"
|
|
128
132
|
Requires-Dist: pyvips; extra == "all"
|
|
129
|
-
Requires-Dist: large-image-source-
|
|
130
|
-
Requires-Dist: large-image-source-
|
|
131
|
-
Requires-Dist: large-image-source-
|
|
132
|
-
Requires-Dist: matplotlib; extra == "all"
|
|
133
|
+
Requires-Dist: large-image-source-tifffile>=1.34.4.dev6; extra == "all"
|
|
134
|
+
Requires-Dist: large-image-source-ometiff>=1.34.4.dev6; extra == "all"
|
|
135
|
+
Requires-Dist: large-image-source-dicom>=1.34.4.dev6; extra == "all"
|
|
133
136
|
Provides-Extra: common
|
|
134
|
-
Requires-Dist: large-image-source-pil[common]>=1.34.4.dev2; extra == "common"
|
|
135
|
-
Requires-Dist: large-image-source-zarr>=1.34.4.dev2; extra == "common"
|
|
136
|
-
Requires-Dist: large-image-source-rasterio[all]>=1.34.4.dev2; extra == "common"
|
|
137
|
-
Requires-Dist: large-image-source-tifffile>=1.34.4.dev2; extra == "common"
|
|
138
|
-
Requires-Dist: large-image-source-dicom>=1.34.4.dev2; extra == "common"
|
|
139
|
-
Requires-Dist: psutil>=4.2.0; extra == "common"
|
|
140
|
-
Requires-Dist: large-image-source-openslide>=1.34.4.dev2; extra == "common"
|
|
141
|
-
Requires-Dist: large-image-source-test>=1.34.4.dev2; extra == "common"
|
|
142
|
-
Requires-Dist: tol-colors>=2.0.0; extra == "common"
|
|
143
|
-
Requires-Dist: large-image-source-deepzoom>=1.34.4.dev2; extra == "common"
|
|
144
|
-
Requires-Dist: large-image-source-nd2>=1.34.4.dev2; extra == "common"
|
|
145
|
-
Requires-Dist: simplejpeg; extra == "common"
|
|
146
|
-
Requires-Dist: large-image-source-multi>=1.34.4.dev2; extra == "common"
|
|
147
137
|
Requires-Dist: matplotlib; extra == "common"
|
|
138
|
+
Requires-Dist: large-image-source-zarr>=1.34.4.dev6; extra == "common"
|
|
139
|
+
Requires-Dist: large-image-source-openslide>=1.34.4.dev6; extra == "common"
|
|
140
|
+
Requires-Dist: large-image-source-test>=1.34.4.dev6; extra == "common"
|
|
141
|
+
Requires-Dist: large-image-source-multi>=1.34.4.dev6; extra == "common"
|
|
142
|
+
Requires-Dist: simplejpeg; extra == "common"
|
|
143
|
+
Requires-Dist: large-image-source-rasterio[all]>=1.34.4.dev6; extra == "common"
|
|
144
|
+
Requires-Dist: tol-colors>=2.0.0; extra == "common"
|
|
145
|
+
Requires-Dist: large-image-source-deepzoom>=1.34.4.dev6; extra == "common"
|
|
146
|
+
Requires-Dist: large-image-source-pil[common]>=1.34.4.dev6; extra == "common"
|
|
147
|
+
Requires-Dist: psutil>=4.2.0; extra == "common"
|
|
148
|
+
Requires-Dist: large-image-source-tifffile>=1.34.4.dev6; extra == "common"
|
|
149
|
+
Requires-Dist: large-image-source-nd2>=1.34.4.dev6; extra == "common"
|
|
150
|
+
Requires-Dist: large-image-source-dicom>=1.34.4.dev6; extra == "common"
|
|
151
|
+
Provides-Extra: eager
|
|
152
|
+
Requires-Dist: pykdtree; extra == "eager"
|
|
148
153
|
Dynamic: author
|
|
149
154
|
Dynamic: author-email
|
|
150
155
|
Dynamic: classifier
|
|
@@ -16,6 +16,14 @@ import sys
|
|
|
16
16
|
docs_dir = os.path.dirname(__file__)
|
|
17
17
|
sys.path.insert(0, os.path.abspath(os.path.join(docs_dir, '..', '..')))
|
|
18
18
|
|
|
19
|
+
try:
|
|
20
|
+
import pypandoc
|
|
21
|
+
except ImportError:
|
|
22
|
+
pass
|
|
23
|
+
else:
|
|
24
|
+
pandoc_dir = os.path.dirname(pypandoc.get_pandoc_path())
|
|
25
|
+
os.environ['PATH'] = pandoc_dir + os.pathsep + os.environ.get('PATH', '')
|
|
26
|
+
|
|
19
27
|
# -- Project information -----------------------------------------------------
|
|
20
28
|
|
|
21
29
|
project = 'large_image'
|
|
@@ -76,6 +84,10 @@ html_permalinks_icon = '🔗'
|
|
|
76
84
|
|
|
77
85
|
autoclass_content = 'both'
|
|
78
86
|
|
|
87
|
+
autodoc_type_aliases = {
|
|
88
|
+
'TileSource': 'large_image.tilesource.base.TileSource',
|
|
89
|
+
}
|
|
90
|
+
|
|
79
91
|
mermaid_version = '10.6.0'
|
|
80
92
|
mermaid_init_js = 'mermaid.initialize({startOnLoad:true});'
|
|
81
93
|
mermaid_width = '50%'
|
|
@@ -28,6 +28,7 @@ from ..constants import (TILE_FORMAT_IMAGE, TILE_FORMAT_NUMPY, TILE_FORMAT_PIL,
|
|
|
28
28
|
TileInputUnits, TileOutputMimeTypes,
|
|
29
29
|
TileOutputPILFormat)
|
|
30
30
|
from . import utilities
|
|
31
|
+
from .eageriterator import EagerIterator
|
|
31
32
|
from .jupyter import IPyLeafletMixin
|
|
32
33
|
from .tiledict import LazyTileDict
|
|
33
34
|
from .tileiterator import TileIterator
|
|
@@ -2372,6 +2373,26 @@ class TileSource(IPyLeafletMixin):
|
|
|
2372
2373
|
level = max(0, min(mag['level'] or 0, level))
|
|
2373
2374
|
return level
|
|
2374
2375
|
|
|
2376
|
+
def eagerIterator(self, **kwargs) -> EagerIterator:
|
|
2377
|
+
"""Create an eager iterator for batched tile or region reads.
|
|
2378
|
+
|
|
2379
|
+
The eager iterator is intended for AI and machine-learning workflows that need
|
|
2380
|
+
prefetched numpy or torch batches from a Large Image tile source. It supports tile
|
|
2381
|
+
mode and explicit region mode, optional masking, scaling, padding, transforms,
|
|
2382
|
+
and dynamic transform-scale callbacks.
|
|
2383
|
+
|
|
2384
|
+
:param kwargs: EagerIterator options such as output_mode, tile_overlap, mask,
|
|
2385
|
+
region, scale, tile_size, region_size, source_scale, dtype, chunk_mult,
|
|
2386
|
+
edge, pad_mode, pad_fill_mode, nchw, batch, prefetch, workers, tiles,
|
|
2387
|
+
regions, transform, randomize_chunks, seed, area_threshold, threshold_mask,
|
|
2388
|
+
transform_save_mode, and transform_scale.
|
|
2389
|
+
:returns: An EagerIterator. Each iteration returns a dictionary with 'tile' as a
|
|
2390
|
+
SharedArray plus tile metadata including format, gx, gy, level_x, level_y,
|
|
2391
|
+
tile_position, width, height, level, magnification, mm_x, mm_y, gwidth, and
|
|
2392
|
+
gheight.
|
|
2393
|
+
"""
|
|
2394
|
+
return EagerIterator(self, **kwargs)
|
|
2395
|
+
|
|
2375
2396
|
def tileIterator(
|
|
2376
2397
|
self, format: str | tuple[str] = (TILE_FORMAT_NUMPY, ),
|
|
2377
2398
|
resample: bool = True, **kwargs) -> Iterator[LazyTileDict]:
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Share eager iterator callables with worker processes."""
|
|
2
|
+
|
|
3
|
+
from collections.abc import Callable
|
|
4
|
+
|
|
5
|
+
_eager_fns: dict[str, Callable | None] = {
|
|
6
|
+
'transform': None,
|
|
7
|
+
'transform_scale': None,
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def set_transform(fn: Callable) -> None:
|
|
12
|
+
"""Store the process-local eager transform callable.
|
|
13
|
+
|
|
14
|
+
:param fn: A callable function with either one or three arguments that takes
|
|
15
|
+
in a numpy array containing image data and returns a numpy array containing
|
|
16
|
+
the transformed image data. If the function has three arguments, the first
|
|
17
|
+
argument is the image data, the second argument is the x coordinate of the
|
|
18
|
+
tile, and the third argument is the y coordinate of the tile as tile number
|
|
19
|
+
(transform save mode: tile_x_y) or base pixel coordinates
|
|
20
|
+
(transform save mode: region_x_y).
|
|
21
|
+
:returns: None.
|
|
22
|
+
"""
|
|
23
|
+
_eager_fns['transform'] = fn
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def get_transform() -> Callable | None:
|
|
27
|
+
"""Return the process-local eager transform callable.
|
|
28
|
+
|
|
29
|
+
:returns: The callable set by set_transform, or None if unset.
|
|
30
|
+
"""
|
|
31
|
+
return _eager_fns['transform']
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def set_transform_scale(fn: Callable) -> None:
|
|
35
|
+
"""Store the process-local eager transform-scale callable.
|
|
36
|
+
|
|
37
|
+
:param fn: a callable function that takes in a numpy array of read_kwargs,
|
|
38
|
+
a slide_dimensions dictionary, and returns a tuple containing the read coordinates,
|
|
39
|
+
tile size, and target scale metadata in the following order: xlt, ytt,
|
|
40
|
+
xrt, ybt, mm_x, mm_y, tile_size, target_scale, conv_mm_x, conv_mm_y.
|
|
41
|
+
See default_region_coords_and_target_scale_from_read_args in
|
|
42
|
+
eager_read_args.py for more details.
|
|
43
|
+
:returns: None.
|
|
44
|
+
"""
|
|
45
|
+
_eager_fns['transform_scale'] = fn
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def get_transform_scale() -> Callable | None:
|
|
49
|
+
"""Return the process-local eager transform-scale callable.
|
|
50
|
+
|
|
51
|
+
:returns: The callable set by set_transform_scale, or None if unset.
|
|
52
|
+
"""
|
|
53
|
+
return _eager_fns['transform_scale']
|