Logo
3.0.5

Getting Started

  • Overview
    • License
  • Installation

Examples

  • Loading Images: Quickstart
    • Aperio SVS
    • Generic tiled TIFF
    • Hamamatsu NDPI
    • Hamamatsu VMS
    • Leica SCN
    • MIRAX
    • Olympus VSI
    • Trestle TIFF
    • Ventana BIF
    • Zeiss ZVI
    • DICOM
    • Volumetric + time-series OME-TIFF
    • CODEX spatial proteomics
    • MERFISH spatial gene expression
    • Visium 10x spatial gene expression
    • Vectra Slide
  • Brightfield Imaging: Quickstart
  • Multiparametric Imaging: Quickstart
    • Defining a Multiparametric Pipeline
    • AnnData Integration and Spatial Single Cell Analysis
    • References
  • Multiparametric Imaging: CODEX
    • Reading the slides
    • Define and run the preprocessing pipeline
    • Extract and concatenate the resulting count matrices
    • Annotate the clusters based on the markers intensity
    • Identification of cellular neighborhoods
  • Preprocessing: Transforms Gallery
    • Transforms that modify an image
      • Blurring Transforms
      • Superpixel Interpolation
      • Stain Normalization
    • Transforms that create a mask
      • Binary Threshold
      • Nucleus Detection
    • Transforms that modify a mask
      • Morphological Opening
      • Morphological Closing
      • Foreground Detection
      • Tissue Detection
  • Preprocessing: H&E Stain Normalization
    • Data
      • Stain normalization
      • Stain Deconvolution
      • References
  • Preprocessing: Graph construction
    • Data
    • Nucleus Detection
    • Feature Extraction
    • Cell-graph Construction
    • Tissue detection and feature extraction
    • Tissue-graph Construction
    • (Optional) Creating an assignment matrix
    • Putting it all together
    • References
  • Preprocessing: Tile Stitching
    • Prerequisites
      • Software Installation
      • Environment Configuration
    • Best Practices and Considerations for Using the TileStitcher Module
      • 1. JVM Session Management
      • 2. Restarting Kernel to Re-initialize JVM
      • 3. Segregating Workflows
      • Using TileStitcher
        • Initialization
        • JVM Startup
      • Image Stitching with TileStitcher
      • Demo
  • Machine Learning: Training a HoVer-Net model
    • Data augmentation
    • Load PanNuke dataset
    • Model Training
      • Training with multi-GPU
      • Main training loop
    • Evaluate Model
    • Examples
    • Conclusion
    • References
    • Session info
  • Machine Learning: Training a HACTNet model
    • Data visualization
    • Model Training
    • Model evaluation
    • References
    • Session info
  • Inference API: Tutorial using ONNX
    • Introduction
    • Quick Sample Code
    • Load Packages
    • ONNX Inference Class and ONNX Model Fixer
      • Functions to remove initializers and check that initializers have been removed.
      • Inference Classes
    • Try it Yourself!
      • Converting a Pytorch Model to ONNX Using the convert_pytorch_onnx Function
      • Local ONNX Model Using the Inference Class
      • Local ONNX Model Using the HaloAIInference Class
      • Remote ONNX Using our RemoteTestHoverNet Class
    • Iterate over the tiles
    • Full Example With Vizualization of Output
      • Run Code as Demonstrated Above
    • References
  • Workflow: Analysis of Acquired Resistance to ICI in NSCLC
    • Notebook Outline:
    • Initialization
      • Import Libraries
    • Model initialization and Data Loading
      • Initialize Inference
      • Model Overview
      • Load and Display Example Image
      • SlideData and Tile Initialization
      • Apply Inference to Tile
      • Plotting the Segmented Cells
    • Model Inference and Detection of Cell Types
      • HoVer-Net Inference
      • Run Inference Pipeline on Whole Slide Images
      • Saving the Results
    • Graph Construction and Feature Extraction
      • Group and Rescale Centroids
      • Graph Construction
      • Extracting Graph Features
    • Conclusion and Further Steps
      • Modeling and Statistical Testing
      • Extending Analysis with Advanced Graph Techniques
      • References
  • Talk to PathML
    • A digital pathology assistant for democratizing access to advanced computational image analysis
      • Example 1: Installing PathML on MacOS
      • Example 2: Information about supported file types
      • Example 3: MIF pipelines
      • Example 4: Nucleus Detection
      • Example 5: Graph API
      • Example 6: Inference API

Preprocessing

  • Loading Images
    • Individual Images
    • Datasets of Images
    • Supported slide types
    • Supported file formats
  • Creating Preprocessing Pipelines
    • What is a Transform?
    • What is a Pipeline?
    • Creating custom Transforms
  • Running Preprocessing Pipelines
    • How it works
    • Preprocessing a single WSI
    • Preprocessing a dataset of WSI
    • Distributed processing
  • HDF5 Integration
    • Overview
    • How it Works
    • About HDF5
    • .h5path File Format
    • Reading and Writing

