fastslide 0.7.4__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 (592) hide show
  1. fastslide-0.7.4/.bazelignore +17 -0
  2. fastslide-0.7.4/.bazelrc +108 -0
  3. fastslide-0.7.4/.bazelversion +1 -0
  4. fastslide-0.7.4/.clang-format +87 -0
  5. fastslide-0.7.4/.github/workflows/format_check.yml +54 -0
  6. fastslide-0.7.4/.github/workflows/release.yml +633 -0
  7. fastslide-0.7.4/.gitignore +19 -0
  8. fastslide-0.7.4/.ruff.toml +49 -0
  9. fastslide-0.7.4/BUILD.bazel +2014 -0
  10. fastslide-0.7.4/CODE_OF_CONDUCT.md +128 -0
  11. fastslide-0.7.4/CPPLINT.cfg +13 -0
  12. fastslide-0.7.4/LICENSE +201 -0
  13. fastslide-0.7.4/MANIFEST.in +29 -0
  14. fastslide-0.7.4/MODULE.bazel +276 -0
  15. fastslide-0.7.4/PKG-INFO +617 -0
  16. fastslide-0.7.4/README.md +587 -0
  17. fastslide-0.7.4/benchmarks/fastslide_tile_benchmark.cpp +441 -0
  18. fastslide-0.7.4/benchmarks/gil_release_benchmark.py +274 -0
  19. fastslide-0.7.4/docs/BUILD.bazel +234 -0
  20. fastslide-0.7.4/docs/Doxyfile +2918 -0
  21. fastslide-0.7.4/docs/Makefile +110 -0
  22. fastslide-0.7.4/docs/doxygen_footer.html +18 -0
  23. fastslide-0.7.4/docs/doxygen_header.html +95 -0
  24. fastslide-0.7.4/docs/doxygen_stylesheet.css +2630 -0
  25. fastslide-0.7.4/docs/requirements.in +27 -0
  26. fastslide-0.7.4/docs/requirements_darwin.txt +919 -0
  27. fastslide-0.7.4/docs/requirements_linux.txt +919 -0
  28. fastslide-0.7.4/docs/source/Makefile +20 -0
  29. fastslide-0.7.4/docs/source/_static/custom.css +49 -0
  30. fastslide-0.7.4/docs/source/api/cpp_api.rst +431 -0
  31. fastslide-0.7.4/docs/source/api/cross_reference.rst +276 -0
  32. fastslide-0.7.4/docs/source/api/index.rst +58 -0
  33. fastslide-0.7.4/docs/source/api/multiple_images.rst +93 -0
  34. fastslide-0.7.4/docs/source/api/python_api.rst +250 -0
  35. fastslide-0.7.4/docs/source/architecture.rst +899 -0
  36. fastslide-0.7.4/docs/source/caching.rst +854 -0
  37. fastslide-0.7.4/docs/source/conf.py +237 -0
  38. fastslide-0.7.4/docs/source/examples/index.rst +669 -0
  39. fastslide-0.7.4/docs/source/formats/bif.rst +570 -0
  40. fastslide-0.7.4/docs/source/formats/index.rst +66 -0
  41. fastslide-0.7.4/docs/source/formats/mrxs.rst +101 -0
  42. fastslide-0.7.4/docs/source/formats/olympusvsi.rst +468 -0
  43. fastslide-0.7.4/docs/source/formats/qptiff.rst +122 -0
  44. fastslide-0.7.4/docs/source/formats/svs.rst +70 -0
  45. fastslide-0.7.4/docs/source/guides/external_reader.rst +974 -0
  46. fastslide-0.7.4/docs/source/guides/index.rst +226 -0
  47. fastslide-0.7.4/docs/source/guides/new_reader.rst +792 -0
  48. fastslide-0.7.4/docs/source/guides/packages_and_releases.rst +246 -0
  49. fastslide-0.7.4/docs/source/index.rst +70 -0
  50. fastslide-0.7.4/docs/source/make.bat +35 -0
  51. fastslide-0.7.4/docs/source/overview.rst +184 -0
  52. fastslide-0.7.4/emscripten.ini +16 -0
  53. fastslide-0.7.4/examples/BUILD.bazel +21 -0
  54. fastslide-0.7.4/examples/cache_example.cpp +216 -0
  55. fastslide-0.7.4/examples/read_region.cpp +109 -0
  56. fastslide-0.7.4/go/BUILD.bazel +4 -0
  57. fastslide-0.7.4/go/fastslide_go/BUILD.bazel +17 -0
  58. fastslide-0.7.4/go/fastslide_go/LICENSE +201 -0
  59. fastslide-0.7.4/go/fastslide_go/fastslide/errors.go +201 -0
  60. fastslide-0.7.4/go/fastslide_go/fastslide/fastslide.go +568 -0
  61. fastslide-0.7.4/go/fastslide_go/fastslide/resample.go +308 -0
  62. fastslide-0.7.4/go/fastslide_go/fastslide/resample_test.go +122 -0
  63. fastslide-0.7.4/go/fastslide_go/fastslide/slidereader.go +500 -0
  64. fastslide-0.7.4/go/fastslide_go/fastslide/utilities.go +239 -0
  65. fastslide-0.7.4/go/go.mod +3 -0
  66. fastslide-0.7.4/include/fastslide/associated_data.h +116 -0
  67. fastslide-0.7.4/include/fastslide/c/api.h +48 -0
  68. fastslide-0.7.4/include/fastslide/c/fastslide.h +83 -0
  69. fastslide-0.7.4/include/fastslide/c/image.h +302 -0
  70. fastslide-0.7.4/include/fastslide/c/registry.h +105 -0
  71. fastslide-0.7.4/include/fastslide/c/slide_image.h +134 -0
  72. fastslide-0.7.4/include/fastslide/c/slide_reader.h +422 -0
  73. fastslide-0.7.4/include/fastslide/c/utilities.h +121 -0
  74. fastslide-0.7.4/include/fastslide/core/metadata.h +96 -0
  75. fastslide-0.7.4/include/fastslide/core/slide_descriptor.h +212 -0
  76. fastslide-0.7.4/include/fastslide/core/tile_plan.h +300 -0
  77. fastslide-0.7.4/include/fastslide/core/tile_request.h +207 -0
  78. fastslide-0.7.4/include/fastslide/fastslide.h +73 -0
  79. fastslide-0.7.4/include/fastslide/image.h +898 -0
  80. fastslide-0.7.4/include/fastslide/metadata.h +347 -0
  81. fastslide-0.7.4/include/fastslide/python/cache.h +80 -0
  82. fastslide-0.7.4/include/fastslide/python/reader.h +272 -0
  83. fastslide-0.7.4/include/fastslide/readers/aperio/aperio.h +184 -0
  84. fastslide-0.7.4/include/fastslide/readers/aperio/aperio_exec_context.h +69 -0
  85. fastslide-0.7.4/include/fastslide/readers/aperio/aperio_format_plugin.h +41 -0
  86. fastslide-0.7.4/include/fastslide/readers/aperio/aperio_level_info.h +47 -0
  87. fastslide-0.7.4/include/fastslide/readers/aperio/aperio_plan_builder.h +120 -0
  88. fastslide-0.7.4/include/fastslide/readers/aperio/aperio_plan_context.h +47 -0
  89. fastslide-0.7.4/include/fastslide/readers/aperio/aperio_tiff_metadata.h +33 -0
  90. fastslide-0.7.4/include/fastslide/readers/aperio/aperio_tile_executor.h +109 -0
  91. fastslide-0.7.4/include/fastslide/readers/aperio/metadata_parser.h +76 -0
  92. fastslide-0.7.4/include/fastslide/readers/bif/bif.h +110 -0
  93. fastslide-0.7.4/include/fastslide/readers/bif/bif_exec_context.h +56 -0
  94. fastslide-0.7.4/include/fastslide/readers/bif/bif_format_plugin.h +31 -0
  95. fastslide-0.7.4/include/fastslide/readers/bif/bif_level_info.h +43 -0
  96. fastslide-0.7.4/include/fastslide/readers/bif/bif_plan_builder.h +34 -0
  97. fastslide-0.7.4/include/fastslide/readers/bif/bif_plan_context.h +36 -0
  98. fastslide-0.7.4/include/fastslide/readers/bif/bif_spatial_index.h +88 -0
  99. fastslide-0.7.4/include/fastslide/readers/bif/bif_stitcher.h +86 -0
  100. fastslide-0.7.4/include/fastslide/readers/bif/bif_tile_executor.h +59 -0
  101. fastslide-0.7.4/include/fastslide/readers/bif/bif_xml.h +113 -0
  102. fastslide-0.7.4/include/fastslide/readers/cached_tile_executor.h +192 -0
  103. fastslide-0.7.4/include/fastslide/readers/czi/czi.h +203 -0
  104. fastslide-0.7.4/include/fastslide/readers/czi/czi_embedded.h +91 -0
  105. fastslide-0.7.4/include/fastslide/readers/czi/czi_exec_context.h +65 -0
  106. fastslide-0.7.4/include/fastslide/readers/czi/czi_format_plugin.h +36 -0
  107. fastslide-0.7.4/include/fastslide/readers/czi/czi_level_info.h +47 -0
  108. fastslide-0.7.4/include/fastslide/readers/czi/czi_parse.h +173 -0
  109. fastslide-0.7.4/include/fastslide/readers/czi/czi_plan_builder.h +34 -0
  110. fastslide-0.7.4/include/fastslide/readers/czi/czi_plan_context.h +43 -0
  111. fastslide-0.7.4/include/fastslide/readers/czi/czi_scene_image.h +161 -0
  112. fastslide-0.7.4/include/fastslide/readers/czi/czi_spatial_index.h +92 -0
  113. fastslide-0.7.4/include/fastslide/readers/czi/czi_tile_executor.h +55 -0
  114. fastslide-0.7.4/include/fastslide/readers/dicom/dicom.h +132 -0
  115. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_decode.h +58 -0
  116. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_exec_context.h +57 -0
  117. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_format_plugin.h +36 -0
  118. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_level_info.h +137 -0
  119. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_magic.h +57 -0
  120. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_plan_builder.h +34 -0
  121. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_plan_context.h +33 -0
  122. fastslide-0.7.4/include/fastslide/readers/dicom/dicom_tile_executor.h +57 -0
  123. fastslide-0.7.4/include/fastslide/readers/generictiff/generictiff.h +151 -0
  124. fastslide-0.7.4/include/fastslide/readers/generictiff/generictiff_exec_context.h +30 -0
  125. fastslide-0.7.4/include/fastslide/readers/generictiff/generictiff_format_plugin.h +32 -0
  126. fastslide-0.7.4/include/fastslide/readers/generictiff/generictiff_level_info.h +41 -0
  127. fastslide-0.7.4/include/fastslide/readers/generictiff/generictiff_plan_builder.h +21 -0
  128. fastslide-0.7.4/include/fastslide/readers/generictiff/generictiff_plan_context.h +33 -0
  129. fastslide-0.7.4/include/fastslide/readers/generictiff/generictiff_tile_executor.h +24 -0
  130. fastslide-0.7.4/include/fastslide/readers/imagejtiff/imagejtiff.h +126 -0
  131. fastslide-0.7.4/include/fastslide/readers/imagejtiff/imagejtiff_exec_context.h +66 -0
  132. fastslide-0.7.4/include/fastslide/readers/imagejtiff/imagejtiff_level_info.h +42 -0
  133. fastslide-0.7.4/include/fastslide/readers/imagejtiff/imagejtiff_plan_builder.h +37 -0
  134. fastslide-0.7.4/include/fastslide/readers/imagejtiff/imagejtiff_plan_context.h +35 -0
  135. fastslide-0.7.4/include/fastslide/readers/imagejtiff/imagejtiff_tile_executor.h +38 -0
  136. fastslide-0.7.4/include/fastslide/readers/isyntax/isyntax.h +114 -0
  137. fastslide-0.7.4/include/fastslide/readers/isyntax/isyntax_exec_context.h +71 -0
  138. fastslide-0.7.4/include/fastslide/readers/isyntax/isyntax_plan_builder.h +50 -0
  139. fastslide-0.7.4/include/fastslide/readers/isyntax/isyntax_plan_context.h +31 -0
  140. fastslide-0.7.4/include/fastslide/readers/isyntax/isyntax_tile_executor.h +68 -0
  141. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/LICENSE +24 -0
  142. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/base64.h +42 -0
  143. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/cache.h +62 -0
  144. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/chunk_layout.h +54 -0
  145. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/color.h +121 -0
  146. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/decompress.h +140 -0
  147. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/dwt.h +637 -0
  148. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/file.h +124 -0
  149. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/isyntax.h +421 -0
  150. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/isyntax_types.h +100 -0
  151. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/jpeg.h +56 -0
  152. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/open.h +54 -0
  153. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/open_helpers.h +32 -0
  154. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/platform/arena.h +101 -0
  155. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/platform/common.h +284 -0
  156. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/platform/intrinsics.h +281 -0
  157. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/platform/platform.h +128 -0
  158. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/reader.h +103 -0
  159. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/seektable.h +32 -0
  160. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/third_party/yxml.h +162 -0
  161. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/tile.h +70 -0
  162. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/utils/arena_allocator.h +314 -0
  163. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/utils/block_allocator.h +105 -0
  164. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/utils/math_utils.h +64 -0
  165. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/utils/mathutils.h +179 -0
  166. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/xml_parser.h +40 -0
  167. fastslide-0.7.4/include/fastslide/readers/isyntax/third_party/xml_semantics.h +38 -0
  168. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs.h +269 -0
  169. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_associated_data.h +133 -0
  170. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_constants.h +79 -0
  171. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_data_reader.h +108 -0
  172. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_decoder.h +59 -0
  173. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_exec_context.h +65 -0
  174. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_format_plugin.h +60 -0
  175. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_index_reader.h +191 -0
  176. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_ini_parser.h +79 -0
  177. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_internal.h +339 -0
  178. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_layer_parser.h +88 -0
  179. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_metadata_loader.h +74 -0
  180. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_pipeline.h +84 -0
  181. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_plan_builder.h +108 -0
  182. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_plan_context.h +35 -0
  183. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_position_reader.h +78 -0
  184. fastslide-0.7.4/include/fastslide/readers/mrxs/mrxs_tile_executor.h +73 -0
  185. fastslide-0.7.4/include/fastslide/readers/mrxs/spatial_index.h +166 -0
  186. fastslide-0.7.4/include/fastslide/readers/multi_channel_tiff_tile_executor.h +200 -0
  187. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff.h +129 -0
  188. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff_exec_context.h +90 -0
  189. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff_format_plugin.h +31 -0
  190. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff_jpeg_header.h +56 -0
  191. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff_level_info.h +41 -0
  192. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff_plan_builder.h +32 -0
  193. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff_plan_context.h +33 -0
  194. fastslide-0.7.4/include/fastslide/readers/ndpitiff/ndpitiff_tile_executor.h +67 -0
  195. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi.h +340 -0
  196. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi_ets.h +147 -0
  197. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi_exec_context.h +64 -0
  198. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi_format_plugin.h +32 -0
  199. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi_level_info.h +115 -0
  200. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi_plan_builder.h +49 -0
  201. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi_tile_executor.h +48 -0
  202. fastslide-0.7.4/include/fastslide/readers/olympusvsi/olympusvsi_vsi_metadata.h +96 -0
  203. fastslide-0.7.4/include/fastslide/readers/ometiff/metadata_parser.h +105 -0
  204. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff.h +131 -0
  205. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff_exec_context.h +66 -0
  206. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff_format_plugin.h +35 -0
  207. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff_level_info.h +64 -0
  208. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff_metadata_loader.h +40 -0
  209. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff_plan_builder.h +33 -0
  210. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff_plan_context.h +35 -0
  211. fastslide-0.7.4/include/fastslide/readers/ometiff/ometiff_tile_executor.h +29 -0
  212. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr.h +110 -0
  213. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr_codec.h +85 -0
  214. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr_exec_context.h +50 -0
  215. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr_format_plugin.h +32 -0
  216. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr_level_info.h +75 -0
  217. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr_metadata.h +136 -0
  218. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr_plan_builder.h +56 -0
  219. fastslide-0.7.4/include/fastslide/readers/omezarr/omezarr_tile_executor.h +39 -0
  220. fastslide-0.7.4/include/fastslide/readers/philipstiff/philipstiff.h +109 -0
  221. fastslide-0.7.4/include/fastslide/readers/philipstiff/philipstiff_exec_context.h +30 -0
  222. fastslide-0.7.4/include/fastslide/readers/philipstiff/philipstiff_level_info.h +33 -0
  223. fastslide-0.7.4/include/fastslide/readers/philipstiff/philipstiff_plan_builder.h +34 -0
  224. fastslide-0.7.4/include/fastslide/readers/philipstiff/philipstiff_plan_context.h +33 -0
  225. fastslide-0.7.4/include/fastslide/readers/philipstiff/philipstiff_tile_executor.h +40 -0
  226. fastslide-0.7.4/include/fastslide/readers/qptiff/metadata_parser.h +113 -0
  227. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff.h +279 -0
  228. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff_exec_context.h +66 -0
  229. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff_format_plugin.h +45 -0
  230. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff_level_info.h +45 -0
  231. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff_metadata_loader.h +127 -0
  232. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff_plan_builder.h +66 -0
  233. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff_plan_context.h +35 -0
  234. fastslide-0.7.4/include/fastslide/readers/qptiff/qptiff_tile_executor.h +43 -0
  235. fastslide-0.7.4/include/fastslide/readers/reader_factory.h +147 -0
  236. fastslide-0.7.4/include/fastslide/readers/readers.h +96 -0
  237. fastslide-0.7.4/include/fastslide/readers/simpletiff_decode_utils.h +298 -0
  238. fastslide-0.7.4/include/fastslide/readers/simpletiff_plan_builder_utils.h +297 -0
  239. fastslide-0.7.4/include/fastslide/readers/simpletiff_tile_executor_utils.h +131 -0
  240. fastslide-0.7.4/include/fastslide/readers/spatial/grid_hash.h +114 -0
  241. fastslide-0.7.4/include/fastslide/readers/tiff_based_reader.h +108 -0
  242. fastslide-0.7.4/include/fastslide/readers/tiff_based_tile_executor.h +91 -0
  243. fastslide-0.7.4/include/fastslide/readers/tiff_quickhash.h +66 -0
  244. fastslide-0.7.4/include/fastslide/readers/tiff_reader_factory.h +165 -0
  245. fastslide-0.7.4/include/fastslide/resample/average.h +332 -0
  246. fastslide-0.7.4/include/fastslide/resample/lanczos.h +656 -0
  247. fastslide-0.7.4/include/fastslide/resample/utilities.h +48 -0
  248. fastslide-0.7.4/include/fastslide/runtime/cache_interface.h +159 -0
  249. fastslide-0.7.4/include/fastslide/runtime/decoders/bmp_decoder.h +42 -0
  250. fastslide-0.7.4/include/fastslide/runtime/decoders/decoded_image.h +67 -0
  251. fastslide-0.7.4/include/fastslide/runtime/decoders/j2k_decoder.h +67 -0
  252. fastslide-0.7.4/include/fastslide/runtime/decoders/jpeg_decoder.h +46 -0
  253. fastslide-0.7.4/include/fastslide/runtime/decoders/jpeg_xr_decoder.h +49 -0
  254. fastslide-0.7.4/include/fastslide/runtime/decoders/png_decoder.h +107 -0
  255. fastslide-0.7.4/include/fastslide/runtime/format_descriptor.h +166 -0
  256. fastslide-0.7.4/include/fastslide/runtime/global_cache_manager.h +146 -0
  257. fastslide-0.7.4/include/fastslide/runtime/io/ascii_utils.h +46 -0
  258. fastslide-0.7.4/include/fastslide/runtime/io/binary_utils.h +110 -0
  259. fastslide-0.7.4/include/fastslide/runtime/io/file_handle_pool.h +78 -0
  260. fastslide-0.7.4/include/fastslide/runtime/io/file_reader.h +115 -0
  261. fastslide-0.7.4/include/fastslide/runtime/lru_tile_cache.h +125 -0
  262. fastslide-0.7.4/include/fastslide/runtime/plugin_loader.h +110 -0
  263. fastslide-0.7.4/include/fastslide/runtime/reader_registry.h +183 -0
  264. fastslide-0.7.4/include/fastslide/runtime/tile_writer/bilinear_blit_hwy.h +53 -0
  265. fastslide-0.7.4/include/fastslide/runtime/tile_writer/clip_region.h +99 -0
  266. fastslide-0.7.4/include/fastslide/runtime/tile_writer/direct/copy_planar.h +32 -0
  267. fastslide-0.7.4/include/fastslide/runtime/tile_writer/direct/copy_rgb8.h +37 -0
  268. fastslide-0.7.4/include/fastslide/runtime/tile_writer/direct/fills.h +91 -0
  269. fastslide-0.7.4/include/fastslide/runtime/tile_writer/fs_profile.h +18 -0
  270. fastslide-0.7.4/include/fastslide/runtime/tile_writer/pixel_ops.h +142 -0
  271. fastslide-0.7.4/include/fastslide/runtime/tile_writer.h +213 -0
  272. fastslide-0.7.4/include/fastslide/self_image_view.h +63 -0
  273. fastslide-0.7.4/include/fastslide/slide_image.h +147 -0
  274. fastslide-0.7.4/include/fastslide/slide_options.h +135 -0
  275. fastslide-0.7.4/include/fastslide/slide_reader.h +380 -0
  276. fastslide-0.7.4/include/fastslide/utilities/colors.h +87 -0
  277. fastslide-0.7.4/include/fastslide/utilities/hash.h +85 -0
  278. fastslide-0.7.4/include/fastslide/utilities/sha-256.h +133 -0
  279. fastslide-0.7.4/include/fastslide/utilities/tiff/tile_utilities.h +130 -0
  280. fastslide-0.7.4/include/fastslide/utilities/unordered_dense.h +2332 -0
  281. fastslide-0.7.4/java/BUILD.bazel +53 -0
  282. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/ChannelMetadata.java +18 -0
  283. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/DataType.java +39 -0
  284. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/Dimensions.java +54 -0
  285. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/FastSlide.java +59 -0
  286. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/FastSlideException.java +19 -0
  287. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/Image.java +68 -0
  288. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/ImageFormat.java +36 -0
  289. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/ImageInfo.java +134 -0
  290. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/PlanarConfig.java +34 -0
  291. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/SlideImage.java +148 -0
  292. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/SlideProperties.java +78 -0
  293. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/SlideReader.java +207 -0
  294. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/StackInfo.java +24 -0
  295. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/internal/FastSlideNative.java +913 -0
  296. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/internal/NativeLoader.java +138 -0
  297. fastslide-0.7.4/java/src/main/java/dev/aifo/fastslide/tools/FastSlideTool.java +348 -0
  298. fastslide-0.7.4/java/src/main/native/fastslide_exports.c +62 -0
  299. fastslide-0.7.4/java/src/test/java/dev/aifo/fastslide/FastSlideSmokeTest.java +59 -0
  300. fastslide-0.7.4/meson.build +341 -0
  301. fastslide-0.7.4/meson.options +12 -0
  302. fastslide-0.7.4/package/BUILD.bazel +317 -0
  303. fastslide-0.7.4/package/defs.bzl +51 -0
  304. fastslide-0.7.4/package/versions.json +10 -0
  305. fastslide-0.7.4/platforms/BUILD.bazel +142 -0
  306. fastslide-0.7.4/platforms/platform_mappings +13 -0
  307. fastslide-0.7.4/pyproject.toml +88 -0
  308. fastslide-0.7.4/python/BUILD.bazel +131 -0
  309. fastslide-0.7.4/python/fastslide/__init__.py +29 -0
  310. fastslide-0.7.4/python/tests/test_parser_minimal.py +458 -0
  311. fastslide-0.7.4/requirements.in +3 -0
  312. fastslide-0.7.4/requirements_darwin.txt +68 -0
  313. fastslide-0.7.4/requirements_linux.txt +68 -0
  314. fastslide-0.7.4/rust/fastslide/BUILD.bazel +28 -0
  315. fastslide-0.7.4/rust/fastslide/Cargo.toml +13 -0
  316. fastslide-0.7.4/rust/fastslide/src/error.rs +84 -0
  317. fastslide-0.7.4/rust/fastslide/src/image.rs +217 -0
  318. fastslide-0.7.4/rust/fastslide/src/lib.rs +134 -0
  319. fastslide-0.7.4/rust/fastslide/src/metadata.rs +330 -0
  320. fastslide-0.7.4/rust/fastslide/src/reader.rs +382 -0
  321. fastslide-0.7.4/rust/fastslide/src/registry.rs +74 -0
  322. fastslide-0.7.4/rust/fastslide/src/slide_image.rs +249 -0
  323. fastslide-0.7.4/rust/fastslide/src/util.rs +56 -0
  324. fastslide-0.7.4/rust/fastslide-sys/BUILD.bazel +12 -0
  325. fastslide-0.7.4/rust/fastslide-sys/Cargo.toml +12 -0
  326. fastslide-0.7.4/rust/fastslide-sys/build.rs +29 -0
  327. fastslide-0.7.4/rust/fastslide-sys/src/lib.rs +592 -0
  328. fastslide-0.7.4/src/c/fastslide.cpp +38 -0
  329. fastslide-0.7.4/src/c/image.cpp +525 -0
  330. fastslide-0.7.4/src/c/internal/debug.h +54 -0
  331. fastslide-0.7.4/src/c/internal/error.h +62 -0
  332. fastslide-0.7.4/src/c/registry.cpp +261 -0
  333. fastslide-0.7.4/src/c/slide_image.cpp +425 -0
  334. fastslide-0.7.4/src/c/slide_reader.cpp +935 -0
  335. fastslide-0.7.4/src/c/utilities.cpp +266 -0
  336. fastslide-0.7.4/src/channel_selection_test.cpp +368 -0
  337. fastslide-0.7.4/src/core/region_conversion_test.cpp +429 -0
  338. fastslide-0.7.4/src/core/tile_plan_test.cpp +557 -0
  339. fastslide-0.7.4/src/core/tile_request_test.cpp +442 -0
  340. fastslide-0.7.4/src/image.cpp +676 -0
  341. fastslide-0.7.4/src/image_test.cpp +309 -0
  342. fastslide-0.7.4/src/python/BUILD.bazel +55 -0
  343. fastslide-0.7.4/src/python/_fastslide.pyi +509 -0
  344. fastslide-0.7.4/src/python/cache.cpp +75 -0
  345. fastslide-0.7.4/src/python/fastslide.cpp +714 -0
  346. fastslide-0.7.4/src/python/reader.cpp +812 -0
  347. fastslide-0.7.4/src/readers/aperio/aperio.cpp +464 -0
  348. fastslide-0.7.4/src/readers/aperio/aperio_format_plugin.cpp +85 -0
  349. fastslide-0.7.4/src/readers/aperio/aperio_plan_builder.cpp +224 -0
  350. fastslide-0.7.4/src/readers/aperio/aperio_tile_executor.cpp +197 -0
  351. fastslide-0.7.4/src/readers/aperio/aperio_tile_executor_test.cpp +199 -0
  352. fastslide-0.7.4/src/readers/aperio/metadata_parser.cpp +191 -0
  353. fastslide-0.7.4/src/readers/aperio/metadata_parser_test.cpp +131 -0
  354. fastslide-0.7.4/src/readers/bif/bif.cpp +342 -0
  355. fastslide-0.7.4/src/readers/bif/bif_format_plugin.cpp +94 -0
  356. fastslide-0.7.4/src/readers/bif/bif_plan_builder.cpp +130 -0
  357. fastslide-0.7.4/src/readers/bif/bif_spatial_index.cpp +146 -0
  358. fastslide-0.7.4/src/readers/bif/bif_stitcher.cpp +244 -0
  359. fastslide-0.7.4/src/readers/bif/bif_test.cpp +371 -0
  360. fastslide-0.7.4/src/readers/bif/bif_tile_executor.cpp +266 -0
  361. fastslide-0.7.4/src/readers/bif/bif_xml.cpp +201 -0
  362. fastslide-0.7.4/src/readers/czi/czi.cpp +889 -0
  363. fastslide-0.7.4/src/readers/czi/czi_embedded.cpp +269 -0
  364. fastslide-0.7.4/src/readers/czi/czi_format_plugin.cpp +69 -0
  365. fastslide-0.7.4/src/readers/czi/czi_parse.cpp +206 -0
  366. fastslide-0.7.4/src/readers/czi/czi_parse_test.cpp +238 -0
  367. fastslide-0.7.4/src/readers/czi/czi_plan_builder.cpp +204 -0
  368. fastslide-0.7.4/src/readers/czi/czi_scene_image.cpp +386 -0
  369. fastslide-0.7.4/src/readers/czi/czi_scene_plane_test.cpp +156 -0
  370. fastslide-0.7.4/src/readers/czi/czi_spatial_index.cpp +111 -0
  371. fastslide-0.7.4/src/readers/czi/czi_spatial_index_test.cpp +57 -0
  372. fastslide-0.7.4/src/readers/czi/czi_tile_executor.cpp +431 -0
  373. fastslide-0.7.4/src/readers/dicom/dicom.cpp +971 -0
  374. fastslide-0.7.4/src/readers/dicom/dicom_concatenation_test.cpp +207 -0
  375. fastslide-0.7.4/src/readers/dicom/dicom_decode.cpp +73 -0
  376. fastslide-0.7.4/src/readers/dicom/dicom_format_plugin.cpp +110 -0
  377. fastslide-0.7.4/src/readers/dicom/dicom_magic.cpp +56 -0
  378. fastslide-0.7.4/src/readers/dicom/dicom_magic_test.cpp +144 -0
  379. fastslide-0.7.4/src/readers/dicom/dicom_plan_builder.cpp +176 -0
  380. fastslide-0.7.4/src/readers/dicom/dicom_tile_executor.cpp +214 -0
  381. fastslide-0.7.4/src/readers/dicom/testdata/generate_concatenation.py +163 -0
  382. fastslide-0.7.4/src/readers/dicom/testdata/part_1.dcm +0 -0
  383. fastslide-0.7.4/src/readers/dicom/testdata/part_2.dcm +0 -0
  384. fastslide-0.7.4/src/readers/generictiff/generictiff.cpp +402 -0
  385. fastslide-0.7.4/src/readers/generictiff/generictiff_format_plugin.cpp +144 -0
  386. fastslide-0.7.4/src/readers/generictiff/generictiff_plan_builder.cpp +17 -0
  387. fastslide-0.7.4/src/readers/generictiff/generictiff_tile_executor.cpp +105 -0
  388. fastslide-0.7.4/src/readers/imagejtiff/imagejtiff.cpp +293 -0
  389. fastslide-0.7.4/src/readers/imagejtiff/imagejtiff_plan_builder.cpp +29 -0
  390. fastslide-0.7.4/src/readers/imagejtiff/imagejtiff_test.cpp +276 -0
  391. fastslide-0.7.4/src/readers/isyntax/LICENSE.txt +24 -0
  392. fastslide-0.7.4/src/readers/isyntax/README.md +3 -0
  393. fastslide-0.7.4/src/readers/isyntax/isyntax.cpp +299 -0
  394. fastslide-0.7.4/src/readers/isyntax/isyntax_plan_builder.cpp +171 -0
  395. fastslide-0.7.4/src/readers/isyntax/isyntax_tile_executor.cpp +177 -0
  396. fastslide-0.7.4/src/readers/isyntax/third_party/LICENSE +24 -0
  397. fastslide-0.7.4/src/readers/isyntax/third_party/README.md +5 -0
  398. fastslide-0.7.4/src/readers/isyntax/third_party/base64.cpp +173 -0
  399. fastslide-0.7.4/src/readers/isyntax/third_party/cache.cpp +208 -0
  400. fastslide-0.7.4/src/readers/isyntax/third_party/color.cpp +279 -0
  401. fastslide-0.7.4/src/readers/isyntax/third_party/decompress.cpp +723 -0
  402. fastslide-0.7.4/src/readers/isyntax/third_party/dwt.cpp +81 -0
  403. fastslide-0.7.4/src/readers/isyntax/third_party/file.cpp +344 -0
  404. fastslide-0.7.4/src/readers/isyntax/third_party/isyntax.c +135 -0
  405. fastslide-0.7.4/src/readers/isyntax/third_party/jpeg.cpp +238 -0
  406. fastslide-0.7.4/src/readers/isyntax/third_party/open.cpp +415 -0
  407. fastslide-0.7.4/src/readers/isyntax/third_party/open_helpers.cpp +405 -0
  408. fastslide-0.7.4/src/readers/isyntax/third_party/platform/platform.cpp +142 -0
  409. fastslide-0.7.4/src/readers/isyntax/third_party/reader.cpp +557 -0
  410. fastslide-0.7.4/src/readers/isyntax/third_party/seektable.cpp +93 -0
  411. fastslide-0.7.4/src/readers/isyntax/third_party/third_party/yxml.c +1089 -0
  412. fastslide-0.7.4/src/readers/isyntax/third_party/tile.cpp +580 -0
  413. fastslide-0.7.4/src/readers/isyntax/third_party/utils/arena_allocator.cpp +44 -0
  414. fastslide-0.7.4/src/readers/isyntax/third_party/utils/block_allocator.cpp +242 -0
  415. fastslide-0.7.4/src/readers/isyntax/third_party/utils/math_utils.cpp +79 -0
  416. fastslide-0.7.4/src/readers/isyntax/third_party/utils/mathutils.c +62 -0
  417. fastslide-0.7.4/src/readers/isyntax/third_party/utils/mathutils.cpp +63 -0
  418. fastslide-0.7.4/src/readers/isyntax/third_party/xml_header_reader.cpp +127 -0
  419. fastslide-0.7.4/src/readers/isyntax/third_party/xml_parser.cpp +901 -0
  420. fastslide-0.7.4/src/readers/isyntax/third_party/xml_semantics.cpp +825 -0
  421. fastslide-0.7.4/src/readers/mrxs/mrxs.cpp +859 -0
  422. fastslide-0.7.4/src/readers/mrxs/mrxs_associated_data.cpp +343 -0
  423. fastslide-0.7.4/src/readers/mrxs/mrxs_data_reader.cpp +156 -0
  424. fastslide-0.7.4/src/readers/mrxs/mrxs_decoder.cpp +125 -0
  425. fastslide-0.7.4/src/readers/mrxs/mrxs_format_plugin.cpp +104 -0
  426. fastslide-0.7.4/src/readers/mrxs/mrxs_index_reader.cpp +519 -0
  427. fastslide-0.7.4/src/readers/mrxs/mrxs_index_reader_test.cpp +609 -0
  428. fastslide-0.7.4/src/readers/mrxs/mrxs_ini_parser.cpp +218 -0
  429. fastslide-0.7.4/src/readers/mrxs/mrxs_layer_parser.cpp +419 -0
  430. fastslide-0.7.4/src/readers/mrxs/mrxs_metadata_loader.cpp +148 -0
  431. fastslide-0.7.4/src/readers/mrxs/mrxs_pipeline.cpp +53 -0
  432. fastslide-0.7.4/src/readers/mrxs/mrxs_plan_builder.cpp +239 -0
  433. fastslide-0.7.4/src/readers/mrxs/mrxs_position_reader.cpp +368 -0
  434. fastslide-0.7.4/src/readers/mrxs/mrxs_tile_executor.cpp +289 -0
  435. fastslide-0.7.4/src/readers/mrxs/spatial_index.cpp +380 -0
  436. fastslide-0.7.4/src/readers/ndpitiff/ndpitiff.cpp +983 -0
  437. fastslide-0.7.4/src/readers/ndpitiff/ndpitiff_format_plugin.cpp +67 -0
  438. fastslide-0.7.4/src/readers/ndpitiff/ndpitiff_plan_builder.cpp +29 -0
  439. fastslide-0.7.4/src/readers/ndpitiff/ndpitiff_tile_executor.cpp +255 -0
  440. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi.cpp +1112 -0
  441. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_ets.cpp +522 -0
  442. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_ets_test.cpp +355 -0
  443. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_format_plugin.cpp +63 -0
  444. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_plan_builder.cpp +213 -0
  445. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_plan_builder_test.cpp +314 -0
  446. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_tile_executor.cpp +273 -0
  447. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_vsi_metadata.cpp +694 -0
  448. fastslide-0.7.4/src/readers/olympusvsi/olympusvsi_vsi_metadata_test.cpp +369 -0
  449. fastslide-0.7.4/src/readers/ometiff/metadata_parser.cpp +225 -0
  450. fastslide-0.7.4/src/readers/ometiff/ometiff.cpp +266 -0
  451. fastslide-0.7.4/src/readers/ometiff/ometiff_format_plugin.cpp +65 -0
  452. fastslide-0.7.4/src/readers/ometiff/ometiff_metadata_loader.cpp +526 -0
  453. fastslide-0.7.4/src/readers/ometiff/ometiff_metadata_loader_test.cpp +209 -0
  454. fastslide-0.7.4/src/readers/ometiff/ometiff_plan_builder.cpp +29 -0
  455. fastslide-0.7.4/src/readers/omezarr/omezarr.cpp +402 -0
  456. fastslide-0.7.4/src/readers/omezarr/omezarr_codec.cpp +204 -0
  457. fastslide-0.7.4/src/readers/omezarr/omezarr_codec_test.cpp +138 -0
  458. fastslide-0.7.4/src/readers/omezarr/omezarr_format_plugin.cpp +65 -0
  459. fastslide-0.7.4/src/readers/omezarr/omezarr_metadata.cpp +394 -0
  460. fastslide-0.7.4/src/readers/omezarr/omezarr_metadata_test.cpp +190 -0
  461. fastslide-0.7.4/src/readers/omezarr/omezarr_plan_builder.cpp +181 -0
  462. fastslide-0.7.4/src/readers/omezarr/omezarr_tile_executor.cpp +369 -0
  463. fastslide-0.7.4/src/readers/philipstiff/philipstiff.cpp +436 -0
  464. fastslide-0.7.4/src/readers/philipstiff/philipstiff_plan_builder.cpp +28 -0
  465. fastslide-0.7.4/src/readers/philipstiff/philipstiff_tile_executor.cpp +72 -0
  466. fastslide-0.7.4/src/readers/qptiff/metadata_parser.cpp +183 -0
  467. fastslide-0.7.4/src/readers/qptiff/metadata_parser_test.cpp +159 -0
  468. fastslide-0.7.4/src/readers/qptiff/qptiff.cpp +289 -0
  469. fastslide-0.7.4/src/readers/qptiff/qptiff_format_plugin.cpp +87 -0
  470. fastslide-0.7.4/src/readers/qptiff/qptiff_metadata_loader.cpp +391 -0
  471. fastslide-0.7.4/src/readers/qptiff/qptiff_plan_builder.cpp +29 -0
  472. fastslide-0.7.4/src/readers/simpletiff_plan_builder_utils.cpp +215 -0
  473. fastslide-0.7.4/src/readers/tiff_based_reader.cpp +46 -0
  474. fastslide-0.7.4/src/readers/tiff_quickhash.cpp +130 -0
  475. fastslide-0.7.4/src/runtime/cache_interface_test.cpp +621 -0
  476. fastslide-0.7.4/src/runtime/decoders/bmp_decoder.cpp +228 -0
  477. fastslide-0.7.4/src/runtime/decoders/bmp_decoder_test.cpp +246 -0
  478. fastslide-0.7.4/src/runtime/decoders/j2k_decoder.cpp +369 -0
  479. fastslide-0.7.4/src/runtime/decoders/jpeg_decoder_common.cpp +121 -0
  480. fastslide-0.7.4/src/runtime/decoders/jpeg_decoder_jpgd.cpp +59 -0
  481. fastslide-0.7.4/src/runtime/decoders/jpeg_decoder_libjpeg.cpp +147 -0
  482. fastslide-0.7.4/src/runtime/decoders/jpeg_xr_decoder.cpp +338 -0
  483. fastslide-0.7.4/src/runtime/decoders/png_decoder.cpp +219 -0
  484. fastslide-0.7.4/src/runtime/decoders/png_decoder_test.cpp +228 -0
  485. fastslide-0.7.4/src/runtime/global_cache_manager.cpp +96 -0
  486. fastslide-0.7.4/src/runtime/io/binary_utils.cpp +231 -0
  487. fastslide-0.7.4/src/runtime/io/binary_utils_test.cpp +85 -0
  488. fastslide-0.7.4/src/runtime/io/file_reader.cpp +103 -0
  489. fastslide-0.7.4/src/runtime/lru_tile_cache.cpp +188 -0
  490. fastslide-0.7.4/src/runtime/lru_tile_cache_test.cpp +1140 -0
  491. fastslide-0.7.4/src/runtime/plugin_loader.cpp +144 -0
  492. fastslide-0.7.4/src/runtime/reader_registry.cpp +265 -0
  493. fastslide-0.7.4/src/runtime/reader_registry_test.cpp +678 -0
  494. fastslide-0.7.4/src/runtime/register_builtin_formats.cpp +50 -0
  495. fastslide-0.7.4/src/runtime/tile_writer/bilinear_blit_hwy.cpp +247 -0
  496. fastslide-0.7.4/src/runtime/tile_writer/canvas_config.cpp +235 -0
  497. fastslide-0.7.4/src/runtime/tile_writer/direct/copy_planar.cpp +55 -0
  498. fastslide-0.7.4/src/runtime/tile_writer/direct/copy_rgb8.cpp +76 -0
  499. fastslide-0.7.4/src/runtime/tile_writer/direct/fills.cpp +85 -0
  500. fastslide-0.7.4/src/runtime/tile_writer/paint_direct.cpp +110 -0
  501. fastslide-0.7.4/src/runtime/tile_writer/paint_dispatch.cpp +75 -0
  502. fastslide-0.7.4/src/runtime/tile_writer/paint_rgb.cpp +128 -0
  503. fastslide-0.7.4/src/runtime/tile_writer/rgb_blit.cpp +201 -0
  504. fastslide-0.7.4/src/runtime/tile_writer.cpp +73 -0
  505. fastslide-0.7.4/src/runtime/tile_writer_test.cpp +520 -0
  506. fastslide-0.7.4/src/runtime/tile_writer_uint16_test.cpp +259 -0
  507. fastslide-0.7.4/src/self_image_view.cpp +77 -0
  508. fastslide-0.7.4/src/slide_image.cpp +123 -0
  509. fastslide-0.7.4/src/slide_reader.cpp +221 -0
  510. fastslide-0.7.4/src/slide_reader_test.cpp +677 -0
  511. fastslide-0.7.4/src/testing/minimal_slide_reader.h +101 -0
  512. fastslide-0.7.4/src/utilities/colors.cpp +153 -0
  513. fastslide-0.7.4/src/utilities/hash.cpp +160 -0
  514. fastslide-0.7.4/src/utilities/sha-256.c +249 -0
  515. fastslide-0.7.4/src/utilities/tiff/tile_utilities.cpp +153 -0
  516. fastslide-0.7.4/subprojects/aifocore.wrap +9 -0
  517. fastslide-0.7.4/subprojects/cereal.wrap +12 -0
  518. fastslide-0.7.4/subprojects/fmt.wrap +13 -0
  519. fastslide-0.7.4/subprojects/gtest.wrap +16 -0
  520. fastslide-0.7.4/subprojects/highway.wrap +11 -0
  521. fastslide-0.7.4/subprojects/jpeg-compressor.wrap +9 -0
  522. fastslide-0.7.4/subprojects/jxrlib.wrap +9 -0
  523. fastslide-0.7.4/subprojects/libdicom.wrap +10 -0
  524. fastslide-0.7.4/subprojects/libjpeg-turbo.wrap +14 -0
  525. fastslide-0.7.4/subprojects/libopenjp2.wrap +17 -0
  526. fastslide-0.7.4/subprojects/libpng.wrap +14 -0
  527. fastslide-0.7.4/subprojects/lodepng.wrap +14 -0
  528. fastslide-0.7.4/subprojects/nanobind.wrap +18 -0
  529. fastslide-0.7.4/subprojects/nlohmann_json.wrap +11 -0
  530. fastslide-0.7.4/subprojects/packagefiles/lodepng/lodepng/lodepng.h +3 -0
  531. fastslide-0.7.4/subprojects/packagefiles/lodepng/meson.build +19 -0
  532. fastslide-0.7.4/subprojects/pugixml.wrap +13 -0
  533. fastslide-0.7.4/subprojects/robin-map.wrap +16 -0
  534. fastslide-0.7.4/subprojects/simpletiff.wrap +10 -0
  535. fastslide-0.7.4/subprojects/uthash.wrap +16 -0
  536. fastslide-0.7.4/subprojects/zlib.wrap +14 -0
  537. fastslide-0.7.4/subprojects/zstd.wrap +13 -0
  538. fastslide-0.7.4/tests/isyntax_cache_cpp_test.cpp +58 -0
  539. fastslide-0.7.4/tests/isyntax_cpp_test.cpp +34 -0
  540. fastslide-0.7.4/tests/isyntax_jpeg_cpp_test.cpp +52 -0
  541. fastslide-0.7.4/tests/isyntax_math_utils_test.cpp +183 -0
  542. fastslide-0.7.4/tests/isyntax_open_cpp_test.cpp +40 -0
  543. fastslide-0.7.4/tests/meson.build +71 -0
  544. fastslide-0.7.4/tests/python/BUILD.bazel +48 -0
  545. fastslide-0.7.4/tests/python/_pytest_main.py +58 -0
  546. fastslide-0.7.4/tests/python/cache_test.py +696 -0
  547. fastslide-0.7.4/tests/python/image_test.py +90 -0
  548. fastslide-0.7.4/tests/python/slide_reader_test.py +870 -0
  549. fastslide-0.7.4/tests/test_data/CMU-1-Small-Region.svs +0 -0
  550. fastslide-0.7.4/third_party/BUILD.bazel +17 -0
  551. fastslide-0.7.4/third_party/CLI11/CLI11.hpp +12945 -0
  552. fastslide-0.7.4/third_party/hwy_bazel_includes.patch +16 -0
  553. fastslide-0.7.4/third_party/libdicom.BUILD +133 -0
  554. fastslide-0.7.4/third_party/lodepng.BUILD +20 -0
  555. fastslide-0.7.4/third_party/openjp2.BUILD +129 -0
  556. fastslide-0.7.4/third_party/pugixml.BUILD +19 -0
  557. fastslide-0.7.4/third_party/rules_rust_no_macos_sdkroot.patch +37 -0
  558. fastslide-0.7.4/third_party/uthash.BUILD +14 -0
  559. fastslide-0.7.4/tools/BUILD.bazel +4 -0
  560. fastslide-0.7.4/tools/artifacts/__init__.py +8 -0
  561. fastslide-0.7.4/tools/artifacts/cli.py +100 -0
  562. fastslide-0.7.4/tools/artifacts/common.py +133 -0
  563. fastslide-0.7.4/tools/artifacts/jars.py +258 -0
  564. fastslide-0.7.4/tools/artifacts/jars_meson.py +134 -0
  565. fastslide-0.7.4/tools/artifacts/packages.py +115 -0
  566. fastslide-0.7.4/tools/artifacts/release.py +183 -0
  567. fastslide-0.7.4/tools/artifacts/specs.py +69 -0
  568. fastslide-0.7.4/tools/artifacts/wheels.py +119 -0
  569. fastslide-0.7.4/tools/build_java_artifacts.py +86 -0
  570. fastslide-0.7.4/tools/build_java_native_meson.py +32 -0
  571. fastslide-0.7.4/tools/build_wheels.py +62 -0
  572. fastslide-0.7.4/tools/bump_version.py +295 -0
  573. fastslide-0.7.4/tools/fastslidetool.cpp +639 -0
  574. fastslide-0.7.4/tools/format/.npmrc +1 -0
  575. fastslide-0.7.4/tools/format/BUILD.bazel +31 -0
  576. fastslide-0.7.4/tools/format/package.json +8 -0
  577. fastslide-0.7.4/tools/format/pnpm-lock.yaml +17 -0
  578. fastslide-0.7.4/tools/format/prettier.config.cjs +5 -0
  579. fastslide-0.7.4/tools/publish_artifacts.py +182 -0
  580. fastslide-0.7.4/tools/publish_java_artifacts.py +167 -0
  581. fastslide-0.7.4/tools/smoke_test_java.py +141 -0
  582. fastslide-0.7.4/tools/smoke_test_python.py +56 -0
  583. fastslide-0.7.4/tools/versioned_py_wheel.bzl +138 -0
  584. fastslide-0.7.4/wasm/.gitignore +27 -0
  585. fastslide-0.7.4/wasm/BUILD.bazel +91 -0
  586. fastslide-0.7.4/wasm/example/BUILD.bazel +42 -0
  587. fastslide-0.7.4/wasm/example/fastslide-tilesource.js +275 -0
  588. fastslide-0.7.4/wasm/example/fastslide-worker.js +359 -0
  589. fastslide-0.7.4/wasm/example/index.html +899 -0
  590. fastslide-0.7.4/wasm/example/serve.py +84 -0
  591. fastslide-0.7.4/wasm/fastslide.d.ts +131 -0
  592. fastslide-0.7.4/wasm/fastslide_wrapper.cpp +258 -0
