histomicstk 1.4.1.dev52__tar.gz → 1.4.1.dev54__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 (308) hide show
  1. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/Dockerfile-wheels +14 -13
  2. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/PKG-INFO +4 -5
  3. histomicstk-1.4.1.dev54/histomicstk/_version.py +1 -0
  4. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/BackgroundIntensity/BackgroundIntensity.py +2 -1
  5. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/ColorDeconvolution/ColorDeconvolution.py +2 -1
  6. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/ComputeNucleiFeatures/ComputeNucleiFeatures.py +3 -2
  7. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/NucleiClassification/NucleiClassification.py +3 -2
  8. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/NucleiDetection/NucleiDetection.py +3 -2
  9. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/PositivePixelCount/PositivePixelCount.py +2 -1
  10. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SeparateStainsMacenkoPCA/SeparateStainsMacenkoPCA.py +1 -1
  11. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SeparateStainsXuSnmf/SeparateStainsXuSnmf.py +1 -1
  12. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SuperpixelSegmentation/SuperpixelSegmentation.py +4 -2
  13. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/utils.py +13 -1
  14. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/pyproject.toml +4 -5
  15. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/pyproject.toml.bak +3 -4
  16. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/test_wheels.py +2 -2
  17. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_cli_results.py +70 -0
  18. histomicstk-1.4.1.dev52/histomicstk/_version.py +0 -1
  19. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/.circleci/config.yml +0 -0
  20. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/.dockerignore +0 -0
  21. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/.pre-commit-config.yaml +0 -0
  22. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/AUTHORS.rst +0 -0
  23. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/CMakeLists.txt +0 -0
  24. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/CONTRIBUTING.rst +0 -0
  25. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/Dockerfile +0 -0
  26. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/LICENSE +0 -0
  27. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/MANIFEST.in +0 -0
  28. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/NOTICE +0 -0
  29. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/README.rst +0 -0
  30. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/build_wheels.sh +0 -0
  31. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/codecov.yml +0 -0
  32. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/Makefile +0 -0
  33. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/api-docs.rst +0 -0
  34. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/authors.rst +0 -0
  35. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/conf.py +0 -0
  36. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/contributing.rst +0 -0
  37. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/annotation_database_backup_and_sql_parser.ipynb +0 -0
  38. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/annotations_to_object_segmentation_masks.ipynb +0 -0
  39. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/annotations_to_semantic_segmentation_masks.ipynb +0 -0
  40. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/color_deconvolution.ipynb +0 -0
  41. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/color_normalization_and_augmentation.ipynb +0 -0
  42. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/create_classifier.ipynb +0 -0
  43. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/creating_gallery_images_review.ipynb +0 -0
  44. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/doc_files/ModifiedHTTAnnotationProtocol.pdf +0 -0
  45. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/doc_files/ModifiedNucleusAnnotationProtocol.pdf +0 -0
  46. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/doc_files/NucleiClassification/inputmodel-fie.png +0 -0
  47. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/doc_files/NucleiClassification/nucleiClass-panel.png +0 -0
  48. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/doc_files/NucleiClassification/nucleiFeature-extraction.png +0 -0
  49. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/doc_files/NucleiClassification/results.png +0 -0
  50. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/doc_files/NucleiClassification/submit button.png +0 -0
  51. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/introducing_the_girder_api.rst +0 -0
  52. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/nuclei_classification.md +0 -0
  53. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/nuclei_segmentation.ipynb +0 -0
  54. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/polygon_merger_from_tiled_masks.ipynb +0 -0
  55. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/polygon_merger_using_rtree.ipynb +0 -0
  56. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/positive_pixel_count.ipynb +0 -0
  57. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/procedure_for_typical_annotation_project.rst +0 -0
  58. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/segmentation_masks_to_annotations.ipynb +0 -0
  59. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/semantic_segmentation_color_thresholding_approach.ipynb +0 -0
  60. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/semantic_segmentation_superpixel_approach.ipynb +0 -0
  61. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/simple_tissue_detection.ipynb +0 -0
  62. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/tips_for_scalable_annotation_rendering.rst +0 -0
  63. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/using_large_image.ipynb +0 -0
  64. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples/workflows.ipynb +0 -0
  65. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/examples.rst +0 -0
  66. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/favicon.ico +0 -0
  67. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.annotation_and_mask_utils.rst +0 -0
  68. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.annotation_database_parser.rst +0 -0
  69. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.annotations_to_object_segmentation_masks.rst +0 -0
  70. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.annotations_to_semantic_segmentation_masks.rst +0 -0
  71. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.masks_to_annotations_handler.rst +0 -0
  72. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.polygon_merger.rst +0 -0
  73. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.review_gallery.rst +0 -0
  74. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.annotations_and_masks.rst +0 -0
  75. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.features.rst +0 -0
  76. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.filters.edge.rst +0 -0
  77. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.filters.rst +0 -0
  78. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.filters.shape.rst +0 -0
  79. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.preprocessing.augmentation.rst +0 -0
  80. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.preprocessing.color_conversion.rst +0 -0
  81. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.preprocessing.color_deconvolution.rst +0 -0
  82. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.preprocessing.color_normalization.rst +0 -0
  83. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.preprocessing.rst +0 -0
  84. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.rst +0 -0
  85. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.saliency.cellularity_detection_superpixels.rst +0 -0
  86. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.saliency.cellularity_detection_thresholding.rst +0 -0
  87. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.saliency.rst +0 -0
  88. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.saliency.tissue_detection.rst +0 -0
  89. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.segmentation.label.rst +0 -0
  90. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.segmentation.level_set.rst +0 -0
  91. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.segmentation.nuclear.rst +0 -0
  92. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.segmentation.positive_pixel_count.rst +0 -0
  93. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.segmentation.rst +0 -0
  94. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.utils.rst +0 -0
  95. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.workflows.rst +0 -0
  96. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.workflows.specific_workflows.rst +0 -0
  97. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk.workflows.workflow_runner.rst +0 -0
  98. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk_mark.png +0 -0
  99. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/histomicstk_mark.svg +0 -0
  100. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/index.rst +0 -0
  101. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/installation.rst +0 -0
  102. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/make.bat +0 -0
  103. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/docs/make_docs.sh +0 -0
  104. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/__init__.py +0 -0
  105. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/__init__.py +0 -0
  106. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/annotation_and_mask_utils.py +0 -0
  107. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/annotation_database_parser.py +0 -0
  108. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/annotations_to_masks_handler.py +0 -0
  109. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/annotations_to_object_mask_handler.py +0 -0
  110. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/masks_to_annotations_handler.py +0 -0
  111. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/polygon_merger.py +0 -0
  112. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/polygon_merger_v2.py +0 -0
  113. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/pyrtree/__init__.py +0 -0
  114. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/pyrtree/rect.py +0 -0
  115. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/pyrtree/rtree.py +0 -0
  116. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/review_gallery.py +0 -0
  117. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/tests/test_annotation_and_mask_utils.py +0 -0
  118. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/tests/test_annotation_database_parser.py +0 -0
  119. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/tests/test_annotations_to_masks_handler.py +0 -0
  120. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/tests/test_annotations_to_object_mask_handler.py +0 -0
  121. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/tests/test_masks_to_annotations_handler.py +0 -0
  122. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/tests/test_polygon_merger.py +0 -0
  123. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/annotations_and_masks/tests/test_review_gallery.py +0 -0
  124. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/BackgroundIntensity/BackgroundIntensity.xml +0 -0
  125. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/BackgroundIntensity/__init__.py +0 -0
  126. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/ColorDeconvolution/ColorDeconvolution.xml +0 -0
  127. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/ColorDeconvolution/__init__.py +0 -0
  128. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/ComputeNucleiFeatures/ComputeNucleiFeatures.xml +0 -0
  129. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/ComputeNucleiFeatures/README.md +0 -0
  130. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/ComputeNucleiFeatures/__init__.py +0 -0
  131. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/NucleiClassification/NucleiClassification.xml +0 -0
  132. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/NucleiClassification/__init__.py +0 -0
  133. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/NucleiDetection/NucleiDetection.xml +0 -0
  134. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/NucleiDetection/__init__.py +0 -0
  135. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/PositivePixelCount/PositivePixelCount.xml +0 -0
  136. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/PositivePixelCount/__init__.py +0 -0
  137. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SeparateStainsMacenkoPCA/SeparateStainsMacenkoPCA.xml +0 -0
  138. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SeparateStainsMacenkoPCA/__init__.py +0 -0
  139. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SeparateStainsXuSnmf/SeparateStainsXuSnmf.xml +0 -0
  140. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SeparateStainsXuSnmf/__init__.py +0 -0
  141. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SuperpixelSegmentation/SuperpixelSegmentation.xml +0 -0
  142. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/SuperpixelSegmentation/__init__.py +0 -0
  143. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/__init__.py +0 -0
  144. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/__main__.py +0 -0
  145. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/dask_config.yaml +0 -0
  146. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/docker-entrypoint.sh +0 -0
  147. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/cli/slicer_cli_list.json +0 -0
  148. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/CMakeLists.txt +0 -0
  149. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/__init__.py +0 -0
  150. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/_compute_marginal_glcm_probs_cython.pyx +0 -0
  151. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/compute_fsd_features.py +0 -0
  152. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/compute_global_cell_graph_features.py +0 -0
  153. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/compute_gradient_features.py +0 -0
  154. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/compute_haralick_features.py +0 -0
  155. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/compute_intensity_features.py +0 -0
  156. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/compute_morphometry_features.py +0 -0
  157. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/compute_nuclei_features.py +0 -0
  158. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/features/graycomatrixext.py +0 -0
  159. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/__init__.py +0 -0
  160. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/edge/__init__.py +0 -0
  161. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/edge/gaussian_grad.py +0 -0
  162. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/shape/__init__.py +0 -0
  163. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/shape/cdog.py +0 -0
  164. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/shape/clog.py +0 -0
  165. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/shape/glog.py +0 -0
  166. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/filters/shape/vesselness.py +0 -0
  167. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/__init__.py +0 -0
  168. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/augmentation/__init__.py +0 -0
  169. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/augmentation/color_augmentation.py +0 -0
  170. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/__init__.py +0 -0
  171. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/lab_mean_std.py +0 -0
  172. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/lab_to_rgb.py +0 -0
  173. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/od_to_rgb.py +0 -0
  174. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/rgb_to_hsi.py +0 -0
  175. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/rgb_to_lab.py +0 -0
  176. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/rgb_to_od.py +0 -0
  177. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/rgb_to_sda.py +0 -0
  178. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_conversion/sda_to_rgb.py +0 -0
  179. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/__init__.py +0 -0
  180. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/_linalg.py +0 -0
  181. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/color_convolution.py +0 -0
  182. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/color_deconvolution.py +0 -0
  183. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/complement_stain_matrix.py +0 -0
  184. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/find_stain_index.py +0 -0
  185. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/rgb_separate_stains_macenko_pca.py +0 -0
  186. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/rgb_separate_stains_xu_snmf.py +0 -0
  187. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/separate_stains_macenko_pca.py +0 -0
  188. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/separate_stains_xu_snmf.py +0 -0
  189. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_deconvolution/stain_color_map.py +0 -0
  190. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_normalization/__init__.py +0 -0
  191. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_normalization/background_intensity.py +0 -0
  192. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_normalization/deconvolution_based_normalization.py +0 -0
  193. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_normalization/reinhard.py +0 -0
  194. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/color_normalization/reinhard_stats.py +0 -0
  195. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/preprocessing/tests/test_normalization_and_augmentation.py +0 -0
  196. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/saliency/__init__.py +0 -0
  197. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/saliency/cellularity_detection_superpixels.py +0 -0
  198. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/saliency/cellularity_detection_thresholding.py +0 -0
  199. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/saliency/tests/test_saliency.py +0 -0
  200. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/saliency/tissue_detection.py +0 -0
  201. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/__init__.py +0 -0
  202. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/embed_boundaries.py +0 -0
  203. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/CMakeLists.txt +0 -0
  204. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/__init__.py +0 -0
  205. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/_trace_object_boundaries_cython.pyx +0 -0
  206. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/area_open.py +0 -0
  207. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/compact.py +0 -0
  208. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/condense.py +0 -0
  209. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/delete.py +0 -0
  210. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/delete_border.py +0 -0
  211. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/delete_overlap.py +0 -0
  212. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/dilate_xor.py +0 -0
  213. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/perimeter.py +0 -0
  214. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/remove_overlap_nuclei.py +0 -0
  215. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/shuffle.py +0 -0
  216. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/split.py +0 -0
  217. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/trace_object_boundaries.py +0 -0
  218. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/label/width_open.py +0 -0
  219. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/level_set/__init__.py +0 -0
  220. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/level_set/chan_vese.py +0 -0
  221. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/level_set/reg_edge.py +0 -0
  222. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/CMakeLists.txt +0 -0
  223. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/__init__.py +0 -0
  224. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/_max_clustering_cython.pyx +0 -0
  225. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/detect_nuclei_kofahi.py +0 -0
  226. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/detect_tile_nuclei.py +0 -0
  227. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/gaussian_voting.py +0 -0
  228. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/gvf_tracking.py +0 -0
  229. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/max_clustering.py +0 -0
  230. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/nuclear/min_model.py +0 -0
  231. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/positive_pixel_count.py +0 -0
  232. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/rag.py +0 -0
  233. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/rag_add_layer.py +0 -0
  234. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/segmentation/rag_color.py +0 -0
  235. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/__init__.py +0 -0
  236. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/compute_tile_foreground_fraction.py +0 -0
  237. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/convert_image_to_matrix.py +0 -0
  238. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/convert_matrix_to_image.py +0 -0
  239. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/del2.py +0 -0
  240. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/eigen.py +0 -0
  241. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/exclude_nonfinite.py +0 -0
  242. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/fit_poisson_mixture.py +0 -0
  243. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/general_utils.py +0 -0
  244. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/girder_convenience_utils.py +0 -0
  245. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/gradient_diffusion.py +0 -0
  246. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/hessian.py +0 -0
  247. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/merge_colinear.py +0 -0
  248. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/sample_pixels.py +0 -0
  249. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/simple_mask.py +0 -0
  250. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/utils/tests/test_girder_convenience_utils.py +0 -0
  251. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/workflows/__init__.py +0 -0
  252. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/workflows/specific_workflows.py +0 -0
  253. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/workflows/tests/test_workflow_runner.py +0 -0
  254. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/histomicstk/workflows/workflow_runner.py +0 -0
  255. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/requirements-dev.txt +0 -0
  256. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/ruff.toml +0 -0
  257. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/.dockerignore +0 -0
  258. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/Dockerfile-gc-tests +0 -0
  259. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/__init__.py +0 -0
  260. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/datastore.py +0 -0
  261. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/docker-compose.yml +0 -0
  262. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/docker_setup.py +0 -0
  263. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/htk_test_utilities.py +0 -0
  264. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_blob_detection_filters.py +0 -0
  265. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_cli_common.py +0 -0
  266. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_cli_xml.py +0 -0
  267. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_color_conversion.py +0 -0
  268. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_color_deconvolution.py +0 -0
  269. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_color_normalization.py +0 -0
  270. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_feature_extraction.py +0 -0
  271. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/Easy1_nuclei_fsd_features.csv +0 -0
  272. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/Easy1_nuclei_gradient_features.csv +0 -0
  273. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/Easy1_nuclei_gradient_features_v2.csv +0 -0
  274. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/Easy1_nuclei_haralick_features.csv +0 -0
  275. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/Easy1_nuclei_intensity_features.csv +0 -0
  276. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/Easy1_nuclei_morphometry_features.csv +0 -0
  277. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/Easy1_nuclei_morphometry_features_v2.csv +0 -0
  278. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-59206_top-33505_mag-BASE.png +0 -0
  279. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/img/polygon_merger_merged.JPG +0 -0
  280. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/img/polygon_merger_unmerged.JPG +0 -0
  281. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44350_top-43750_mag-BASE.png +0 -0
  282. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44350_top-44262_mag-BASE.png +0 -0
  283. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44350_top-44774_mag-BASE.png +0 -0
  284. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44350_top-45286_mag-BASE.png +0 -0
  285. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44350_top-45798_mag-BASE.png +0 -0
  286. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44862_top-43750_mag-BASE.png +0 -0
  287. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44862_top-44262_mag-BASE.png +0 -0
  288. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44862_top-44774_mag-BASE.png +0 -0
  289. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44862_top-45286_mag-BASE.png +0 -0
  290. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-44862_top-45798_mag-BASE.png +0 -0
  291. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45374_top-43750_mag-BASE.png +0 -0
  292. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45374_top-44262_mag-BASE.png +0 -0
  293. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45374_top-44774_mag-BASE.png +0 -0
  294. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45374_top-45286_mag-BASE.png +0 -0
  295. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45374_top-45798_mag-BASE.png +0 -0
  296. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45886_top-43750_mag-BASE.png +0 -0
  297. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45886_top-44262_mag-BASE.png +0 -0
  298. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45886_top-44774_mag-BASE.png +0 -0
  299. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45886_top-45286_mag-BASE.png +0 -0
  300. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/polygon_merger_roi_masks/TCGA-A2-A0YE-01Z-00-DX1.8A2E3094-5755-42BC-969D-7F0A2ECA0F39_left-45886_top-45798_mag-BASE.png +0 -0
  301. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/annotations_and_masks/sample_contours_df.tsv +0 -0
  302. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/saliency_GTcodes.csv +0 -0
  303. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_files/sample_GTcodes.csv +0 -0
  304. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_glcm.py +0 -0
  305. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_global_cell_graph_features.py +0 -0
  306. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_nuclei_segmentation.py +0 -0
  307. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tests/test_segmentation_label.py +0 -0
  308. {histomicstk-1.4.1.dev52 → histomicstk-1.4.1.dev54}/tox.ini +0 -0
