Skip to content

Important Java classes

pete edited this page Oct 4, 2016 · 1 revision

The following tables are useful when scripting using QuPath or writing extensions. They relate the different object types back to the Java classes where they are implemented.

Objects

Java name Description
PathObject A general object. This is 'abstract', meaning you can't make PathObjects directly - rather, you make one of the more specific types below.
PathDetectionObject An 'detection object'. Usually something small and detected by QuPath itself, e.g. a nucleus or cell. PathDetectionObjects are typically created inside some larger parent object, e.g. an annotation or TMA core.
PathAnnotationObject An 'annotation object'. Usually hand-drawn by the user, but sometimes also created by a detection command where a larger region of interest is needed, e.g. to represent an entire region of tissue that contains cells (PathDetectionObjects) inside.
TMACoreObject An 'TMA core object'. Used only for TMA analysis. Has a extra isMissing property that is used to indicate a core that shouldn't be analyzed or included in output results.
PathRootObject Generally not something to worry about. This sits at the base of the hierarchy, so that every other object has a parent. But otherwise is 'invisible' and doesn't have any other useful properties.

Classification

Java name Description
PathClass Represents a classification.
PathClassFactory Where PathClasses are made. The reason to visit the factory, rather than make PathClasses directly, is because the factory ensures that you end up with the same PathClass as the one you ask for - and duplicates aren't allowed. For example, if you ask for a 'Tumor' PathClass from the factory, it will always provide the same one. This makes it easier to compare if two objects have the same or different classifications.

Measurements

Regions of Interest (ROIs)

Hierarchy

Clone this wiki locally