Skip to content

QuPath concepts

pete edited this page Oct 4, 2016 · 1 revision

It's possible to work with QuPath profitably for a while without knowing too much about the underlying concepts, and rely instead on it being (reasonably) intuitive for many common uses - at least once you have used it for a while.

However, eventually you may encounter more complex analysis problems, or times when QuPath doesn't behave as you expect. Then it can be very helpful to have a deeper idea of the principles upon which it is based. This section aims to explain these.

To give an overview of what follows, there are really two essential ideas to understand:

The main idea: Working with objects

QuPath works with objects.

An object is a very general thing. An example of an object would be a cell. Or a region you have drawn (i.e. an annotation). Or a tissue microarray core.

The second idea: Working with images

QuPath also works with images. But this isn't the main idea, because QuPath doesn't particularly care for images in themselves. They may be useful and pretty to look at, but when presented with an image the goal for QuPath is generally to turn it into a collection of objects.

For example, taking an input image of tissue, QuPath can try to take the pixels in the image and find where the cells are... and then create objects to represent each cell. Alternatively, an object might be something larger, such as a gland, or an entire piece of tissue.

So images are a means to an end. Objects are fundamental.


The following subsections expand on these ideas, and explain more details what objects are, why they exist, and how they can be used.

Please be assured: nothing here is willfully complex! If something here is hard to follow or doesn't seem important, then it may help to ignore it for now and return to this page after using QuPath for longer... by which time the explanations may be clearer. (Or, if they are not, you may be able to improve the documentation by providing clearer explanations of your own.)

Clone this wiki locally