@@ -1,9 +1,11 @@
1
1
  FROM dockcross/manylinux_2_28-x64
2
2
 
3
- # Don't build python < 3.9
3
+ # Don't build python < 3.10
4
4
  RUN rm -rf /opt/python/cp36*
5
5
  RUN rm -rf /opt/python/cp37*
6
6
  RUN rm -rf /opt/python/cp38*
7
+ RUN rm -rf /opt/python/cp39*
8
+ RUN rm -rf /opt/python/cp*t
7
9
  RUN rm -rf /opt/python/pp*
8
10
 
9
11
  RUN for PYBIN in /opt/python/*/bin; do \
@@ -11,19 +13,19 @@ RUN for PYBIN in /opt/python/*/bin; do \
11
13
  done
12
14
 
13
15
  RUN for PYBIN in /opt/python/*/bin; do \
14
- if [[ "${PYBIN}" =~ "312" ]]; then \
15
- export VERSIONS="numpy==1.26.*"; \
16
+ if [[ "${PYBIN}" =~ "314" ]]; then \
17
+ export VERSIONS="numpy>=2"; \
18
+ elif [[ "${PYBIN}" =~ "313" ]]; then \
19
+ export VERSIONS="numpy>=2"; \
20
+ elif [[ "${PYBIN}" =~ "312" ]]; then \
21
+ export VERSIONS="numpy>=1.26"; \
16
22
  elif [[ "${PYBIN}" =~ "311" ]]; then \
17
- export VERSIONS="numpy==1.23.*"; \
23
+ export VERSIONS="numpy>=1.24"; \
18
24
  elif [[ "${PYBIN}" =~ "310" ]]; then \
19
- export VERSIONS="numpy==1.21.*"; \
20
- elif [[ "${PYBIN}" =~ "39" ]]; then \
21
- export VERSIONS="numpy==1.19.*"; \
22
- elif [[ "${PYBIN}" =~ "38" ]]; then \
23
- export VERSIONS="numpy==1.17.*"; \
25
+ export VERSIONS="numpy>=1.21"; \
24
26
  else \
25
- # This could be numpy 1.11, but we specify 1.12.1 as our minimum \
26
- export VERSIONS="numpy==1.12.*"; \
27
+ # Fallback for any remaining python versions (e.g. future releases) uses modern defaults \
28
+ export VERSIONS="numpy>=2"; \
27
29
  fi && \
28
30
  ${PYBIN}/pip install setuptools-scm 'Cython>=0.25.2' 'scikit-build>=0.8.1' 'cmake>=0.6.0' "${VERSIONS}"; \
29
31
  done
@@ -50,8 +52,7 @@ RUN cd $htk_path && \
50
52
  # Strip libraries before building any wheels \
51
53
  strip --strip-unneeded /usr/local/lib{,64}/*.{so,a} || true && \
52
54
  for PYBIN in /opt/python/*/bin; do \
