large-image 1.30.7.dev16__tar.gz → 1.30.7.dev20__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.
Files changed (59) hide show
  1. {large_image-1.30.7.dev16/large_image.egg-info → large_image-1.30.7.dev20}/PKG-INFO +77 -77
  2. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/getting_started.rst +3 -0
  3. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/exceptions.py +5 -1
  4. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/base.py +58 -12
  5. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/stylefuncs.py +2 -2
  6. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/tiledict.py +2 -2
  7. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/utilities.py +26 -23
  8. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20/large_image.egg-info}/PKG-INFO +77 -77
  9. large_image-1.30.7.dev20/large_image.egg-info/requires.txt +151 -0
  10. large_image-1.30.7.dev16/large_image.egg-info/requires.txt +0 -151
  11. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/LICENSE +0 -0
  12. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/NOTICE +0 -0
  13. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/README.rst +0 -0
  14. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/annotations.rst +0 -0
  15. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/api_index.rst +0 -0
  16. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/caching.rst +0 -0
  17. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/conf.py +0 -0
  18. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/config_options.rst +0 -0
  19. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/development.rst +0 -0
  20. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/dicomweb_assetstore.rst +0 -0
  21. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/format_examples_datastore.py +0 -0
  22. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/formats.rst +0 -0
  23. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/generate_format_table.py +0 -0
  24. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/girder_annotation_config_options.rst +0 -0
  25. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/girder_caching.rst +0 -0
  26. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/girder_config_options.rst +0 -0
  27. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/girder_index.rst +0 -0
  28. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/image_conversion.rst +0 -0
  29. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/index.rst +0 -0
  30. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/make_docs.sh +0 -0
  31. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/multi_source_specification.rst +0 -0
  32. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/notebooks/large_image_examples.ipynb +0 -0
  33. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/notebooks/zarr_sink_example.ipynb +0 -0
  34. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/notebooks.rst +0 -0
  35. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/plottable.rst +0 -0
  36. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/static/K.png +0 -0
  37. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/static/custom.css +0 -0
  38. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/tilesource_options.rst +0 -0
  39. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/docs/upgrade.rst +0 -0
  40. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/__init__.py +0 -0
  41. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/cache_util/__init__.py +0 -0
  42. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/cache_util/base.py +0 -0
  43. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/cache_util/cache.py +0 -0
  44. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/cache_util/cachefactory.py +0 -0
  45. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/cache_util/memcache.py +0 -0
  46. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/cache_util/rediscache.py +0 -0
  47. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/config.py +0 -0
  48. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/constants.py +0 -0
  49. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/__init__.py +0 -0
  50. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/geo.py +0 -0
  51. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/jupyter.py +0 -0
  52. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/resample.py +0 -0
  53. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image/tilesource/tileiterator.py +0 -0
  54. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image.egg-info/SOURCES.txt +0 -0
  55. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image.egg-info/dependency_links.txt +0 -0
  56. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image.egg-info/not-zip-safe +0 -0
  57. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/large_image.egg-info/top_level.txt +0 -0
  58. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/setup.cfg +0 -0
  59. {large_image-1.30.7.dev16 → large_image-1.30.7.dev20}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image
3
- Version: 1.30.7.dev16
3
+ Version: 1.30.7.dev20
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.
@@ -30,7 +30,7 @@ Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "memcac
30
30
  Provides-Extra: redis
31
31
  Requires-Dist: redis>=4.5.5; extra == "redis"
32
32
  Provides-Extra: converter
33
- Requires-Dist: large-image-converter>=1.30.7.dev16; extra == "converter"
33
+ Requires-Dist: large-image-converter>=1.30.7.dev20; extra == "converter"
34
34
  Provides-Extra: colormaps
35
35
  Requires-Dist: matplotlib; extra == "colormaps"
36
36
  Requires-Dist: tol_colors; extra == "colormaps"
@@ -40,106 +40,106 @@ Provides-Extra: performance
40
40
  Requires-Dist: psutil>=4.2.0; extra == "performance"
41
41
  Requires-Dist: simplejpeg; extra == "performance"
42
42
  Provides-Extra: bioformats
43
- Requires-Dist: large-image-source-bioformats>=1.30.7.dev16; extra == "bioformats"
43
+ Requires-Dist: large-image-source-bioformats>=1.30.7.dev20; extra == "bioformats"
44
44
  Provides-Extra: deepzoom
45
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "deepzoom"
45
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "deepzoom"
46
46
  Provides-Extra: dicom
47
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "dicom"
47
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "dicom"
48
48
  Provides-Extra: dummy
49
- Requires-Dist: large-image-source-dummy>=1.30.7.dev16; extra == "dummy"
49
+ Requires-Dist: large-image-source-dummy>=1.30.7.dev20; extra == "dummy"
50
50
  Provides-Extra: gdal
51
- Requires-Dist: large-image-source-gdal>=1.30.7.dev16; extra == "gdal"
51
+ Requires-Dist: large-image-source-gdal>=1.30.7.dev20; extra == "gdal"
52
52
  Provides-Extra: mapnik
53
- Requires-Dist: large-image-source-mapnik>=1.30.7.dev16; extra == "mapnik"
53
+ Requires-Dist: large-image-source-mapnik>=1.30.7.dev20; extra == "mapnik"
54
54
  Provides-Extra: multi
55
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "multi"
55
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "multi"
56
56
  Provides-Extra: nd2
57
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "nd2"
57
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "nd2"
58
58
  Provides-Extra: ometiff
59
- Requires-Dist: large-image-source-ometiff>=1.30.7.dev16; extra == "ometiff"
59
+ Requires-Dist: large-image-source-ometiff>=1.30.7.dev20; extra == "ometiff"
60
60
  Provides-Extra: openjpeg
61
- Requires-Dist: large-image-source-openjpeg>=1.30.7.dev16; extra == "openjpeg"
61
+ Requires-Dist: large-image-source-openjpeg>=1.30.7.dev20; extra == "openjpeg"
62
62
  Provides-Extra: openslide
63
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "openslide"
63
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "openslide"
64
64
  Provides-Extra: pil
65
- Requires-Dist: large-image-source-pil>=1.30.7.dev16; extra == "pil"
65
+ Requires-Dist: large-image-source-pil>=1.30.7.dev20; extra == "pil"
66
66
  Provides-Extra: rasterio
67
- Requires-Dist: large-image-source-rasterio>=1.30.7.dev16; extra == "rasterio"
67
+ Requires-Dist: large-image-source-rasterio>=1.30.7.dev20; extra == "rasterio"
68
68
  Provides-Extra: test
69
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "test"
69
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "test"
70
70
  Provides-Extra: tiff
71
- Requires-Dist: large-image-source-tiff>=1.30.7.dev16; extra == "tiff"
71
+ Requires-Dist: large-image-source-tiff>=1.30.7.dev20; extra == "tiff"
72
72
  Provides-Extra: tifffile
73
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "tifffile"
73
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "tifffile"
74
74
  Provides-Extra: vips
75
- Requires-Dist: large-image-source-vips>=1.30.7.dev16; extra == "vips"
75
+ Requires-Dist: large-image-source-vips>=1.30.7.dev20; extra == "vips"
76
76
  Provides-Extra: zarr
77
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "zarr"
77
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "zarr"
78
78
  Provides-Extra: sources