@@ -0,0 +1,17 @@
1
+ # Bazel convenience symlinks. Normally these are filtered by Bazel's
2
+ # root-workspace heuristic, but only when fastslide IS the root module. When
3
+ # the monorepo loads fastslide via `local_path_override`, the heuristic does
4
+ # not apply and `@fastslide//...` would otherwise descend into the execroot
5
+ # mirror (e.g. `bazel-fastslide/external/simpletiff+/python/BUILD.bazel`),
6
+ # which loads repos from simpletiff's module graph that are not visible from
7
+ # fastslide's perspective. Explicit ignores fix that for both contexts.
8
+ bazel-bin
9
+ bazel-out
10
+ bazel-testlogs
11
+ bazel-fastslide
12
+ tools/format/node_modules
13
+ # Leftover Meson subprojects (the standalone repo is Bazel-only; these
14
+ # directories are not generated, but the entry is harmless if absent).
15
+ # NOTE: .bazelignore entries are literal directory paths -- wildcards are not
16
+ # supported and Bazel 9.1+ errors on them (e.g. "Illegal char <*>").
17
+ subprojects
@@ -0,0 +1,108 @@
1
+ # =============================================================================
2
+ # Common Settings
3
+ # =============================================================================
4
+ # Re-enable autoloading for BCR deps (e.g. googletest 1.17.0) that still rely
5
+ # on the legacy native cc_library/cc_test globals removed in Bazel 9.
6
+ # Drop once all transitive BUILD files add explicit `load("@rules_cc//...")`.
7
+ build --incompatible_autoload_externally=+@rules_cc,+@rules_python,+@rules_shell
8
+
9
+ common --enable_platform_specific_config
10
+
11
+ # Do NOT auto-synthesize empty __init__.py files into Python runfiles. The
12
+ # legacy behavior turns every directory (including each wheel's `sphinxcontrib/`)
13
+ # into a regular package, which shadows the PEP 420 `sphinxcontrib` namespace
14
+ # shared across the `sphinxcontrib-*` wheels Sphinx depends on. The result is a
15
+ # docs build failure (`No module named 'sphinxcontrib.devhelp'`). The monorepo
16
+ # sets this already; the standalone fastslide build needs it too.
17
+ build --incompatible_default_to_explicit_init_py
18
+
19
+ # =============================================================================
20
+ # C++ Compiler Settings
21
+ # =============================================================================
22
+ build --cxxopt=-std=c++20
23
+ build --host_cxxopt=-std=c++20
24
+
25
+ # =============================================================================
26
+ # Release Config (opt + strip)
27
+ # =============================================================================
28
+ # Without an explicit compilation_mode, Bazel defaults to `fastbuild` (-O0).
29
+ # Make optimized builds the default here too so the standalone fastslide build
30
+ # matches the monorepo's `-O3` release build. Use --config=debug to opt out.
31
+ build:release --compilation_mode=opt
32
+ build:release --copt=-O3
33
+ build:release --copt=-DNDEBUG
34
+ build:release --strip=always
35
+
36
+ build --config=release
37
+ test --config=release
38
+ run --config=release
39
+
40
+ # =============================================================================
41
+ # Debug Config (Opt-in: --config=debug)
42
+ # =============================================================================
43
+ # Unoptimized build with debug info for development / debugging.
44
+ build:debug --compilation_mode=dbg
45
+ build:debug --copt=-O0
46
+ build:debug --copt=-g3
47
+ build:debug --strip=never
48
+ build:debug --copt=-fno-omit-frame-pointer
49
+ build:debug --verbose_failures
50
+
51
+ # =============================================================================
52
+ # Developer Experience
53
+ # =============================================================================
54
+ build --color=yes
55
+ build --show_timestamps
56
+ build --announce_rc
57
+ test --test_output=errors
58
+
59
+ # =============================================================================
60
+ # Sandbox (macOS needs /var/tmp mounted into the sandbox for some toolchains)
61
+ # =============================================================================
62
+ build:macos --sandbox_add_mount_pair=/var/tmp
63
+ build:linux --sandbox_add_mount_pair=/tmp
64
+ build:windows --sandbox_add_mount_pair=C:\Temp
65
+
66
+ # =============================================================================
67
+ # Rust Platforms (Opt-in: --config=rust, Linux x86_64 only)
68
+ # =============================================================================
69
+ # rules_rs's Linux Rust toolchains carry the `@@llvm+//constraints/libc:gnu.2.28`
70
+ # constraint, satisfied only by the rules_rs platform below. Without these,
71
+ # toolchain resolution for Linux Rust targets (e.g. //rust/fastslide-sys) fails
72
+ # with "No matching toolchains found". macOS rust toolchains carry no libc
73
+ # constraint, so no override is needed there.
74
+ #
75
+ # Opt-in (NOT part of build:linux) on purpose:
76
+ # * `--enable_platform_specific_config` expands build:linux AFTER the command
77
+ # line, so an unconditional pin overrides explicit `--platforms=...` flags
78
+ # and breaks every non-x86_64 or cross-compiled Linux build (e.g. the
79
+ # linux_arm64 release legs).
80
+ # * `bazel info` does not apply the main-repo mapping to `@rules_rs` labels
81
+ # and exits 2, breaking the artifact scripts' `bazel info bazel-bin` calls.
82
+ build:rust --platforms=@rules_rs//rs/platforms:x86_64-unknown-linux-gnu
83
+ build:rust --host_platform=@rules_rs//rs/platforms:x86_64-unknown-linux-gnu
84
+
85
+ # =============================================================================
86
+ # Hermetic Cross-Compilation Config (Opt-in)
87
+ # =============================================================================
88
+ # Use --config=hermetic to enable hermetic cross-compilation with Zig.
89
+ # This allows building Linux wheels from macOS and vice versa.
90
+ build:hermetic --extra_toolchains=@zig_sdk//toolchain:linux_amd64_gnu.2.28
91
+ build:hermetic --extra_toolchains=@zig_sdk//toolchain:linux_arm64_gnu.2.28
92
+ build:hermetic --extra_toolchains=@zig_sdk//toolchain:darwin_amd64
93
+ build:hermetic --extra_toolchains=@zig_sdk//toolchain:darwin_arm64
94
+ build:hermetic --extra_toolchains=@zig_sdk//toolchain:windows_amd64
95
+ build:hermetic --extra_toolchains=@zig_sdk//toolchain:windows_arm64
96
+ build:hermetic --define=fastslide_cross_packages=1
97
+
98
+ # =============================================================================
99
+ # Java Runtime Settings
100
+ # =============================================================================
101
+ build --java_runtime_version=remotejdk_25
102
+ build --java_language_version=21
103
+ run --java_runtime_version=remotejdk_25
104
+
105
+ # =============================================================================
106
+ # Import Local Settings
107
+ # =============================================================================
108
+ try-import %workspace%/.bazelrc.local
@@ -0,0 +1 @@
1
+ 9.0.0
@@ -0,0 +1,87 @@
1
+ # Google C/C++ Code Style settings
2
+ # https://clang.llvm.org/docs/ClangFormatStyleOptions.html
3
+ # Author: Kehan Xue, kehan.xue (at) gmail.com
4
+ Language: Cpp
5
+ BasedOnStyle: Google
6
+ AccessModifierOffset: -1
7
+ AlignAfterOpenBracket: Align
8
+ AlignConsecutiveAssignments: None
9
+ AlignOperands: Align
10
+ AllowAllArgumentsOnNextLine: true
11
+ AllowAllConstructorInitializersOnNextLine: true
12
+ AllowAllParametersOfDeclarationOnNextLine: false
13
+ AllowShortBlocksOnASingleLine: Empty
14
+ AllowShortCaseLabelsOnASingleLine: false
15
+ AllowShortFunctionsOnASingleLine: Inline
16
+ AllowShortIfStatementsOnASingleLine: Never # To avoid conflict, set this "Never" and each "if statement" should include brace when coding
17
+ AllowShortLambdasOnASingleLine: Inline
18
+ AllowShortLoopsOnASingleLine: false
19
+ AlwaysBreakAfterReturnType: None
20
+ AlwaysBreakTemplateDeclarations: Yes
21
+ BinPackArguments: true
22
+ BreakBeforeBraces: Custom
23
+ BraceWrapping:
24
+ AfterCaseLabel: false
25
+ AfterClass: false
26
+ AfterStruct: false
27
+ AfterControlStatement: Never
28
+ AfterEnum: false
29
+ AfterFunction: false
30
+ AfterNamespace: false
31
+ AfterUnion: false
32
+ AfterExternBlock: false
33
+ BeforeCatch: false
34
+ BeforeElse: false
35
+ BeforeLambdaBody: false
36
+ IndentBraces: false
37
+ SplitEmptyFunction: false
38
+ SplitEmptyRecord: false
39
+ SplitEmptyNamespace: false
40
+ BreakBeforeBinaryOperators: None
41
+ BreakBeforeTernaryOperators: true
42
+ BreakConstructorInitializers: BeforeColon
43
+ BreakInheritanceList: BeforeColon
44
+ ColumnLimit: 80
45
+ ReflowComments: true
46
+ CompactNamespaces: false
47
+ ContinuationIndentWidth: 4
48
+ Cpp11BracedListStyle: true
49
+ DerivePointerAlignment: false # Make sure the * or & align on the left
50
+ EmptyLineBeforeAccessModifier: LogicalBlock
51
+ FixNamespaceComments: true
52
+ IncludeBlocks: Preserve
53
+ IndentCaseLabels: true
54
+ IndentPPDirectives: None
55
+ IndentWidth: 2
56
+ KeepEmptyLinesAtTheStartOfBlocks: true
57
+ MaxEmptyLinesToKeep: 1
58
+ NamespaceIndentation: None
59
+ ObjCSpaceAfterProperty: false
60
+ ObjCSpaceBeforeProtocolList: true
61
+ PointerAlignment: Left
62
+ SeparateDefinitionBlocks: Always
63
+ SpaceAfterCStyleCast: false
64
+ SpaceAfterLogicalNot: false
65
+ SpaceAfterTemplateKeyword: true
66
+ SpaceBeforeAssignmentOperators: true
67
+ SpaceBeforeCpp11BracedList: false
68
+ SpaceBeforeCtorInitializerColon: true
69
+ SpaceBeforeInheritanceColon: true
70
+ SpaceBeforeParens: ControlStatements
71
+ SpaceBeforeRangeBasedForLoopColon: true
72
+ SpaceBeforeSquareBrackets: false
73
+ SpaceInEmptyParentheses: false
74
+ SpacesBeforeTrailingComments: 2
75
+ SpacesInAngles: false
76
+ SpacesInCStyleCastParentheses: false
77
+ SpacesInContainerLiterals: false
78
+ SpacesInParentheses: false
79
+ SpacesInSquareBrackets: false
80
+ Standard: c++20
81
+ TabWidth: 4
82
+ UseTab: Never
83
+ ---
84
+ Language: ObjC
85
+ BasedOnStyle: Google
86
+ ColumnLimit: 80
87
+ IndentWidth: 2
@@ -0,0 +1,54 @@
1
+ name: Enforce Formatting
2
+ on:
3
+ pull_request:
4
+ types: [opened, synchronize, reopened, ready_for_review]
5
+ jobs:
6
+ check-formatting:
7
+ runs-on: ubuntu-latest # Standardizing on Linux prevents the OS-mismatch issue
8
+ if: github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch'
9
+ steps:
10
+ - name: Checkout code
11
+ uses: actions/checkout@v4
12
+ # ubuntu-latest ships with large preinstalled SDKs; format needs room to extract LLVM (~2 GiB).
13
+ - name: Free disk space
14
+ uses: jlumbroso/free-disk-space@v1.3.1
15
+ with:
16
+ android: true
17
+ dotnet: true
18
+ haskell: true
19
+ large-packages: true
20
+ # Cache only downloaded externals (not the full output base). A single key "bazel" for
21
+ # ~/.cache/bazel grows without bound and commonly causes "No space left on device" when
22
+ # extracting LLVM-21.x-Linux-X64.tar.xz.
23
+ - name: Mount Bazel repository cache
24
+ uses: actions/cache@v4
25
+ with:
26
+ path: /tmp/bazel-repository-cache
27
+ key: bazel-repo-${{ runner.os }}-${{ hashFiles('.bazelversion', 'MODULE.bazel', 'MODULE.bazel.lock') }}
28
+ restore-keys: |
29
+ bazel-repo-${{ runner.os }}-
30
+ - name: Show disk usage
31
+ run: df -h
32
+ - name: Run Formatter
33
+ env:
34
+ BAZELISK_HOME: /tmp/bazelisk
35
+ run: |
36
+ bazelisk --output_user_root=/tmp/bazel-output run format \
37
+ --repository_cache=/tmp/bazel-repository-cache \
38
+ --disk_cache=
39
+ - name: Check for Uncommitted Changes
40
+ id: diff-check
41
+ shell: bash
42
+ run: |
43
+ changed_files="$(git diff --name-only)"
44
+
45
+ if [[ -z "${changed_files}" ]]; then
46
+ echo "Formatting is already up to date."
47
+ exit 0
48
+ fi
49
+
50
+ echo "❌ Formatting issues detected in these files:"
51
+ printf '%s\n' "${changed_files}"
52
+ echo
53
+ echo "Run 'bazelisk run format' locally and push the result."
54
+ exit 1