53
- # Anything newer requires manylinux2014 \
54
- ${PYBIN}/pip install 'opencv-python-headless<4.3' && \
55
+ ${PYBIN}/pip install opencv-python-headless && \
55
56
  ${PYBIN}/pip install --no-cache-dir . && \
56
57
  # Remove any previous build artifacts && \
57
58
  git clean -fxd && \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: histomicstk
3
- Version: 1.4.1.dev52
3
+ Version: 1.4.1.dev54
4
4
  Summary: A Python toolkit for Histopathology Image Analysis
5
5
  Keywords: histomicstk
6
6
  Author-Email: "Kitware, Inc." <developers@digitalslidearchive.net>
@@ -8,15 +8,15 @@ License: Apache Software License 2.0
8
8
  Classifier: Development Status :: 5 - Production/Stable
9
9
  Classifier: License :: OSI Approved :: Apache Software License
10
10
  Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.9
12
11
  Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
13
  Classifier: Programming Language :: Python :: 3.12
15
14
  Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
16
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
17
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
18
  Project-URL: Homepage, https://github.com/DigitalSlideArchive/HistomicsTK
19
- Requires-Python: >=3.9
19
+ Requires-Python: >=3.10
20
20
  Requires-Dist: girder-client
21
21
  Requires-Dist: nimfa