79
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "sources"
80
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "sources"
81
- Requires-Dist: large-image-source-gdal>=1.30.7.dev16; extra == "sources"
82
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "sources"
83
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "sources"
84
- Requires-Dist: large-image-source-bioformats>=1.30.7.dev16; extra == "sources"
85
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "sources"
86
- Requires-Dist: large-image-source-mapnik>=1.30.7.dev16; extra == "sources"
87
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "sources"
88
- Requires-Dist: large-image-source-openjpeg>=1.30.7.dev16; extra == "sources"
89
- Requires-Dist: large-image-source-dummy>=1.30.7.dev16; extra == "sources"
90
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "sources"
91
- Requires-Dist: large-image-source-vips>=1.30.7.dev16; extra == "sources"
92
- Requires-Dist: large-image-source-ometiff>=1.30.7.dev16; extra == "sources"
93
- Requires-Dist: large-image-source-pil>=1.30.7.dev16; extra == "sources"
94
- Requires-Dist: large-image-source-tiff>=1.30.7.dev16; extra == "sources"
95
- Requires-Dist: large-image-source-rasterio>=1.30.7.dev16; extra == "sources"
96
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "sources"
79
+ Requires-Dist: large-image-source-bioformats>=1.30.7.dev20; extra == "sources"
80
+ Requires-Dist: large-image-source-ometiff>=1.30.7.dev20; extra == "sources"
81
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "sources"
82
+ Requires-Dist: large-image-source-tiff>=1.30.7.dev20; extra == "sources"
83
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "sources"
84
+ Requires-Dist: large-image-source-dummy>=1.30.7.dev20; extra == "sources"
85
+ Requires-Dist: large-image-source-rasterio>=1.30.7.dev20; extra == "sources"
86
+ Requires-Dist: large-image-source-gdal>=1.30.7.dev20; extra == "sources"
87
+ Requires-Dist: large-image-source-mapnik>=1.30.7.dev20; extra == "sources"
88
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "sources"
89
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "sources"
90
+ Requires-Dist: large-image-source-openjpeg>=1.30.7.dev20; extra == "sources"
91
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "sources"
92
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "sources"
93
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "sources"
94
+ Requires-Dist: large-image-source-pil>=1.30.7.dev20; extra == "sources"
95
+ Requires-Dist: large-image-source-vips>=1.30.7.dev20; extra == "sources"
96
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "sources"
97
97
  Provides-Extra: all
98
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "all"
99
- Requires-Dist: tol_colors; extra == "all"
100
- Requires-Dist: psutil>=4.2.0; extra == "all"
101
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "all"
102
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "all"
103
- Requires-Dist: large-image-source-openjpeg>=1.30.7.dev16; extra == "all"
104
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "all"
105
- Requires-Dist: large-image-converter>=1.30.7.dev16; extra == "all"
106
- Requires-Dist: large-image-source-mapnik>=1.30.7.dev16; extra == "all"
107
- Requires-Dist: large-image-source-dummy>=1.30.7.dev16; extra == "all"
108
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "all"
109
- Requires-Dist: large-image-source-vips>=1.30.7.dev16; extra == "all"
110
- Requires-Dist: large-image-source-ometiff>=1.30.7.dev16; extra == "all"
111
- Requires-Dist: large-image-source-rasterio>=1.30.7.dev16; extra == "all"
112
98
  Requires-Dist: matplotlib; extra == "all"
113
- Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "all"
114
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "all"
115
- Requires-Dist: large-image-source-gdal>=1.30.7.dev16; extra == "all"
116
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "all"
99
+ Requires-Dist: large-image-source-bioformats>=1.30.7.dev20; extra == "all"
100
+ Requires-Dist: simplejpeg; extra == "all"
101
+ Requires-Dist: large-image-source-gdal>=1.30.7.dev20; extra == "all"
102
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "all"
103
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "all"
104
+ Requires-Dist: large-image-source-pil[all]>=1.30.7.dev20; extra == "all"
105
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "all"
106
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "all"
107
+ Requires-Dist: large-image-source-tiff>=1.30.7.dev20; extra == "all"
108
+ Requires-Dist: tol_colors; extra == "all"
109
+ Requires-Dist: large-image-source-ometiff>=1.30.7.dev20; extra == "all"
110
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "all"
111
+ Requires-Dist: large-image-source-vips>=1.30.7.dev20; extra == "all"
112
+ Requires-Dist: large-image-source-dummy>=1.30.7.dev20; extra == "all"
113
+ Requires-Dist: large-image-source-rasterio>=1.30.7.dev20; extra == "all"
114
+ Requires-Dist: large-image-source-mapnik>=1.30.7.dev20; extra == "all"
115
+ Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev20; extra == "all"
117
116
  Requires-Dist: redis>=4.5.5; extra == "all"
118
- Requires-Dist: large-image-source-tiff[all]>=1.30.7.dev16; extra == "all"
117
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "all"
118
+ Requires-Dist: large-image-source-openjpeg>=1.30.7.dev20; extra == "all"
119
+ Requires-Dist: large-image-converter>=1.30.7.dev20; extra == "all"
120
+ Requires-Dist: large-image-source-tiff[all]>=1.30.7.dev20; extra == "all"
119
121
  Requires-Dist: pyvips; extra == "all"
120
- Requires-Dist: large-image-source-bioformats>=1.30.7.dev16; extra == "all"
121
- Requires-Dist: large-image-source-multi[all]>=1.30.7.dev16; extra == "all"
122
- Requires-Dist: large-image-source-tiff>=1.30.7.dev16; extra == "all"
123
- Requires-Dist: large-image-source-pil>=1.30.7.dev16; extra == "all"
124
- Requires-Dist: large-image-source-pil[all]>=1.30.7.dev16; extra == "all"
125
- Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev16; extra == "all"
126
- Requires-Dist: simplejpeg; extra == "all"
127
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "all"
122
+ Requires-Dist: large-image-source-multi[all]>=1.30.7.dev20; extra == "all"
123
+ Requires-Dist: large-image-source-pil>=1.30.7.dev20; extra == "all"
124
+ Requires-Dist: psutil>=4.2.0; extra == "all"
125
+ Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "all"
126
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "all"
127
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "all"
128
128
  Provides-Extra: common
129
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "common"
130
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "common"
131
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "common"
132
- Requires-Dist: psutil>=4.2.0; extra == "common"
133
- Requires-Dist: tol_colors; extra == "common"
134
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "common"
135
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "common"
136
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "common"
137
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "common"
138
129
  Requires-Dist: matplotlib; extra == "common"
139
- Requires-Dist: large-image-source-pil[all]>=1.30.7.dev16; extra == "common"
140
- Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev16; extra == "common"
130
+ Requires-Dist: tol_colors; extra == "common"
131
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "common"
141
132
  Requires-Dist: simplejpeg; extra == "common"
142
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "common"
133
+ Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev20; extra == "common"
134
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "common"
135
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "common"
136
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "common"
137
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "common"
138
+ Requires-Dist: large-image-source-pil[all]>=1.30.7.dev20; extra == "common"
139
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "common"
140
+ Requires-Dist: psutil>=4.2.0; extra == "common"
141
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "common"
142
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "common"
143
143
 
144
144
  Large Image
145
145
  ===========
@@ -296,6 +296,9 @@ Many image formats (such as TIFF) can contain multiple images within a single fi
296
296
 
