Here’s an overview of the general concepts in QuPath:
Your images may (and probably should) be organized in a Project
Each image in the project is represented by a ProjectImageEntry
When you open a ProjectImageEntry, you get an ImageData displayed in the viewer
The ImageData stores a few things, including:
The ImageType (e.g. Brightfield, Fluorescence)
Any ColorDeconvolutionStains required (if brightfield)
An ImageServer, for accessing pixels and metadata
A PathObjectHierarchy, containing PathObjects in a tree-like structure
Each PathObject contains a ROI and a MeasurementList
When you analyze an image in QuPath, you take your ImageData, access pixels from the ImageServer and try to represent what the image contains in the PathObjectHierarchy.
Then you query the object hierarchy to extract some kind of summary measurements.