22
22
  Requires-Dist: numpy
@@ -37,8 +37,7 @@ Requires-Dist: large-image[common]; sys_platform != "linux"
37
37
  Requires-Dist: large-image-converter; sys_platform == "linux"
38
38
  Requires-Dist: girder-slicer-cli-web
39
39
  Requires-Dist: ctk-cli
40
- Requires-Dist: opencv-python-headless<4.12; python_version < "3.10"
41
- Requires-Dist: opencv-python-headless; python_version >= "3.10"
40
+ Requires-Dist: opencv-python-headless
42
41
  Description-Content-Type: text/x-rst
43
42
 
44
43
  ===========
@@ -0,0 +1 @@
1
+ __version__ = '1.4.1.dev54'
@@ -37,7 +37,8 @@ def main(args):
37
37
  }
38
38
 
39
39
  with open(args.outputAnnotationFile, 'w') as annotation_file:
40
- json.dump(annotation, annotation_file, separators=(',', ':'), sort_keys=False)
40
+ json.dump(annotation, annotation_file, separators=(',', ':'),
41
+ sort_keys=False, default=utils.json_encoder)
41
42
 
42
43
 
43
44
  if __name__ == '__main__':
@@ -134,7 +134,8 @@ def main(args):
134
134
 
135
135
  if args.outputAnnotationFile:
