{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial 3: The phenopype workflows\n", "\n", "\n", "\n", "Analysis of scientific images can be an iterative process that may require users to go back and forth, trying different processing steps and check how to improve results. Later, when the best functions and appropriate settings are found and efficient data collection has priority, image analysis should be efficient and with minimal user input to increase throughput and reproducibility. In phenopype, users can choose between two different workflows that are useful for different stages in the process of scientific image analysis:\n", "\n", "| Workflow | Use case | Operation principle | Code explicitness | Data reproducibility |\n", "|:---|:---|:---|:---|:---|\n", "| **Low throughput** | \"prototyping\" - self education and evaluation on single images and small datasets | image analysis functions are written and stored in Python | high | low |\n", "| **High throughput** | \"production\" - default workflow for larger image datasets | images analysis functions are written and stored in YAML format | low | high |\n", "\n", "In the **low throughput** workflow, users write a function stack in directly in Python code. This is recommended for users who wish to familiarize themselves with the basic principles of computer vision or when working with only a handful of images. In contrast, the **high throughput** workflow is for production stage, when image analysis should be efficient and data collection reproducible for other users and scientists. In this tutorial you will learn about the differences between the two workflows." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
See also:
\n", "\n", "* [Tutorial 2: GUI control section](tutorial_2.ipynb#GUI-control)\n", "* [phenopype docs: Pype-API](https://www.phenopype.org/docs/api/pype/)\n", "* [phenopype docs: YAML resources](https://www.phenopype.org/docs/resources/yaml/)\n", " \n", "IMPORTANT - read before continuing:
\n", " \n", "In addition to regular window control functions documented in [Tutorial 2](tutorial_2.ipynb#GUI-control):\n", "\n", "- Editing and saving the opened configuration file in the text editor will trigger another iteration, i.e. close the image window and run the config file again.\n", "- Closing the image window manually (with the X button in the upper right), also runs triggers another run.\n", "- `Esc` will close all windows and interrupt the pype routine (triggers `sys.exit()`, which will also end a Python session if run from the command line), as well as any loops.\n", "- Each step that requires user interaction (e.g. `create_mask` or `landmarks`) needs to be confirmed with `Enter` until the next function in the sequence is executed.\n", "- At the end of the analysis, when the final steps (visualization and export functions) have run, use `Ctrl+Enter` to finish and close the window.\n", " \n", "