From 0936743b318f10b4ba13a5a22a5c3c5f9c97b872 Mon Sep 17 00:00:00 2001 From: Joachim Danmayr Date: Mon, 4 Nov 2024 05:43:22 +0000 Subject: [PATCH] chore: Started to describe commands --- .../images/command_description.drawio.svg | 163 ++++++++++++++++++ docs/fundamentals/pipelines.md | 39 ++++- 2 files changed, 196 insertions(+), 6 deletions(-) create mode 100644 docs/fundamentals/images/command_description.drawio.svg diff --git a/docs/fundamentals/images/command_description.drawio.svg b/docs/fundamentals/images/command_description.drawio.svg new file mode 100644 index 0000000..b56518f --- /dev/null +++ b/docs/fundamentals/images/command_description.drawio.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + +
+
+
+ Image +
+ processing +
+
+
+
+ + Image... + +
+
+ + + + + + +
+
+
+ Object +
+ detection +
+
+
+
+ + Object... + +
+
+ + + + + + + + + + + + + + + +
+
+
+ Object +
+ classification +
+
+
+
+ + Object... + +
+
+ + + + +
+
+
+ Image +
+
+
+
+ + Image + +
+
+ + + + +
+
+
+ Binary +
+ Image +
+
+
+
+ + Binary... + +
+
+ + + + +
+
+
+ Object +
+ processing +
+
+
+
+ + Object... + +
+
+ + + + +
+
+
+ Objects +
+
+
+
+ + Objects + +
+
+
+ + + + + Text is not SVG - cannot display + + + +
\ No newline at end of file diff --git a/docs/fundamentals/pipelines.md b/docs/fundamentals/pipelines.md index 89e411b..9d1ac4c 100644 --- a/docs/fundamentals/pipelines.md +++ b/docs/fundamentals/pipelines.md @@ -7,6 +7,14 @@ Clicking on an pipeline in the {guilabel}`Pipelines` tab opens the pipeline sett :class: full-image ``` +The final goal of a pipeline in ImageC is to get objects (see section [Classification](classification)). +Objects can either be extracted from an image plane based on a region of interest using image processing and classification algorithms, or constructed from an existing set of objects using object math. + +A typical way to get the wanted objects from an image is first the define the image plane to process, set classification information for the extracted objects, add image preprocessing and classification steps, do some object math and filtering. + +Finally, the extracted objects are stored in the resulting database along with their object metrics. + + (channels-meta)= ## Pipeline meta @@ -24,7 +32,7 @@ If the {guilabel}`Z-Stack` setting in the {guilabel}`Project` tab is set to {gui If the the {guilabel}`Z-Stack` setting in the {guilabel}`Project` tab is set to {guilabel}`Each one`, not additional settings have to be taken for the z-stack. Each z-stack is processed individually. If the {guilabel}`Z-Stack` setting in the {guilabel}`Project` tab is set to {guilabel}`Exact one`, it is necessary to specify which z-stack index to use for analysis, the default being zero (0). -Same settings have to be taken for the t-stack depending on taken {guilabel}`T-Stack` settings in the {guilabel}`Project` tab. +Same settings have to be taken for the time stack depending on taken {guilabel}`T-Stack` settings in the {guilabel}`Project` tab. In addition to start with an image plane as input it is also possible to start with an {guilabel}`Empty` image. Using a blank image is useful for use cases where you are working with objects from a previous pipeline without having to extract objects again. @@ -39,19 +47,38 @@ The settings in this section allow you to specify the default cluster and class ## Pipeline steps +:::{sidebar} Commands + +Commands are used to manipulate the input image, extract objects or to work on exiting objects. +A command takes either an image plane or objects as input and returns a manipulated image or objects as output. +In other words, based on the command category, the command either works on images or objects, or transforms an image into an object or vice versa. + + +This brings us to four principal categories of commands: image processing commands (gray), object detection commands (white), object classification commands and object post-processing commands (green). + +As not every sequence of commands is possible in a meaningful way, ImageC indicates which command can be connected to the previous one. + +```{image} images/command_description.drawio.svg +:class: full-image +``` + +::: + The goal of each pipeline is to extract regions of interest from an image input plane and store these regions of interest as objects for further object processing. -For this purpose, ImageC provides a large number of commands that can be used for this purpose. +ImageC provides a wide range of commands that can be used for this purpose. + +By clicking on the **--- + ---** button within the pipeline step section, the command selection dialog is opened. +Commands are classified into four principal categories: image processing commands (gray), object detection commands (white), object classification commands and object post-processing commands (green). -By clicking on the **--- + ---** button within the pipeline step section the command selection dialog is opened. -This dialog shows all commands that can be used at this point. -Double-click to insert the command at the specified position. +When opening the command selection dialogue, this dialogue shows all the available commands that can be used at this pipeline position. +Double-click to insert the command. ```{figure} images/screenshot_command_selection.png :class: small-image ``` -Commands are classified into four principal categories: image processing commands (gray), object detection commands (white), object classification commands and object post-processing commands (green). +A typical pipeline flow might look like this: 1. First of all image processing commands are used to reduce the image noise as much as possible. 2. Object detection commands are used to separate foreground from background by using threshold algorithms and convert the grey scale image to a binary image.