136
136
  with open(args.outputAnnotationFile, 'w') as annotation_file:
137
- json.dump(annotation, annotation_file, separators=(',', ':'), sort_keys=False)
137
+ json.dump(annotation, annotation_file, separators=(',', ':'),
138
+ sort_keys=False, default=utils.json_encoder)
138
139
 
139
140
 
140
141
  if __name__ == '__main__':
@@ -92,7 +92,7 @@ def main(args): # noqa
92
92
 
93
93
  ts_metadata = ts.getMetadata()
94
94
 
95
- print(json.dumps(ts_metadata, indent=2))
95
+ print(json.dumps(ts_metadata, indent=2, default=cli_utils.json_encoder))
96
96
 
97
97
  is_wsi = ts_metadata['magnification'] is not None
98
98
 
@@ -281,7 +281,8 @@ def main(args): # noqa
281
281
  }
282
282
 
283
283
  with open(args.outputNucleiAnnotationFile, 'w') as annotation_file:
284
- json.dump(annotation, annotation_file, separators=(',', ':'), sort_keys=False)
284
+ json.dump(annotation, annotation_file, separators=(',', ':'),
285
+ sort_keys=False, default=cli_utils.json_encoder)
285
286
 
286
287
  #
287
288
  # Create CSV Feature file
