Skip to content

Commit

Permalink
Merge pull request #20 from petebankhead/videos
Browse files Browse the repository at this point in the history
Add video tutorials, standardize headings
  • Loading branch information
petebankhead committed Jun 30, 2021
2 parents 28dd1b7 + fccff36 commit 5a37a2b
Show file tree
Hide file tree
Showing 11 changed files with 158 additions and 61 deletions.
16 changes: 16 additions & 0 deletions docs/tutorials/cell_classification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,22 @@ They can be applied for the *classification* of all *detections* within QuPath,
It is a good idea to read through the :doc:`cell_detection` section before this one.


==============
Video tutorial
==============

.. raw:: html

<div style="text-align: center; margin-bottom: 2em;">
<iframe width="100%" height="350" src="https://www.youtube-nocookie.com/embed/-4JZ73ZEicY?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>


============
Step-by-step
============


Annotate the main region of interest
====================================

Expand Down
27 changes: 22 additions & 5 deletions docs/tutorials/cell_detection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,29 @@ This is sometimes referred to as the 'Ki67 labelling index'.
In this case, tumor cells are identified by manually drawing around them to create annotations, after which QuPath is able to very quickly detect the cells and calculate the positive percentage inside each annotation.
In :doc:`cell_classification` we will look at improving on this by training QuPath to identify tumor cells itself.

.. figure:: images/ki67_detecting_origin.jpg
:class: shadow-image
:width: 75%
:align: center

Ki67 image
==============
Video tutorial
==============

.. raw:: html

<div style="text-align: center; margin-bottom: 2em;">
<iframe width="100%" height="350" src="https://www.youtube-nocookie.com/embed/14ZQCSmICCA?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>


.. .. figure:: images/ki67_detecting_origin.jpg
.. :class: shadow-image
.. :width: 75%
.. :align: center
..
.. Ki67 image
============
Step-by-step
============


Annotate a region of interest
Expand Down
14 changes: 14 additions & 0 deletions docs/tutorials/density_maps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,20 @@ In some cases, density maps can even be a replacement for :doc:`pixel_classifica
Like most commands in QuPath, Density Maps are currently calculated only in 2D.
And, like many other commands, you should create Density Maps within a :ref:`project <Projects>` if you want to reuse them later.

==============
Video tutorial
==============

.. raw:: html

<div style="text-align: center; margin-bottom: 2em;">
<iframe width="100%" height="350" src="https://www.youtube-nocookie.com/embed/lGtYOlv8XFU?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>


============
Step-by-step
============


Getting started with density maps
Expand Down
7 changes: 4 additions & 3 deletions docs/tutorials/exporting_measurements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ Which one to use is up to you and depends on what you want to do.
* **a single image**: use the measurement table
* **multiple images**: use the *Measurement Exporter* or a script

=========================
============
Step-by-step
============

Via the measurement table
=========================

Expand All @@ -45,7 +48,6 @@ You can then save your measurement by pressing **Save** and choosing an appropri

If your analysis involves combining measurements from different images, it is recommended to use the Measurement Exporter, detailed in the next subsection.

============================
Via the Measurement Exporter
============================

Expand Down Expand Up @@ -83,7 +85,6 @@ Below the image selection, a small number of parameters will allow you to shape
A small red-colored warning will appear to remind you.


=============
Via scripting
=============

Expand Down
20 changes: 14 additions & 6 deletions docs/tutorials/measuring_areas.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,22 @@ Perhaps one of the earliest and most familiar applications of image analysis in

We can apply this to :doc:`OS-3.ndpi <../intro/acknowledgements>` to answer the question: what is the area of the brown region, and what proportion of the tissue does it occupy?

.. figure:: images/areas_image.jpg
:class: shadow-image
:align: center
:width: 90%

OS-3.ndpi
==============
Video tutorial
==============

.. raw:: html

<div style="text-align: center; margin-bottom: 2em;">
<iframe width="100%" height="350" src="https://www.youtube-nocookie.com/embed/KGE7v4VIQ_0?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>


============
Step-by-step
============


Define the region of interest
=============================

Expand Down
26 changes: 13 additions & 13 deletions docs/tutorials/multiplex_analysis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,15 @@ There are three main steps involved:

But first we have a few routine things we need to take care of so that things can run smoothly.

==================
============
Step-by-step
============

Before we begin...
==================

Create a project containing your images
=======================================
---------------------------------------

Many things in QuPath work best if you create a :doc:`Project <projects>`.
Here, it is really necessary so that classifiers generated along the way are saved in the right place to become available later.
Expand All @@ -42,7 +45,7 @@ Here, it is really necessary so that classifiers generated along the way are sav


Set the image type
==================
------------------

As usual when working with an image in QuPath, it is important to ensure the :doc:`Image type <../starting/first_steps>` is appropriate.
In this case, the best choice is *Fluorescence*.
Expand All @@ -64,7 +67,7 @@ In this case, the best choice is *Fluorescence*.


Set up the channel names
========================
------------------------

The *channel names* are particularly important for multiplexed analysis, since these typically correspond to the markers of interest.
They will also be reused within the names for the cell classifications.
Expand Down Expand Up @@ -113,7 +116,7 @@ Here, I would remove any '(Opal)' parts.


Setting up the classifications
==============================
------------------------------

We now want to make the channel names available as *classifications*.

Expand All @@ -125,7 +128,7 @@ You can either right-click this list or select the |vertical_ellipsis| button an
:align: center
:class: shadow-image

======================

Detect & measure cells
======================

Expand All @@ -148,7 +151,6 @@ Because these measurements are based on the channel names, it is important to ha
:class: shadow-image


===================================
Create a classifier for each marker
===================================

Expand All @@ -164,7 +166,7 @@ You do not have to choose the same method for every marker, but can switch betwe


Option #1. Simple thresholding
==============================
------------------------------

QuPath v0.2.0 introduces a new command, :menuselection:`Classify --> Object classification --> Create single measurement classifier`.
This gives us a quick way to classify based on the value of one measurement.
Expand Down Expand Up @@ -202,14 +204,14 @@ Now you can return to the **Channel filter** and work through the steps for the


Option #2. Machine learning
===========================
---------------------------

If you are entirely happy with the process above, you can skip this section.
But sometimes thresholding a single measurement isn't sufficient to generate a usable classification - and taking a machine learning approach can help.
This process is a bit more involved, but the effort is often worth it.

Create training images
----------------------
^^^^^^^^^^^^^^^^^^^^^^

It is very difficult and confusing to try to train multiple classifiers by annotating the same image.

Expand All @@ -227,7 +229,7 @@ To do this, choose :menuselection:`Classify --> Extras --> Duplicate channel tra