Datasets

  • Datasets
    • DataModules
    • Using public datasets
    • References

Graphs

  • Graphs

Machine Learning

  • DataLoaders
  • Models
    • References

Inference

  • Inference

API Reference

  • Core API
    • SlideData
      • SlideData
        • SlideData.counts
        • SlideData.extract_region()
        • SlideData.generate_tiles()
        • SlideData.plot()
        • SlideData.run()
        • SlideData.shape
        • SlideData.write()
      • Convenience SlideData Classes
        • HESlide
        • VectraSlide
        • MultiparametricSlide
        • CODEXSlide
    • Slide Types
      • SlideType
        • SlideType.asdict()
    • Tile
      • Tile
        • Tile.plot()
        • Tile.shape
    • SlideDataset
      • SlideDataset
        • SlideDataset.run()
        • SlideDataset.write()
    • Tiles and Masks helper classes
      • Tiles
        • Tiles.add()
        • Tiles.keys
        • Tiles.remove()
        • Tiles.tile_shape
        • Tiles.update()
      • Masks
        • Masks.add()
        • Masks.keys
        • Masks.remove()
        • Masks.slice()
    • Slide Backends
      • OpenslideBackend
        • OpenSlideBackend
      • BioFormatsBackend
        • BioFormatsBackend
      • DICOMBackend
        • DICOMBackend
    • h5pathManager
      • h5pathManager
        • h5pathManager.add_mask()
        • h5pathManager.add_tile()
        • h5pathManager.get_mask()
        • h5pathManager.get_slidetype()
        • h5pathManager.get_tile()
        • h5pathManager.remove_mask()
        • h5pathManager.remove_tile()
        • h5pathManager.slice_masks()
        • h5pathManager.update_mask()
  • Preprocessing API
    • Pipeline
      • Pipeline
        • Pipeline.apply()
        • Pipeline.save()
    • Transforms
      • MedianBlur
        • MedianBlur.F()
        • MedianBlur.apply()
      • GaussianBlur
        • GaussianBlur.F()
        • GaussianBlur.apply()
      • BoxBlur
        • BoxBlur.F()
        • BoxBlur.apply()
      • BinaryThreshold
        • BinaryThreshold.F()
        • BinaryThreshold.apply()
      • MorphOpen
        • MorphOpen.F()
        • MorphOpen.apply()
      • MorphClose
        • MorphClose.F()
        • MorphClose.apply()
      • ForegroundDetection
        • ForegroundDetection.F()
        • ForegroundDetection.apply()
      • SuperpixelInterpolation
        • SuperpixelInterpolation.F()
        • SuperpixelInterpolation.apply()
      • StainNormalizationHE
        • StainNormalizationHE.F()
        • StainNormalizationHE.apply()
        • StainNormalizationHE.fit_to_reference()
      • NucleusDetectionHE
        • NucleusDetectionHE.F()
        • NucleusDetectionHE.apply()
      • TissueDetectionHE
        • TissueDetectionHE.F()
        • TissueDetectionHE.apply()
      • LabelArtifactTileHE
        • LabelArtifactTileHE.F()
        • LabelArtifactTileHE.apply()
      • LabelWhiteSpaceHE
        • LabelWhiteSpaceHE.F()
        • LabelWhiteSpaceHE.apply()
      • SegmentMIF
        • SegmentMIF.F()
        • SegmentMIF.apply()
      • SegmentMIFRemote
        • SegmentMIFRemote.F()
        • SegmentMIFRemote.apply()
      • QuantifyMIF
        • QuantifyMIF.F()
        • QuantifyMIF.apply()
      • CollapseRunsVectra
        • CollapseRunsVectra.F()
        • CollapseRunsVectra.apply()
      • CollapseRunsCODEX
        • CollapseRunsCODEX.F()
        • CollapseRunsCODEX.apply()
      • RescaleIntensity
        • RescaleIntensity.F()
        • RescaleIntensity.apply()
      • HistogramEqualization
        • HistogramEqualization.F()
        • HistogramEqualization.apply()
      • AdaptiveHistogramEqualization
        • AdaptiveHistogramEqualization.F()
        • AdaptiveHistogramEqualization.apply()
    • TileStitching
      • TileStitcher
        • TileStitcher.checkTIFF()
        • TileStitcher.format_jvm_options()
        • TileStitcher.is_bfconvert_available()
        • TileStitcher.parseRegion()
        • TileStitcher.parse_regions()
        • TileStitcher.run_bfconvert()
        • TileStitcher.run_image_stitching()
        • TileStitcher.setup_bfconvert()
        • TileStitcher.shutdown()
        • TileStitcher.toShort()
  • Graph API
    • Graph Building
      • BaseGraphBuilder
        • BaseGraphBuilder.process()
        • BaseGraphBuilder.process_with_centroids()
      • KNNGraphBuilder
      • RAGGraphBuilder
      • MSTGraphBuilder
    • Tissue Extraction
      • SuperpixelExtractor
        • SuperpixelExtractor.process()
      • SLICSuperpixelExtractor
      • MergedSuperpixelExtractor
        • MergedSuperpixelExtractor.process()
      • ColorMergedSuperpixelExtractor
    • Graph Feature Extraction
      • GraphFeatureExtractor
        • GraphFeatureExtractor.get_stats()
        • GraphFeatureExtractor.process()
  • Datasets API
    • Downloadable Datasets
      • PanNukeDataModule
        • PanNukeDataModule.test_dataloader
        • PanNukeDataModule.train_dataloader
        • PanNukeDataModule.valid_dataloader
      • DeepFocusDataModule
        • DeepFocusDataModule.test_dataloader
        • DeepFocusDataModule.train_dataloader
        • DeepFocusDataModule.valid_dataloader
    • ML Dataset classes
      • TileDataset
      • EntityDataset
  • ML API
    • Models
      • HoVerNet
        • HoVerNet.forward()
      • HACTNet
        • HACTNet.forward()
    • Layers
      • GNNLayer
        • GNNLayer.forward()
      • Helper functions
        • compute_hv_map()
        • loss_hovernet()
        • remove_small_objs()
        • post_process_batch_hovernet()
  • Utilities API
    • Logging Utils
      • PathMLLogger
        • PathMLLogger.disable()
        • PathMLLogger.enable()
    • Core Utils
      • readtupleh5()
      • writedataframeh5()
      • writedicth5()
      • writestringh5()
      • writetupleh5()
      • readcounts()
      • writecounts()
    • Graph Utils
      • Graph()
      • HACTPairData()
      • get_full_instance_map()
      • build_assignment_matrix()
      • two_hop()
      • two_hop_no_sparse()
    • Datasets Utils
      • DeepPatchFeatureExtractor
        • DeepPatchFeatureExtractor.process()
      • pannuke_multiclass_mask_to_nucleus_mask()
      • _remove_modules()
    • ML Utils
      • center_crop_im_batch()
      • dice_loss()
      • dice_score()
      • get_sobel_kernels()
      • wrap_transform_multichannel()
      • scatter_sum()
      • broadcast()
      • get_degree_histogram()
      • get_class_weights()
    • Miscellaneous Utils
      • upsample_array()
      • pil_to_rgb()
      • segmentation_lines()
      • plot_mask()
      • contour_centroid()
      • sort_points_clockwise()
      • pad_or_crop()
      • RGB_to_HSI()
      • RGB_to_OD()
      • RGB_to_HSV()
      • RGB_to_LAB()
      • RGB_to_GREY()
      • normalize_matrix_rows()
      • normalize_matrix_cols()
      • plot_segmentation()
  • Inference API
    • Base Inference Class
      • InferenceBase
        • InferenceBase.F()
        • InferenceBase.apply()
        • InferenceBase.get_model_card()
        • InferenceBase.reshape()
        • InferenceBase.set_citation()
        • InferenceBase.set_model_input_notes()
        • InferenceBase.set_model_output_notes()
        • InferenceBase.set_model_type()
        • InferenceBase.set_name()
        • InferenceBase.set_notes()
        • InferenceBase.set_num_classes()
    • Inference Class
      • Inference
        • Inference.F()
        • Inference.apply()
        • Inference.inference()
    • HaloAI Inference Class
      • HaloAIInference
        • HaloAIInference.F()
        • HaloAIInference.apply()
    • RemoteTestHoverNet Class
      • RemoteTestHoverNet
        • RemoteTestHoverNet.apply()
        • RemoteTestHoverNet.remove()
    • RemoteMesmer Class
      • RemoteMesmer
        • RemoteMesmer.F()
        • RemoteMesmer.apply()
        • RemoteMesmer.inference()
        • RemoteMesmer.remove()
      • Helper functions
        • remove_initializer_from_input()
        • check_onnx_clean()
        • convert_pytorch_onnx()

Contributing

  • Contributing
    • Submitting a bug report
    • Requesting a new feature
    • For developers
      • Coordinate system conventions
      • Setting up a local development environment
      • Running tests
      • Building documentation locally
      • Checking code coverage
      • How to contribute code, documentation, etc.
      • Versioning and Distributing
      • Code Quality
      • Documentation Standards
      • Testing Standards
    • Thank You!
PathML
  • Search
  • View PathML on GitHub


© Copyright 2026, Dana-Farber Cancer Institute and Weill Cornell Medicine.