@@ -139,7 +139,7 @@ def process_feature_and_annotation(args):
139
139
 
140
140
  ts_metadata = ts.getMetadata()
141
141
 
142
- print(json.dumps(ts_metadata, indent=2))
142
+ print(json.dumps(ts_metadata, indent=2, default=cli_utils.json_encoder))
143
143
 
144
144
  src_mu_lab = None
145
145
  src_sigma_lab = None
@@ -339,7 +339,8 @@ def main(args):
339
339
  },
340
340
  })
341
341
  with open(args.outputNucleiAnnotationFile, 'w') as annotation_file:
342
- json.dump(annotation, annotation_file, separators=(',', ':'), sort_keys=False)
342
+ json.dump(annotation, annotation_file, separators=(',', ':'),
343
+ sort_keys=False, default=cli_utils.json_encoder)
343
344
 
344
345
 
345
346
  if __name__ == '__main__':
@@ -27,7 +27,7 @@ def read_input_image(args, process_whole_image=False):
27
27
 
28
28
  ts_metadata = ts.getMetadata()
29
29
 
30
- print(json.dumps(ts_metadata, indent=2))
30
+ print(json.dumps(ts_metadata, indent=2, default=cli_utils.json_encoder))
31
31
 
32
32
  is_wsi = ts_metadata['magnification'] is not None
33
33
 
@@ -379,7 +379,8 @@ def main(args): # noqa
379
379
  }
380
380
 
381
381
  with open(args.outputNucleiAnnotationFile, 'w') as annotation_file:
382
- json.dump(annotation, annotation_file, separators=(',', ':'), sort_keys=False)
382
+ json.dump(annotation, annotation_file, separators=(',', ':'),
383
+ sort_keys=False, default=cli_utils.json_encoder)
383
384
 
384
385
  total_time_taken = time.time() - total_start_time
385
386
 
@@ -195,7 +195,8 @@ def main(opts):
195
195
  # Save the annotation dictionary to the output annotation file
196
196
  if opts.outputAnnotationFile:
197
197
  with open(opts.outputAnnotationFile, 'w') as annotation_file:
198
- json.dump(annotation, annotation_file, separators=(',', ':'), sort_keys=False)
198
+ json.dump(annotation, annotation_file, separators=(',', ':'),
199
+ sort_keys=False, default=utils.json_encoder)
199
200
  print('Finished time %s' % (utils.disp_time_hms(time.time() - start_time)))
200
201
 
201
202
 
@@ -31,7 +31,7 @@ def main(origargs):
31
31
  annotation['attributes'][f'stainColor_{i + 1}'] = stain.tolist()
32
32
 
33
33
  with open(args.outputAnnotationFile, 'w') as annotation_file:
34
- json.dump(annotation, annotation_file, sort_keys=False)
34
+ json.dump(annotation, annotation_file, sort_keys=False, default=utils.json_encoder)
35
35
 
36
36
 
37
37
  if __name__ == '__main__':
@@ -41,7 +41,7 @@ def main(origargs):
41
41
  for i, stain in enumerate(w_est.T):
42
42
  annotation['attributes'][f'stainColor_{i + 1}'] = stain.tolist()
43
43
  with open(args.outputAnnotationFile, 'w') as annotation_file:
44
- json.dump(annotation, annotation_file, sort_keys=False)
44
+ json.dump(annotation, annotation_file, sort_keys=False, default=utils.json_encoder)
45
45
 
46
46
 
47
47
  if __name__ == '__main__':