Train & save classifiers
------------------------
^^^^^^^^^^^^^^^^^^^^^^^^

Now you should have multiple duplicate images in your project, with names derived from the original channel names.
Because you ran this after cell detection (right?!), these duplicate images will bring across all the original cells.
Expand Down Expand Up @@ -296,7 +298,6 @@ Then save the image data and open the image associated with the next marker of i
You can then proceed to annotate cells, largely free of the distraction of what QuPath had actually previously detected.


=======================
Combine the classifiers
=======================

Expand Down Expand Up @@ -325,7 +326,6 @@ Then, choose *any combination* of classifiers and press :guilabel:`Apply classif



======================
Making sense of it all
=======================

Expand Down
8 changes: 6 additions & 2 deletions docs/tutorials/pixel_classification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,12 @@ But pixel classifiers can also do much more sophisticated things.
Please read :doc:`thresholding` and :doc:`measuring_areas` first!


============
Step-by-step
============

Stained areas (again)
*********************
=====================

Returning to the example in :doc:`measuring_areas`, we could replace either of the thresholding steps with :menuselection:`Classify --> Pixel classification --> Train pixel classifier`.

Expand All @@ -38,7 +42,7 @@ When you are done, you can enter the classifier name, save it, and create measur


More complex classifications
****************************
============================

Training a pixel classifier makes it possible to incorporate a lot more information than is possible with a simple threshold, and to determine the output in a much more sophisticated way.

Expand Down
38 changes: 21 additions & 17 deletions docs/tutorials/projects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,28 @@ However, if you will be saving and reloading data associated with multiple image
Some commands and scripts *only* work within projects.


================
==============
Video tutorial
==============

.. raw:: html

<div style="text-align: center; margin-bottom: 2em;">
<iframe width="100%" height="350" src="https://www.youtube-nocookie.com/embed/kCEp89ypmAY?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>


============
Step-by-step
============


Create a project
================


Choose a folder
===============
---------------

The first step of creating a project is to create an empty folder somewhere on your computer.
You can then set this to be the project directory in one of two ways:
Expand All @@ -43,7 +58,7 @@ You can then set this to be the project directory in one of two ways:


Add images
==========
----------

The easiest way to add images to a project is usually to drag them on top of QuPath.

Expand Down Expand Up @@ -75,7 +90,7 @@ The options are:


Remove images
=============
-------------

You can remove images by right-clicking one or more entries under the *Project* tab and choosing :menuselection:`Delete image(s)`.

Expand All @@ -86,13 +101,11 @@ If you choose not to, these files will linger around - you won't be able to acce
On platforms that support it, QuPath will try to remove data by sending it to the recycle bin rather than permanently deleting it immediately.



=====================
Working with projects
=====================

Reopen a project
================
----------------

There are four ways to reopen an existing project:

Expand All @@ -103,7 +116,7 @@ There are four ways to reopen an existing project:


Fix paths
=========
---------

It is important to recognize that your project folder does **not** (usually) contain your images.
Rather, it contains QuPath's associated data files only - and the paths to where your images are located.
Expand All @@ -128,12 +141,3 @@ If you choose :guilabel:`Ignore` then your project will not be overwritten, but

.. tip::
In the event that your images and project *both* changed location together, QuPath will try to resolve the paths relative to the project and suggest how you should update them automatically.


.. Set metadata
.. ============
..
..
..
.. .. attention::
.. For more detail on working with projects

0 comments on commit 5a37a2b

Please sign in to comment.