297
297
  By default, the ``getTile``, ``getRegion``, and ``tileIterator`` methods will return all of the bands of a single frame. The specific bands returned can be modified using the ``style`` parameter. The specific frame, including any channel or other axes, is specified with the ``frame`` parameter.
298
298
 
299
+ Since if can be useful to ask for a specific frame based on the axes values there are ``frameFromAxes`` and ``axesFromFrame`` utility functions.
300
+
301
+
299
302
  Styles - Changing colors, scales, and other properties
300
303
  ------------------------------------------------------
301
304
 
@@ -13,7 +13,11 @@ class TileSourceAssetstoreError(TileSourceError):
13
13
  pass
14
14
 
15
15
 
16
- class TileSourceXYZRangeError(TileSourceError):
16
+ class TileSourceRangeError(TileSourceError):
17
+ pass
18
+
19
+
20
+ class TileSourceXYZRangeError(TileSourceRangeError):
17
21
  pass
18
22
 
19
23
 
@@ -1006,7 +1006,7 @@ class TileSource(IPyLeafletMixin):
1006
1006
  elif sc.mainImage.dtype.kind == 'f':
1007
1007
  sc.dtype = 'float'
1008
1008
  sc.axis = sc.axis if sc.axis is not None else entry.get('axis')
1009
- sc.bandidx = 0 if image.shape[2] <= 2 else 1 # type: ignore[misc]
1009
+ sc.bandidx = 0 if image.shape[2] <= 2 else 1
1010
1010
  sc.band = None
1011
1011
  if ((entry.get('frame') is None and not entry.get('framedelta')) or
1012
1012
  entry.get('frame') == sc.mainFrame):
@@ -1021,29 +1021,29 @@ class TileSource(IPyLeafletMixin):
1021
1021
  :sc.mainImage.shape[1],
1022
1022
  :sc.mainImage.shape[2]]
1023
1023
  if (isinstance(entry.get('band'), int) and
1024
- entry['band'] >= 1 and entry['band'] <= image.shape[2]): # type: ignore[misc]
1024
+ entry['band'] >= 1 and entry['band'] <= image.shape[2]):
1025
1025
  sc.bandidx = entry['band'] - 1
1026
1026
  sc.composite = entry.get('composite', 'lighten')