@@ -201,7 +201,8 @@ def createSuperPixels(opts): # noqa
201
201
  img.set_type(
202
202
  pyvips.GValue.gstr_type, 'image-description',
203
203
  json.dumps(dict(
204
- {k: v for k, v in vars(opts).items() if k != 'callback'}, indexCount=found)))
204
+ {k: v for k, v in vars(opts).items() if k != 'callback'}, indexCount=found),
205
+ default=utils.json_encoder))
205
206
  img.write_to_file(
206
207
  opts.outputImageFile, tile=True, tile_width=256, tile_height=256, pyramid=True,
207
208
  region_shrink=pyvips.RegionShrink.NEAREST,
@@ -268,7 +269,8 @@ def createSuperPixels(opts): # noqa
268
269
  annotation = [annotation, bboxannotation]
269
270
  with open(opts.outputAnnotationFile, 'w') as annotation_file:
270
271
  try:
271
- json.dump(annotation, annotation_file, separators=(',', ':'), sort_keys=False)
272
+ json.dump(annotation, annotation_file, separators=(',', ':'),
273
+ sort_keys=False, default=utils.json_encoder)
272
274
  except Exception:
273
275
  print('Failed to serialize annotation')
274
276
  print(repr(annotation))
@@ -476,7 +476,6 @@ def splitArgs(args, split='_'):
476
476
  def sample_pixels(args):
477
477
  """Version of histomicstk.utils.sample_pixels that takes a Namespace
478
478
  and handles the special default values.
479
-
480
479
  """
481
480
  args = (args._asdict() if hasattr(args, '_asdict') else vars(args)).copy()
482
481
  for k in 'magnification', 'sample_fraction', 'sample_approximate_total':
@@ -485,6 +484,18 @@ def sample_pixels(args):
485
484
  return htk_utils.sample_pixels(**args)
486
485
 
487
486
 
487
+ def json_encoder(obj):
488
+ """
489
+ Default encoder for `json.dump`/`json.dumps` to handle NumPy scalars that
490
+ fail native serialization (e.g., int64, float64).
491
+ """
492
+ if isinstance(obj, np.integer):
493
+ return int(obj)
494
+ elif isinstance(obj, np.floating):
495
+ return float(obj)
496
+ raise TypeError
497
+
498
+
488
499
  __all__ = (
489
500
  'CLIArgumentParser',
490
501
  'create_dask_client',
@@ -495,6 +506,7 @@ __all__ = (
495
506
  'get_region_dict',
496
507
  'get_stain_matrix',
497
508
  'get_stain_vector',
509
+ 'json_encoder',
498
510
  'sample_pixels',
499
511
  'segment_wsi_foreground_at_low_res',
500
512
  'splitArgs',
@@ -3,7 +3,7 @@ requires = ["scikit-build-core>=0.7", "setuptools-scm", "cython>=0.29", "numpy"]
3
3
  build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
- version = "1.4.1.dev52"
6
+ version = "1.4.1.dev54"
7
7
  name = "histomicstk"
8
8
  description = "A Python toolkit for Histopathology Image Analysis"
9
9
  readme = "README.rst"
@@ -16,16 +16,16 @@ classifiers = [
16
16
  "Development Status :: 5 - Production/Stable",
17
17
  "License :: OSI Approved :: Apache Software License",
18
18
  "Programming Language :: Python :: 3",
19
- "Programming Language :: Python :: 3.9",
20
19
  "Programming Language :: Python :: 3.10",
21
20
  "Programming Language :: Python :: 3.11",
22
21
  "Programming Language :: Python :: 3.12",
23
22
  "Programming Language :: Python :: 3.13",
23
+ "Programming Language :: Python :: 3.14",
24
24
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
25
25
  "Topic :: Software Development :: Libraries :: Python Modules",
26
26
  ]
27
27
  keywords = ["histomicstk"]
28
- requires-python = ">=3.9"
28
+ requires-python = ">=3.10"
29
29
  dependencies = [
30
30
  "girder-client",
31
31
  "nimfa",
@@ -47,8 +47,7 @@ dependencies = [
47
47
  "large-image-converter;sys.platform=='linux'",
48
48
  "girder-slicer-cli-web",
49
49
  "ctk-cli",
50
- "opencv-python-headless<4.12; python_version < '3.10'",
51
- "opencv-python-headless; python_version >= '3.10'",
50
+ "opencv-python-headless",
52
51
  ]
53
52
 
54
53
  [project.scripts]
@@ -15,16 +15,16 @@ classifiers = [
15
15
  "Development Status :: 5 - Production/Stable",
16
16
  "License :: OSI Approved :: Apache Software License",
17
17
  "Programming Language :: Python :: 3",
18
- "Programming Language :: Python :: 3.9",
19
18
  "Programming Language :: Python :: 3.10",
20
19
  "Programming Language :: Python :: 3.11",
21
20
  "Programming Language :: Python :: 3.12",
22
21
  "Programming Language :: Python :: 3.13",
22
+ "Programming Language :: Python :: 3.14",
23
23
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
24
24
  "Topic :: Software Development :: Libraries :: Python Modules",
25
25
  ]
26
26
  keywords = ["histomicstk"]
27
- requires-python = ">=3.9"
27
+ requires-python = ">=3.10"
28
28
  dependencies = [
29
29
  "girder-client",
30
30
  "nimfa",
@@ -46,8 +46,7 @@ dependencies = [
46
46
  "large-image-converter;sys.platform=='linux'",
47
47
  "girder-slicer-cli-web",
48
48
  "ctk-cli",
49
- "opencv-python-headless<4.12; python_version < '3.10'",
50
- "opencv-python-headless; python_version >= '3.10'",
49
+ "opencv-python-headless",
51
50
  ]
52
51
  dynamic = ["version"]
53
52
 
@@ -19,11 +19,11 @@ python "$CLIPATH/NucleiDetection/NucleiDetection.py" tcga.svs sample.anot \\
19
19
  true"""
20
20
 
21
21
  containers = [
22
- 'python:3.9',
23
22
  'python:3.10',
24
23
  'python:3.11',
25
24
  'python:3.12',
26
- 'centos/python-38-centos7',
25
+ 'python:3.13',
26
+ 'python:3.14',
27
27
  ]
28
28
 
29
29
  for container in containers:
@@ -112,3 +112,73 @@ class TestColorDeconvolution:
112
112
  '479066d2016122b2b60575f4e9abe201b4f79d8a894ce76191419e21c7539186',
113
113
  'd06317130f4a4aabd155c97f32cec4708ec3eec24d09d16daa2181f18b2051bb',
114
114
  }
115
+
116
+
117
+ class TestPositivePixelCount:
118
+ POSITIVE_PIXEL_COUNT_DEFAULTS = [
119
+ '0.83', # hue_value
120
+ '0.15', # hue_width
121
+ '0.05', # saturation_minimum
122
+ '0.95', # intensity_upper_limit
123
+ '0.65', # intensity_weak_threshold
124
+ '0.35', # intensity_strong_threshold
125
+ '0.05', # intensity_lower_limit
126
+ ]
127
+
128
+ def _runTest(self, image_file, extra_args=None):
129
+ """
130
+ Run PositivePixelCount CLI and return the annotation file contents.
131
+
132
+ Plus optional named flags like --image_annotation for output files.
133
+ """
134
+ with tempfile.TemporaryDirectory() as tmpdirname:
135
+ outpath = os.path.join(tmpdirname, 'result.anot')
136
+ args = [image_file] + self.POSITIVE_PIXEL_COUNT_DEFAULTS
137
+ args.append('--image_annotation')
138
+ args.append(outpath)
139
+ if extra_args:
140
+ args += extra_args
141
+ _runCLITest('PositivePixelCount', args)
142
+ with open(outpath) as f:
143
+ return json.load(f)
144
+
145
+ def test_positive_pixel_count_with_annotation(self):
146
+ """
147
+ Test that PositivePixelCount completes and writes valid JSON
148
+ annotation.
149
+ """
150
+ src = datastore.fetch('Easy1.png')
151
+ annot = self._runTest(src, ['--scheduler=multithreading'])
152
+
153
+ assert 'name' in annot
154
+ assert 'elements' in annot
155
+ assert 'attributes' in annot
156
+ assert 'stats' in annot['attributes']
157
+
158
+ def test_positive_pixel_count_json_serialization(self):
159
+ """
160
+ Directly test that annotation JSON can be parsed.
161
+ """
162
+ from histomicstk.cli.PositivePixelCount import PositivePixelCount
163
+ from histomicstk.cli.utils import CLIArgumentParser
164
+
165
+ src = datastore.fetch('Easy1.png')
166
+
167
+ with tempfile.TemporaryDirectory() as tmpdirname:
168
+ outpath = os.path.join(tmpdirname, 'result.anot')
169
+ args = [src] + self.POSITIVE_PIXEL_COUNT_DEFAULTS #
170
+ args.append('--image_annotation')
171
+ args.append(outpath)
172
+ parser = CLIArgumentParser(
173
+ os.path.join(os.path.dirname(PositivePixelCount.__file__),
174
+ 'PositivePixelCount.xml'),
175
+ )
176
+ parsed_args = parser.parse_args(args)
177
+ PositivePixelCount.main(parsed_args)
178
+ with open(outpath) as f:
179
+ annot = json.load(f)
180
+ stats = annot['attributes']['stats']
181
+ assert 'NumberWeakPositive' in stats
182
+ assert 'NumberPositive' in stats
183
+ assert 'NumberStrongPositive' in stats
184
+ assert 'NumberTotalPixels' in stats
@@ -1 +0,0 @@
1
- __version__ = '1.4.1.dev52'