1027
1027
  if (hasattr(self, '_bandnames') and entry.get('band') and
1028
1028
  str(entry['band']).lower() in self._bandnames and
1029
- image.shape[2] > self._bandnames[ # type: ignore[misc]
1029
+ image.shape[2] > self._bandnames[
1030
1030
  str(entry['band']).lower()]):
1031
1031
  sc.bandidx = self._bandnames[str(entry['band']).lower()]
1032
- if entry.get('band') == 'red' and image.shape[2] > 2: # type: ignore[misc]
1032
+ if entry.get('band') == 'red' and image.shape[2] > 2:
1033
1033
  sc.bandidx = 0
1034
- elif entry.get('band') == 'blue' and image.shape[2] > 2: # type: ignore[misc]
1034
+ elif entry.get('band') == 'blue' and image.shape[2] > 2:
1035
1035
  sc.bandidx = 2
1036
1036
  sc.band = image[:, :, 2]
1037
1037
  elif entry.get('band') == 'alpha':
1038
- sc.bandidx = (image.shape[2] - 1 if image.shape[2] in (2, 4) # type: ignore[misc]
1038
+ sc.bandidx = (image.shape[2] - 1 if image.shape[2] in (2, 4)
1039
1039
  else None)
1040
- sc.band = (image[:, :, -1] if image.shape[2] in (2, 4) else # type: ignore[misc]
1040
+ sc.band = (image[:, :, -1] if image.shape[2] in (2, 4) else
1041
1041
  np.full(image.shape[:2], 255, np.uint8))
1042
1042
  sc.composite = entry.get('composite', 'multiply')
1043
1043
  if sc.band is None:
1044
1044
  sc.band = image[
1045
- :, :, sc.bandidx # type: ignore[index]
1046
- if sc.bandidx is not None and sc.bandidx < image.shape[2] # type: ignore[misc]
1045
+ :, :, sc.bandidx
1046
+ if sc.bandidx is not None and sc.bandidx < image.shape[2]
1047
1047
  else 0]
1048
1048
  sc.band = self._applyStyleFunction(sc.band, sc, 'preband')
1049
1049
  sc.palette = getPaletteColors(entry.get(
@@ -1076,7 +1076,7 @@ class TileSource(IPyLeafletMixin):
1076
1076
  # divide.
1077
1077
  # See https://docs.gimp.org/en/gimp-concepts-layer-modes.html for
1078
1078
  # some details.
1079
- for channel in range(sc.output.shape[2]): # type: ignore[misc]
1079
+ for channel in range(sc.output.shape[2]):
1080
1080
  if np.all(sc.palette[:, channel] == sc.palette[0, channel]):
1081
1081
  if ((sc.palette[0, channel] == 0 and sc.composite != 'multiply') or
1082
1082
  (sc.palette[0, channel] == 255 and sc.composite == 'multiply')):
@@ -1117,7 +1117,7 @@ class TileSource(IPyLeafletMixin):
1117
1117
  sc.output = (sc.output * 65535 / 255).astype(np.uint16)
1118
1118
  elif sc.dtype == 'float':
1119
1119
  sc.output /= 255
1120
- if sc.axis is not None and 0 <= int(sc.axis) < sc.output.shape[2]: # type: ignore[misc]
1120
+ if sc.axis is not None and 0 <= int(sc.axis) < sc.output.shape[2]:
1121
1121
  sc.output = sc.output[:, :, sc.axis:sc.axis + 1]
1122
1122
  sc.output = self._applyStyleFunction(sc.output, sc, 'post')
1123
1123
  return sc.output
@@ -1145,7 +1145,7 @@ class TileSource(IPyLeafletMixin):
1145
1145
  tile = self._applyStyle(tile, getattr(self, 'style', None), x, y, z, frame)
1146
1146
  if tile.shape[0] != self.tileHeight or tile.shape[1] != self.tileWidth:
1147
1147
  extend = np.zeros(
1148
- (self.tileHeight, self.tileWidth, tile.shape[2]), # type: ignore[misc]
1148
+ (self.tileHeight, self.tileWidth, tile.shape[2]),
1149
1149
  dtype=tile.dtype)
1150
1150
  extend[:min(self.tileHeight, tile.shape[0]),
1151
1151
  :min(self.tileWidth, tile.shape[1])] = tile
@@ -2540,6 +2540,52 @@ class TileSource(IPyLeafletMixin):
2540
2540
  self._frameCount = len(self.getMetadata().get('frames', [])) or 1
2541
2541
  return self._frameCount
2542
2542
 
2543
+ def frameToAxes(self, frame: int) -> Dict[str, int]:
2544
+ """
2545
+ Given a frame number, return a dictionary of axes values. If unknown,
2546
+ this is just 'frame': frame.
2547
+
2548
+ :param frame: a frame number.
2549
+ :returns: a dictionary of axes that specify the frame.
2550
+ """
2551
+ if frame >= self.frames:
2552
+ msg = 'frame is outside of range'
2553
+ raise exceptions.TileSourceRangeError(msg)
2554
+ meta = self.metadata
2555
+ if self.frames == 1 or 'IndexStride' not in meta:
2556
+ return {'frame': frame}
2557
+ axes = {
2558
+ key[5:].lower(): (frame // stride) % meta['IndexRange'][key]
2559
+ for key, stride in meta['IndexStride'].items()}
2560
+ return axes
2561
+
2562
+ def axesToFrame(self, **kwargs: int) -> int:
2563
+ """
2564
+ Given values on some or all of the axes, return the corresponding frame
2565
+ number. Any unspecified axis is 0. If one of the specified axes is
2566
+ 'frame', this is just returned and the other values are ignored.
2567
+
2568
+ :param kwargs: axes with position values.
2569
+ :returns: a frame number.
2570
+ """
2571
+ meta = self.metadata
2572
+ frame = 0
2573
+ for key, value in kwargs.items():
2574
+ if key.lower() == 'frame':
2575
+ if value < 0 or value >= self.frames:
2576
+ msg = f'{value} is out of range for frame'
2577
+ raise exceptions.TileSourceRangeError(msg)
2578
+ return value
2579
+ ikey = 'Index' + key.upper()
2580
+ if ikey not in meta.get('IndexStride', {}):
2581
+ msg = f'{key} is not a known axis'
2582
+ raise exceptions.TileSourceRangeError(msg)
2583
+ if value < 0 or value >= meta['IndexRange'][ikey]:
2584
+ msg = f'{value} is out of range for axis {key}'
2585
+ raise exceptions.TileSourceRangeError(msg)
2586
+ frame += value * meta['IndexStride'][ikey]
2587
+ return frame
2588
+
2543
2589
 
2544
2590
  class FileTileSource(TileSource):
2545
2591
 
@@ -93,9 +93,9 @@ def medianFilter(
93
93
  pimg: np.ndarray = image.astype(float)
94
94
  if len(pimg.shape) == 2:
95
95
  pimg = np.resize(pimg, (pimg.shape[0], pimg.shape[1], 1))
96
- pimg = pimg[:, :, :fimg.shape[2]] # type: ignore[index,misc]
96
+ pimg = pimg[:, :, :fimg.shape[2]]
97
97
  dimg = (pimg - fimg.astype(float) * mul) * weight
98
- pimg = pimg[:, :, :fimg.shape[2]] + dimg # type: ignore[index,misc]
98
+ pimg = pimg[:, :, :fimg.shape[2]] + dimg
99
99
  if clip:
100
100
  pimg = pimg.clip(0, clip)
101
101
  if len(image.shape) != 3:
@@ -156,7 +156,7 @@ class LazyTileDict(dict):
156
156
  elif tileData.shape[2] < retile.shape[2]:
157
157
  retile = retile[:, :, :tileData.shape[2]]
158
158
  retile[y0:y0 + th, x0:x0 + tw] = tileData[
159
- :th, :tw, :retile.shape[2]] # type: ignore[misc]
159
+ :th, :tw, :retile.shape[2]]
160
160
  return cast(np.ndarray, retile)
161
161
 
162
162
  def _resample(self, tileData: Union[ImageBytes, PIL.Image.Image, bytes, np.ndarray]) -> Tuple[
@@ -197,7 +197,7 @@ class LazyTileDict(dict):
197
197
  tileData = skimage.transform.resize(
198
198
  cast(np.ndarray, tileData),
199
199
  (self['width'], self['height'],
200
- cast(np.ndarray, tileData).shape[2]), # type: ignore[misc]
200
+ cast(np.ndarray, tileData).shape[2]),
201
201
  order=3 if self.resample is True else self.resample)
202
202
  return tileData, pilData
203
203
 
@@ -213,28 +213,30 @@ def _imageToPIL(
213
213
  mode = modesBySize[image.shape[2] - 1]
214
214
  if len(image.shape) == 3 and image.shape[2] == 1:
215
215
  image = np.resize(image, image.shape[:2])
216
- if image.dtype == np.uint32:
216
+ if cast(np.ndarray, image).dtype == np.uint32:
217
217
  image = np.floor_divide(image, 2 ** 24).astype(np.uint8)
218
- elif image.dtype == np.uint16:
218
+ elif cast(np.ndarray, image).dtype == np.uint16:
219
219
  image = np.floor_divide(image, 256).astype(np.uint8)
220
- elif image.dtype == np.int8:
221
- image = (image.astype(float) + 128).astype(np.uint8)
222
- elif image.dtype == np.int16:
223
- image = np.floor_divide(image.astype(float) + 2 ** 15, 256).astype(np.uint8)
224
- elif image.dtype == np.int32:
225
- image = np.floor_divide(image.astype(float) + 2 ** 31, 2 ** 24).astype(np.uint8)
220
+ elif cast(np.ndarray, image).dtype == np.int8:
221
+ image = (cast(np.ndarray, image).astype(float) + 128).astype(np.uint8)
222
+ elif cast(np.ndarray, image).dtype == np.int16:
223
+ image = np.floor_divide(
224
+ cast(np.ndarray, image).astype(float) + 2 ** 15, 256).astype(np.uint8)
225
+ elif cast(np.ndarray, image).dtype == np.int32:
226
+ image = np.floor_divide(
227
+ cast(np.ndarray, image).astype(float) + 2 ** 31, 2 ** 24).astype(np.uint8)
226
228
  # TODO: The scaling of float data needs to be identical across all
227
229
  # tiles of an image. This means that we need a reference to the parent
228
230
  # tile source or some other way of regulating it.
229
- # elif image.dtype.kind == 'f':
231
+ # elif cast(np.ndarray, image).dtype.kind == 'f':
230
232
  # if numpy.max(image) > 1:
231
233
  # maxl2 = math.ceil(math.log(numpy.max(image) + 1) / math.log(2))
232
234
  # image = image / ((2 ** maxl2) - 1)
233
235
  # image = (image * 255).astype(numpy.uint8)
234
- elif image.dtype != np.uint8:
236
+ elif cast(np.ndarray, image).dtype != np.uint8:
235
237
  image = np.clip(np.nan_to_num(np.where(
236
238
  image is None, np.nan, image), nan=0), 0, 255).astype(np.uint8)
237
- image = PIL.Image.fromarray(image, mode)
239
+ image = PIL.Image.fromarray(cast(np.ndarray, image), mode)
238
240
  elif not isinstance(image, PIL.Image.Image):
239
241
  image = PIL.Image.open(io.BytesIO(image))
240
242
  if setMode is not None and image.mode != setMode:
@@ -277,9 +279,10 @@ def _imageToNumpy(
277
279
  mode = modesBySize[(image.shape[2] - 1) if image.shape[2] <= 4 else 3]
278
280
  return image, mode
279
281
  mode = 'L'
280
- if len(image.shape) == 2:
281
- image = np.resize(image, (image.shape[0], image.shape[1], 1))
282
- return image, mode
282
+ if len(cast(np.ndarray, image).shape) == 2:
283
+ image = np.resize(cast(np.ndarray, image),
284
+ (cast(np.ndarray, image).shape[0], cast(np.ndarray, image).shape[1], 1))
285
+ return cast(np.ndarray, image), mode
283
286
 
284
287
 
285
288
  def _letterboxImage(image: PIL.Image.Image, width: int, height: int, fill: str) -> PIL.Image.Image:
@@ -811,7 +814,7 @@ def fullAlphaValue(arr: Union[np.ndarray, npt.DTypeLike]) -> int:
811
814
  if cast(np.dtype, dtype).kind == 'u':
812
815
  return np.iinfo(dtype).max
813
816
  if isinstance(arr, np.ndarray) and cast(np.dtype, dtype).kind == 'f':
814
- amax = np.amax(arr)
817
+ amax = cast(float, np.amax(arr))
815
818
  if amax > 1 and amax < 256:
816
819
  return 255
817
820
  if amax > 1 and amax < 65536:
@@ -844,24 +847,24 @@ def _makeSameChannelDepth(arr1: np.ndarray, arr2: np.ndarray) -> Tuple[np.ndarra
844
847
  # If any array is RGB, make sure all arrays are RGB.
845
848
  for key, arr in arrays.items():
846
849
  other = arrays['arr1' if key == 'arr2' else 'arr2']
847
- if arr.shape[2] < 3 and other.shape[2] >= 3: # type: ignore[misc]
850
+ if arr.shape[2] < 3 and other.shape[2] >= 3:
848
851
  newarr = np.ones(
849
- (arr.shape[0], arr.shape[1], arr.shape[2] + 2), # type: ignore[misc]
852
+ (arr.shape[0], arr.shape[1], arr.shape[2] + 2),
850
853
  dtype=arr.dtype)
851
854
  newarr[:, :, 0:1] = arr[:, :, 0:1]
852
855
  newarr[:, :, 1:2] = arr[:, :, 0:1]
853
856
  newarr[:, :, 2:3] = arr[:, :, 0:1]
854
- if arr.shape[2] == 2: # type: ignore[misc]
857
+ if arr.shape[2] == 2:
855
858
  newarr[:, :, 3:4] = arr[:, :, 1:2]
856
859
  arrays[key] = newarr
857
860
  # If only one array has an A channel, make sure all arrays have an A
858
861
  # channel
859
862
  for key, arr in arrays.items():
860
863
  other = arrays['arr1' if key == 'arr2' else 'arr2']
861
- if arr.shape[2] < other.shape[2]: # type: ignore[misc]
864
+ if arr.shape[2] < other.shape[2]:
862
865
  arrays[key] = np.pad(
863
866
  arr,
864
- ((0, 0), (0, 0), (0, other.shape[2] - arr.shape[2])), # type: ignore[misc]
867
+ ((0, 0), (0, 0), (0, other.shape[2] - arr.shape[2])),
865
868
  constant_values=fullAlphaValue(arr))
866
869
  return arrays['arr1'], arrays['arr2']
867
870
 
@@ -886,7 +889,7 @@ def _addSubimageToImage(
886
889
  if (x, y, width, height) == (0, 0, subimage.shape[1], subimage.shape[0]):
887
890
  return subimage
888
891
  image = np.zeros(
889
- (height, width, subimage.shape[2]), # type: ignore[misc]
892
+ (height, width, subimage.shape[2]),
890
893
  dtype=subimage.dtype)
891
894
  elif len(image.shape) != len(subimage.shape) or image.shape[-1] != subimage.shape[-1]:
892
895
  image, subimage = _makeSameChannelDepth(image, subimage)
@@ -944,7 +947,7 @@ def _addRegionTileToTiled(
944
947
  subimage = subimage.astype('d')
945
948
  vimgMem = pyvips.Image.new_from_memory(
946
949
  np.ascontiguousarray(subimage).data,
947
- subimage.shape[1], subimage.shape[0], subimage.shape[2], # type: ignore[misc]
950
+ subimage.shape[1], subimage.shape[0], subimage.shape[2],
948
951
  dtypeToGValue[subimage.dtype.char])
949
952
  vimg = pyvips.Image.new_temp_file('%s.v')
950
953
  vimgMem.write(vimg)
@@ -955,7 +958,7 @@ def _addRegionTileToTiled(
955
958
  'mm_x': tile.get('mm_x') if tile else None,
956
959
  'mm_y': tile.get('mm_y') if tile else None,
957
960
  'magnification': tile.get('magnification') if tile else None,
958
- 'channels': subimage.shape[2], # type: ignore[misc]
961
+ 'channels': subimage.shape[2],
959
962
  'strips': {},
960
963
  }
961
964
  if y not in image['strips']:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: large-image
3
- Version: 1.30.7.dev16
3
+ Version: 1.30.7.dev20
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.
@@ -30,7 +30,7 @@ Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "memcac
30
30
  Provides-Extra: redis
31
31
  Requires-Dist: redis>=4.5.5; extra == "redis"
32
32
  Provides-Extra: converter
33
- Requires-Dist: large-image-converter>=1.30.7.dev16; extra == "converter"
33
+ Requires-Dist: large-image-converter>=1.30.7.dev20; extra == "converter"
34
34
  Provides-Extra: colormaps
35
35
  Requires-Dist: matplotlib; extra == "colormaps"
36
36
  Requires-Dist: tol_colors; extra == "colormaps"
@@ -40,106 +40,106 @@ Provides-Extra: performance
40
40
  Requires-Dist: psutil>=4.2.0; extra == "performance"
41
41
  Requires-Dist: simplejpeg; extra == "performance"
42
42
  Provides-Extra: bioformats
43
- Requires-Dist: large-image-source-bioformats>=1.30.7.dev16; extra == "bioformats"
43
+ Requires-Dist: large-image-source-bioformats>=1.30.7.dev20; extra == "bioformats"
44
44
  Provides-Extra: deepzoom
45
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "deepzoom"
45
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "deepzoom"
46
46
  Provides-Extra: dicom
47
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "dicom"
47
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "dicom"
48
48
  Provides-Extra: dummy
49
- Requires-Dist: large-image-source-dummy>=1.30.7.dev16; extra == "dummy"
49
+ Requires-Dist: large-image-source-dummy>=1.30.7.dev20; extra == "dummy"
50
50
  Provides-Extra: gdal
51
- Requires-Dist: large-image-source-gdal>=1.30.7.dev16; extra == "gdal"
51
+ Requires-Dist: large-image-source-gdal>=1.30.7.dev20; extra == "gdal"
52
52
  Provides-Extra: mapnik
53
- Requires-Dist: large-image-source-mapnik>=1.30.7.dev16; extra == "mapnik"
53
+ Requires-Dist: large-image-source-mapnik>=1.30.7.dev20; extra == "mapnik"
54
54
  Provides-Extra: multi
55
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "multi"
55
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "multi"
56
56
  Provides-Extra: nd2
57
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "nd2"
57
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "nd2"
58
58
  Provides-Extra: ometiff
59
- Requires-Dist: large-image-source-ometiff>=1.30.7.dev16; extra == "ometiff"
59
+ Requires-Dist: large-image-source-ometiff>=1.30.7.dev20; extra == "ometiff"
60
60
  Provides-Extra: openjpeg
61
- Requires-Dist: large-image-source-openjpeg>=1.30.7.dev16; extra == "openjpeg"
61
+ Requires-Dist: large-image-source-openjpeg>=1.30.7.dev20; extra == "openjpeg"
62
62
  Provides-Extra: openslide
63
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "openslide"
63
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "openslide"
64
64
  Provides-Extra: pil
65
- Requires-Dist: large-image-source-pil>=1.30.7.dev16; extra == "pil"
65
+ Requires-Dist: large-image-source-pil>=1.30.7.dev20; extra == "pil"
66
66
  Provides-Extra: rasterio
67
- Requires-Dist: large-image-source-rasterio>=1.30.7.dev16; extra == "rasterio"
67
+ Requires-Dist: large-image-source-rasterio>=1.30.7.dev20; extra == "rasterio"
68
68
  Provides-Extra: test
69
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "test"
69
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "test"
70
70
  Provides-Extra: tiff
71
- Requires-Dist: large-image-source-tiff>=1.30.7.dev16; extra == "tiff"
71
+ Requires-Dist: large-image-source-tiff>=1.30.7.dev20; extra == "tiff"
72
72
  Provides-Extra: tifffile
73
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "tifffile"
73
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "tifffile"
74
74
  Provides-Extra: vips
75
- Requires-Dist: large-image-source-vips>=1.30.7.dev16; extra == "vips"
75
+ Requires-Dist: large-image-source-vips>=1.30.7.dev20; extra == "vips"
76
76
  Provides-Extra: zarr
77
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "zarr"
77
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "zarr"
78
78
  Provides-Extra: sources
79
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "sources"
80
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "sources"
81
- Requires-Dist: large-image-source-gdal>=1.30.7.dev16; extra == "sources"
82
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "sources"
83
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "sources"
84
- Requires-Dist: large-image-source-bioformats>=1.30.7.dev16; extra == "sources"
85
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "sources"
86
- Requires-Dist: large-image-source-mapnik>=1.30.7.dev16; extra == "sources"
87
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "sources"
88
- Requires-Dist: large-image-source-openjpeg>=1.30.7.dev16; extra == "sources"
89
- Requires-Dist: large-image-source-dummy>=1.30.7.dev16; extra == "sources"
90
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "sources"
91
- Requires-Dist: large-image-source-vips>=1.30.7.dev16; extra == "sources"
92
- Requires-Dist: large-image-source-ometiff>=1.30.7.dev16; extra == "sources"
93
- Requires-Dist: large-image-source-pil>=1.30.7.dev16; extra == "sources"
94
- Requires-Dist: large-image-source-tiff>=1.30.7.dev16; extra == "sources"
95
- Requires-Dist: large-image-source-rasterio>=1.30.7.dev16; extra == "sources"
96
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "sources"
79
+ Requires-Dist: large-image-source-bioformats>=1.30.7.dev20; extra == "sources"
80
+ Requires-Dist: large-image-source-ometiff>=1.30.7.dev20; extra == "sources"
81
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "sources"
82
+ Requires-Dist: large-image-source-tiff>=1.30.7.dev20; extra == "sources"
83
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "sources"
84
+ Requires-Dist: large-image-source-dummy>=1.30.7.dev20; extra == "sources"
85
+ Requires-Dist: large-image-source-rasterio>=1.30.7.dev20; extra == "sources"
86
+ Requires-Dist: large-image-source-gdal>=1.30.7.dev20; extra == "sources"
87
+ Requires-Dist: large-image-source-mapnik>=1.30.7.dev20; extra == "sources"
88
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "sources"
89
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "sources"
90
+ Requires-Dist: large-image-source-openjpeg>=1.30.7.dev20; extra == "sources"
91
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "sources"
92
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "sources"
93
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "sources"
94
+ Requires-Dist: large-image-source-pil>=1.30.7.dev20; extra == "sources"
95
+ Requires-Dist: large-image-source-vips>=1.30.7.dev20; extra == "sources"
96
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "sources"
97
97
  Provides-Extra: all
98
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "all"
99
- Requires-Dist: tol_colors; extra == "all"
100
- Requires-Dist: psutil>=4.2.0; extra == "all"
101
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "all"
102
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "all"
103
- Requires-Dist: large-image-source-openjpeg>=1.30.7.dev16; extra == "all"
104
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "all"
105
- Requires-Dist: large-image-converter>=1.30.7.dev16; extra == "all"
106
- Requires-Dist: large-image-source-mapnik>=1.30.7.dev16; extra == "all"
107
- Requires-Dist: large-image-source-dummy>=1.30.7.dev16; extra == "all"
108
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "all"
109
- Requires-Dist: large-image-source-vips>=1.30.7.dev16; extra == "all"
110
- Requires-Dist: large-image-source-ometiff>=1.30.7.dev16; extra == "all"
111
- Requires-Dist: large-image-source-rasterio>=1.30.7.dev16; extra == "all"
112
98
  Requires-Dist: matplotlib; extra == "all"
113
- Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "all"
114
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "all"
115
- Requires-Dist: large-image-source-gdal>=1.30.7.dev16; extra == "all"
116
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "all"
99
+ Requires-Dist: large-image-source-bioformats>=1.30.7.dev20; extra == "all"
100
+ Requires-Dist: simplejpeg; extra == "all"
101
+ Requires-Dist: large-image-source-gdal>=1.30.7.dev20; extra == "all"
102
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "all"
103
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "all"
104
+ Requires-Dist: large-image-source-pil[all]>=1.30.7.dev20; extra == "all"
105
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "all"
106
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "all"
107
+ Requires-Dist: large-image-source-tiff>=1.30.7.dev20; extra == "all"
108
+ Requires-Dist: tol_colors; extra == "all"
109
+ Requires-Dist: large-image-source-ometiff>=1.30.7.dev20; extra == "all"
110
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "all"
111
+ Requires-Dist: large-image-source-vips>=1.30.7.dev20; extra == "all"
112
+ Requires-Dist: large-image-source-dummy>=1.30.7.dev20; extra == "all"
113
+ Requires-Dist: large-image-source-rasterio>=1.30.7.dev20; extra == "all"
114
+ Requires-Dist: large-image-source-mapnik>=1.30.7.dev20; extra == "all"
115
+ Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev20; extra == "all"
117
116
  Requires-Dist: redis>=4.5.5; extra == "all"
118
- Requires-Dist: large-image-source-tiff[all]>=1.30.7.dev16; extra == "all"
117
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "all"
118
+ Requires-Dist: large-image-source-openjpeg>=1.30.7.dev20; extra == "all"
119
+ Requires-Dist: large-image-converter>=1.30.7.dev20; extra == "all"
120
+ Requires-Dist: large-image-source-tiff[all]>=1.30.7.dev20; extra == "all"
119
121
  Requires-Dist: pyvips; extra == "all"
120
- Requires-Dist: large-image-source-bioformats>=1.30.7.dev16; extra == "all"
121
- Requires-Dist: large-image-source-multi[all]>=1.30.7.dev16; extra == "all"
122
- Requires-Dist: large-image-source-tiff>=1.30.7.dev16; extra == "all"
123
- Requires-Dist: large-image-source-pil>=1.30.7.dev16; extra == "all"
124
- Requires-Dist: large-image-source-pil[all]>=1.30.7.dev16; extra == "all"
125
- Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev16; extra == "all"
126
- Requires-Dist: simplejpeg; extra == "all"
127
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "all"
122
+ Requires-Dist: large-image-source-multi[all]>=1.30.7.dev20; extra == "all"
123
+ Requires-Dist: large-image-source-pil>=1.30.7.dev20; extra == "all"
124
+ Requires-Dist: psutil>=4.2.0; extra == "all"
125
+ Requires-Dist: pylibmc>=1.5.1; platform_system != "Windows" and extra == "all"
126
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "all"
127
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "all"
128
128
  Provides-Extra: common
129
- Requires-Dist: large-image-source-zarr>=1.30.7.dev16; extra == "common"
130
- Requires-Dist: large-image-source-deepzoom>=1.30.7.dev16; extra == "common"
131
- Requires-Dist: large-image-source-test>=1.30.7.dev16; extra == "common"
132
- Requires-Dist: psutil>=4.2.0; extra == "common"
133
- Requires-Dist: tol_colors; extra == "common"
134
- Requires-Dist: large-image-source-tifffile>=1.30.7.dev16; extra == "common"
135
- Requires-Dist: large-image-source-dicom>=1.30.7.dev16; extra == "common"
136
- Requires-Dist: large-image-source-nd2>=1.30.7.dev16; extra == "common"
137
- Requires-Dist: large-image-source-multi>=1.30.7.dev16; extra == "common"
138
129
  Requires-Dist: matplotlib; extra == "common"
139
- Requires-Dist: large-image-source-pil[all]>=1.30.7.dev16; extra == "common"
140
- Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev16; extra == "common"
130
+ Requires-Dist: tol_colors; extra == "common"
131
+ Requires-Dist: large-image-source-openslide>=1.30.7.dev20; extra == "common"
141
132
  Requires-Dist: simplejpeg; extra == "common"
142
- Requires-Dist: large-image-source-openslide>=1.30.7.dev16; extra == "common"
133
+ Requires-Dist: large-image-source-rasterio[all]>=1.30.7.dev20; extra == "common"
134
+ Requires-Dist: large-image-source-multi>=1.30.7.dev20; extra == "common"
135
+ Requires-Dist: large-image-source-deepzoom>=1.30.7.dev20; extra == "common"
136
+ Requires-Dist: large-image-source-test>=1.30.7.dev20; extra == "common"
137
+ Requires-Dist: large-image-source-nd2>=1.30.7.dev20; extra == "common"
138
+ Requires-Dist: large-image-source-pil[all]>=1.30.7.dev20; extra == "common"
139
+ Requires-Dist: large-image-source-dicom>=1.30.7.dev20; extra == "common"
140
+ Requires-Dist: psutil>=4.2.0; extra == "common"
141
+ Requires-Dist: large-image-source-zarr>=1.30.7.dev20; extra == "common"
142
+ Requires-Dist: large-image-source-tifffile>=1.30.7.dev20; extra == "common"
143
143
 
144
144
  Large Image
145
145
  ===========
@@ -0,0 +1,151 @@
1
+ cachetools
2
+ palettable
3
+ Pillow
4
+ numpy
5
+ typing-extensions
6
+
7
+ [all]
8
+ matplotlib
9
+ large-image-source-bioformats>=1.30.7.dev20
10
+ simplejpeg
11
+ large-image-source-gdal>=1.30.7.dev20
12
+ large-image-source-multi>=1.30.7.dev20
13
+ large-image-source-test>=1.30.7.dev20
14
+ large-image-source-pil[all]>=1.30.7.dev20
15
+ large-image-source-dicom>=1.30.7.dev20
16
+ large-image-source-tifffile>=1.30.7.dev20
17
+ large-image-source-tiff>=1.30.7.dev20
18
+ tol_colors
19
+ large-image-source-ometiff>=1.30.7.dev20
20
+ large-image-source-openslide>=1.30.7.dev20
21
+ large-image-source-vips>=1.30.7.dev20
22
+ large-image-source-dummy>=1.30.7.dev20
23
+ large-image-source-rasterio>=1.30.7.dev20
24
+ large-image-source-mapnik>=1.30.7.dev20
25
+ large-image-source-rasterio[all]>=1.30.7.dev20
26
+ redis>=4.5.5
27
+ large-image-source-deepzoom>=1.30.7.dev20
28
+ large-image-source-openjpeg>=1.30.7.dev20
29
+ large-image-converter>=1.30.7.dev20
30
+ large-image-source-tiff[all]>=1.30.7.dev20
31
+ pyvips
32
+ large-image-source-multi[all]>=1.30.7.dev20
33
+ large-image-source-pil>=1.30.7.dev20
34
+ psutil>=4.2.0
35
+ large-image-source-zarr>=1.30.7.dev20
36
+ large-image-source-nd2>=1.30.7.dev20
37
+
38
+ [all:platform_system != "Windows"]
39
+ pylibmc>=1.5.1
40
+
41
+ [bioformats]
42
+ large-image-source-bioformats>=1.30.7.dev20
43
+
44
+ [colormaps]
45
+ matplotlib
46
+ tol_colors
47
+
48
+ [common]
49
+ matplotlib
50
+ tol_colors
51
+ large-image-source-openslide>=1.30.7.dev20
52
+ simplejpeg
53
+ large-image-source-rasterio[all]>=1.30.7.dev20
54
+ large-image-source-multi>=1.30.7.dev20
55
+ large-image-source-deepzoom>=1.30.7.dev20
56
+ large-image-source-test>=1.30.7.dev20
57
+ large-image-source-nd2>=1.30.7.dev20
58
+ large-image-source-pil[all]>=1.30.7.dev20
59
+ large-image-source-dicom>=1.30.7.dev20
60
+ psutil>=4.2.0
61
+ large-image-source-zarr>=1.30.7.dev20
62
+ large-image-source-tifffile>=1.30.7.dev20
63
+
64
+ [converter]
65
+ large-image-converter>=1.30.7.dev20
66
+
67
+ [deepzoom]
68
+ large-image-source-deepzoom>=1.30.7.dev20
69
+
70
+ [dicom]
71
+ large-image-source-dicom>=1.30.7.dev20
72
+
73
+ [dummy]
74
+ large-image-source-dummy>=1.30.7.dev20
75
+
76
+ [gdal]
77
+ large-image-source-gdal>=1.30.7.dev20
78
+
79
+ [mapnik]
80
+ large-image-source-mapnik>=1.30.7.dev20
81
+
82
+ [memcached]
83
+
84
+ [memcached:platform_system != "Windows"]
85
+ pylibmc>=1.5.1
86
+
87
+ [multi]
88
+ large-image-source-multi>=1.30.7.dev20
89
+
90
+ [nd2]
91
+ large-image-source-nd2>=1.30.7.dev20
92
+
93
+ [ometiff]
94
+ large-image-source-ometiff>=1.30.7.dev20
95
+
96
+ [openjpeg]
97
+ large-image-source-openjpeg>=1.30.7.dev20
98
+
99
+ [openslide]
100
+ large-image-source-openslide>=1.30.7.dev20
101
+
102
+ [performance]
103
+ psutil>=4.2.0
104
+ simplejpeg
105
+
106
+ [pil]
107
+ large-image-source-pil>=1.30.7.dev20
108
+
109
+ [rasterio]
110
+ large-image-source-rasterio>=1.30.7.dev20
111
+
112
+ [redis]
113
+ redis>=4.5.5
114
+
115
+ [sources]
116
+ large-image-source-bioformats>=1.30.7.dev20
117
+ large-image-source-ometiff>=1.30.7.dev20
118
+ large-image-source-openslide>=1.30.7.dev20
119
+ large-image-source-tiff>=1.30.7.dev20
120
+ large-image-source-zarr>=1.30.7.dev20
121
+ large-image-source-dummy>=1.30.7.dev20
122
+ large-image-source-rasterio>=1.30.7.dev20
123
+ large-image-source-gdal>=1.30.7.dev20
124
+ large-image-source-mapnik>=1.30.7.dev20
125
+ large-image-source-multi>=1.30.7.dev20
126
+ large-image-source-deepzoom>=1.30.7.dev20
127
+ large-image-source-openjpeg>=1.30.7.dev20
128
+ large-image-source-test>=1.30.7.dev20
129
+ large-image-source-dicom>=1.30.7.dev20
130
+ large-image-source-tifffile>=1.30.7.dev20
131
+ large-image-source-pil>=1.30.7.dev20
132
+ large-image-source-vips>=1.30.7.dev20
133
+ large-image-source-nd2>=1.30.7.dev20
134
+
135
+ [test]
136
+ large-image-source-test>=1.30.7.dev20
137
+
138
+ [tiff]
139
+ large-image-source-tiff>=1.30.7.dev20
140
+
141
+ [tifffile]
142
+ large-image-source-tifffile>=1.30.7.dev20
143
+
144
+ [tiledoutput]
145
+ pyvips
146
+
147
+ [vips]
148
+ large-image-source-vips>=1.30.7.dev20
149
+
150
+ [zarr]
151
+ large-image-source-zarr>=1.30.7.dev20
@@ -1,151 +0,0 @@
1
- cachetools
2
- palettable
3
- Pillow
4
- numpy
5
- typing-extensions
6
-
7
- [all]
8
- large-image-source-zarr>=1.30.7.dev16
9
- tol_colors
10
- psutil>=4.2.0
11
- large-image-source-tifffile>=1.30.7.dev16
12
- large-image-source-dicom>=1.30.7.dev16
13
- large-image-source-openjpeg>=1.30.7.dev16
14
- large-image-source-nd2>=1.30.7.dev16
15
- large-image-converter>=1.30.7.dev16
16
- large-image-source-mapnik>=1.30.7.dev16
17
- large-image-source-dummy>=1.30.7.dev16
18
- large-image-source-multi>=1.30.7.dev16
19
- large-image-source-vips>=1.30.7.dev16
20
- large-image-source-ometiff>=1.30.7.dev16
21
- large-image-source-rasterio>=1.30.7.dev16
22
- matplotlib
23
- large-image-source-deepzoom>=1.30.7.dev16
24
- large-image-source-gdal>=1.30.7.dev16
25
- large-image-source-test>=1.30.7.dev16
26
- redis>=4.5.5
27
- large-image-source-tiff[all]>=1.30.7.dev16
28
- pyvips
29
- large-image-source-bioformats>=1.30.7.dev16
30
- large-image-source-multi[all]>=1.30.7.dev16
31
- large-image-source-tiff>=1.30.7.dev16
32
- large-image-source-pil>=1.30.7.dev16
33
- large-image-source-pil[all]>=1.30.7.dev16
34
- large-image-source-rasterio[all]>=1.30.7.dev16
35
- simplejpeg
36
- large-image-source-openslide>=1.30.7.dev16
37
-
38
- [all:platform_system != "Windows"]
39
- pylibmc>=1.5.1
40
-
41
- [bioformats]
42
- large-image-source-bioformats>=1.30.7.dev16
43
-
44
- [colormaps]
45
- matplotlib
46
- tol_colors
47
-
48
- [common]
49
- large-image-source-zarr>=1.30.7.dev16
50
- large-image-source-deepzoom>=1.30.7.dev16
51
- large-image-source-test>=1.30.7.dev16
52
- psutil>=4.2.0
53
- tol_colors
54
- large-image-source-tifffile>=1.30.7.dev16
55
- large-image-source-dicom>=1.30.7.dev16
56
- large-image-source-nd2>=1.30.7.dev16
57
- large-image-source-multi>=1.30.7.dev16
58
- matplotlib
59
- large-image-source-pil[all]>=1.30.7.dev16
60
- large-image-source-rasterio[all]>=1.30.7.dev16
61
- simplejpeg
62
- large-image-source-openslide>=1.30.7.dev16
63
-
64
- [converter]
65
- large-image-converter>=1.30.7.dev16
66
-
67
- [deepzoom]
68
- large-image-source-deepzoom>=1.30.7.dev16
69
-
70
- [dicom]
71
- large-image-source-dicom>=1.30.7.dev16
72
-
73
- [dummy]
74
- large-image-source-dummy>=1.30.7.dev16
75
-
76
- [gdal]
77
- large-image-source-gdal>=1.30.7.dev16
78
-
79
- [mapnik]
80
- large-image-source-mapnik>=1.30.7.dev16
81
-
82
- [memcached]
83
-
84
- [memcached:platform_system != "Windows"]
85
- pylibmc>=1.5.1
86
-
87
- [multi]
88
- large-image-source-multi>=1.30.7.dev16
89
-
90
- [nd2]
91
- large-image-source-nd2>=1.30.7.dev16
92
-
93
- [ometiff]
94
- large-image-source-ometiff>=1.30.7.dev16
95
-
96
- [openjpeg]
97
- large-image-source-openjpeg>=1.30.7.dev16
98
-
99
- [openslide]
100
- large-image-source-openslide>=1.30.7.dev16
101
-
102
- [performance]
103
- psutil>=4.2.0
104
- simplejpeg
105
-
106
- [pil]
107
- large-image-source-pil>=1.30.7.dev16
108
-
109
- [rasterio]
110
- large-image-source-rasterio>=1.30.7.dev16
111
-
112
- [redis]
113
- redis>=4.5.5
114
-
115
- [sources]
116
- large-image-source-zarr>=1.30.7.dev16
117
- large-image-source-deepzoom>=1.30.7.dev16
118
- large-image-source-gdal>=1.30.7.dev16
119
- large-image-source-test>=1.30.7.dev16
120
- large-image-source-tifffile>=1.30.7.dev16
121
- large-image-source-bioformats>=1.30.7.dev16
122
- large-image-source-dicom>=1.30.7.dev16
123
- large-image-source-mapnik>=1.30.7.dev16
124
- large-image-source-nd2>=1.30.7.dev16
125
- large-image-source-openjpeg>=1.30.7.dev16
126
- large-image-source-dummy>=1.30.7.dev16
127
- large-image-source-multi>=1.30.7.dev16
128
- large-image-source-vips>=1.30.7.dev16
129
- large-image-source-ometiff>=1.30.7.dev16
130
- large-image-source-pil>=1.30.7.dev16
131
- large-image-source-tiff>=1.30.7.dev16
132
- large-image-source-rasterio>=1.30.7.dev16
133
- large-image-source-openslide>=1.30.7.dev16
134
-
135
- [test]
136
- large-image-source-test>=1.30.7.dev16
137
-
138
- [tiff]
139
- large-image-source-tiff>=1.30.7.dev16
140
-
141
- [tifffile]
142
- large-image-source-tifffile>=1.30.7.dev16
143
-
144
- [tiledoutput]
145
- pyvips
146
-
147
- [vips]
148
- large-image-source-vips>=1.30.7.dev16
149
-
150
- [zarr]
151
- large-image-source-zarr>=1.30.7.dev16