{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "63ce0734-aad1-48c2-948c-f6ad0606132f",
   "metadata": {},
   "source": [
    "## Run a pipeline using a dask gateway cluster"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cdbd6fb8-f668-4a18-bbb7-f92a3bdf2172",
   "metadata": {},
   "source": [
    "This process will run the entire pipeline described in a configuration file using a dask gateway cluster (LocalCluster"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8cb3a263-f153-4bff-861e-54d0cfd072ac",
   "metadata": {},
   "source": [
    "## Import dependencies"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "f00299ae-1140-494b-99be-9fa8867c0ac8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "from paidiverpy.pipeline import Pipeline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c0471728-c021-45b5-a588-3574e7becf5a",
   "metadata": {},
   "source": [
    "## Instantiate the Pipeline Class"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "46f413c1-b9a5-4dc1-a27d-9cba7f9c745c",
   "metadata": {},
   "outputs": [],
   "source": [
    "pipeline = Pipeline(config_file_path=\"../config_files/config_benthic_client.yml\", verbose=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f2494da3-bedf-4250-b68b-b59cd215f9dd",
   "metadata": {},
   "source": [
    "As you can see, when you instantiate the Pipeline class with this configuration file, a LocalCluster is created and you can access the dashboard in the link above.\n",
    "\n",
    "This occours because we have the following parameters in the configuration file, as you can see below:\n",
    "\n",
    "```yaml\n",
    "n_jobs: 2,\n",
    "client:\n",
    "  cluster_type\": \"local\"\n",
    "  params\":\n",
    "    n_workers: 4\n",
    "    threads_per_worker: 4\n",
    "    memory_limit\": \"8GB\"\n",
    "```\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "df510517-f996-4f4f-a784-66adefda3434",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"arrow-right\" viewBox=\"0 0 330 330\">\n",
       "  <path id=\"XMLID_222_\" d=\"M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001\n",
       "\tc-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213\n",
       "\tC82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606\n",
       "\tC255,161.018,253.42,157.202,250.606,154.389z\"/>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying Paidiverpy objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --ppy-font-color: var(--jp-content-font-color, rgba(0, 0, 0, 1));\n",
       "  --ppy-font-color-brown: var(--jp-content-font-color-brown, brown);\n",
       "  --ppy-font-color-olive: var(--jp-content-font-color-olive, olive);\n",
       "  --ppy-font-color-teal: var(--jp-content-font-color-teal, teal);\n",
       "  --ppy-font-color-blue: var(--jp-content-font-color-blue, blue);\n",
       "  --ppy-font-color-gray: var(--jp-content-font-color-gray, gray);\n",
       "  --ppy-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --ppy-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --ppy-background-color: var(--jp-layout-color, white);\n",
       "  --ppy-background-color2: var(--jp-layout-color3, rgba(212, 212, 212, 0.15));\n",
       "}\n",
       "\n",
       "\n",
       "html[theme=\"dark\"],\n",
       "html[data-theme=\"dark\"],\n",
       "body[data-theme=\"dark\"],\n",
       "body.vscode-dark {\n",
       "  --ppy-font-color: rgba(255, 255, 255, 1);\n",
       "  --ppy-font-color-brown: brown;\n",
       "  --ppy-font-color-olive: olive;\n",
       "  --ppy-font-color-teal: teal;\n",
       "  --ppy-font-color-blue: blue;\n",
       "  --ppy-font-color-gray: gray;\n",
       "  --ppy-border-color: #1f1f1f;\n",
       "  --ppy-disabled-color: #515151;\n",
       "  --ppy-background-color: #111111;\n",
       "}\n",
       "\n",
       ".ppy-background-color {\n",
       "  background-color: var(--ppy-background-color) !important;\n",
       "}\n",
       "\n",
       ".ppy-font-color-brown {\n",
       "  color: var(--ppy-font-color-brown) !important;\n",
       "}\n",
       "\n",
       ".ppy-font-color {\n",
       "  color: var(--ppy-font-color) !important;\n",
       "}\n",
       ".ppy-h2 {\n",
       "  font-size: 20px !important;\n",
       "}\n",
       ".ppy-h3 {\n",
       "  font-size: 13px !important;\n",
       "}\n",
       ".ppy-p {\n",
       "  font-size: 10px;\n",
       "}\n",
       ".ppy-p-error {\n",
       "  color: var(--ppy-font-color-brown);\n",
       "  font-weight: bold;\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".ppy-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".ppy-pipeline-wrap{\n",
       "  display: flex;\n",
       "  flex-wrap: wrap;\n",
       "  align-items: center;\n",
       "}\n",
       "\n",
       ".ppy-pipeline {\n",
       "  float:left;\n",
       "  cursor: pointer;\n",
       "  padding: 10px;\n",
       "  width: max-content;\n",
       "  height: 150px;\n",
       "  margin: 10px;\n",
       "  border: 1px solid #000;\n",
       "  text-align: center;\n",
       "  /* line-height: 80px; */\n",
       "}\n",
       "\n",
       ".ppy-pipeline-clear-fix {\n",
       "  clear: both;\n",
       "}\n",
       "\n",
       ".ppy-pipeline-parameters-all {\n",
       "  padding: 10px;\n",
       "  margin: 10px;\n",
       "}\n",
       "\n",
       ".ppy-images-step-header {\n",
       "  cursor: pointer;\n",
       "  font-weight: bold;\n",
       "  margin-top: 10px;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       ".ppy-images-metadata {\n",
       "  margin-left: 20px;\n",
       "  margin-bottom: 10px;\n",
       "}\n",
       ".ppy-images {\n",
       "  display: flex;\n",
       "  flex-wrap: wrap;\n",
       "  gap: 10px;\n",
       "  margin-left: 20px;\n",
       "}\n",
       "\n",
       ".ppy-show-more-button, .ppy-hide-button {\n",
       "  margin-left: 20px;\n",
       "  background-color: #007bff;\n",
       "  color: white;\n",
       "  border: none;\n",
       "  padding: 5px 10px;\n",
       "  cursor: pointer;\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pipeline-arrow {\n",
       "  float:left;\n",
       "  width: 50px;\n",
       "  height: 80px;\n",
       "  margin: 10px;\n",
       "  text-align: center;\n",
       "  line-height: 80px;\n",
       "}\n",
       "\n",
       ".ppy-images-img{\n",
       "  display: block;\n",
       "  max-width: 200px;\n",
       "  margin: 10px;\n",
       "}\n",
       "\n",
       ".ppy-images-toggle-arrow {\n",
       "  cursor: pointer;\n",
       "  margin-left: 5px;\n",
       "}\n",
       "\n",
       ".ppy-images-image-p {\n",
       "  cursor: pointer;\n",
       "}\n",
       "\n",
       ".ppy-arrow-right {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-json-block {\n",
       "  font-family: monospace;\n",
       "  background: var(--ppy-background-color);\n",
       "  padding: 1em;\n",
       "  border-radius: 6px;\n",
       "}\n",
       ".ppy-json-key {\n",
       "  color: var(--ppy-font-color-brown);\n",
       "}\n",
       ".ppy-json-string {\n",
       "  color: var(--ppy-font-color-olive);\n",
       "}\n",
       ".ppy-json-number {\n",
       "  color: var(--ppy-font-color-teal);\n",
       "}\n",
       ".ppy-json-bool {\n",
       "  color: var(--ppy-font-color-blue);\n",
       "}\n",
       ".ppy-json-null {\n",
       "  color: var(--ppy-font-color-gray);\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pn-title-0 {\n",
       "  font-size: 30px;\n",
       "}\n",
       "\n",
       ".ppy-pn-title-1 {\n",
       "  font-size: 20px;\n",
       "}\n",
       ".ppy-pn-title-2 {\n",
       "  font-size: 17px;\n",
       "}\n",
       ".ppy-pn-title-3 {\n",
       "  font-size: 14px;\n",
       "}\n",
       ".ppy-pn-title-4 {\n",
       "  font-size: 12px;\n",
       "}\n",
       "\n",
       ".ppy-pn-bold {\n",
       "  font-weight: bold;\n",
       "}\n",
       ".ppy-pn-italic {\n",
       "  font-style: italic;\n",
       "}\n",
       ".ppy-pn-description {\n",
       "  font-size: 14px;\n",
       "  margin-bottom: 1px;\n",
       "}\n",
       "\n",
       ".bk-root {\n",
       "  width: 100% !important;\n",
       "  max-width: 100% !important;\n",
       "  box-sizing: border-box;\n",
       "}\n",
       "\n",
       "input, .bk-input, .bk-input-group {\n",
       "  margin-top: 0px;\n",
       "  margin-bottom: 3px;\n",
       "  padding-top: 0px;\n",
       "  padding-bottom: 0px;\n",
       "}\n",
       "\n",
       ".ppy-pn-header-button .bk-btn {\n",
       "  background: none !important;\n",
       "  border: none !important;\n",
       "  font-weight: bold;\n",
       "  font-size: 16px;\n",
       "  text-align: left;\n",
       "  padding-left: 0;\n",
       "  cursor: pointer;\n",
       "  box-shadow: none !important;\n",
       "  color: black;\n",
       "}\n",
       "\n",
       ".ppy-pn-danger-modal{\n",
       "  border: 2px solid red;\n",
       "  border-radius: 10px;\n",
       "  box-shadow: 0px 0px 10px rgba(255, 0, 0, 0.5);\n",
       "}\n",
       "\n",
       ".ppy-pn-config-form{\n",
       "  padding: 10px;\n",
       "  margin-top: 10px;\n",
       "  margin-bottom: 10px;\n",
       "  background-color: var(--ppy-background-color2);\n",
       "  border-radius: 5px;\n",
       "  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pn-align-right {\n",
       "  display: flex;\n",
       "  justify-content: flex-end;\n",
       "}\n",
       "</style><script>function toggleMetadata(stepIndex, randomId) {\n",
       "  var metadata = document.getElementById(\"ppy-images-metadata-\" + randomId + \"-\" + stepIndex);\n",
       "  var arrow = document.getElementById(\"ppy-images-arrow-\" + randomId + \"-\" + stepIndex);\n",
       "  if (metadata.style.display === \"none\") {\n",
       "      metadata.style.display = \"block\";\n",
       "      arrow.innerHTML = \"▼\";\n",
       "      arrow.classList.remove(\"ppy-font-color\");\n",
       "      arrow.classList.add(\"ppy-font-color-brown\");\n",
       "  } else {\n",
       "      metadata.style.display = \"none\";\n",
       "      arrow.innerHTML = \"►\";\n",
       "      arrow.classList.remove(\"ppy-font-color-brown\");\n",
       "      arrow.classList.add(\"ppy-font-color\");\n",
       "  }\n",
       "}\n",
       "function toggleImage(imageId, randomId) {\n",
       "  var img = document.getElementById(imageId);\n",
       "  var arrow = document.getElementById(\"ppy-images-arrow-\" + randomId + \"-\" + imageId);\n",
       "  if (img.style.display === \"none\") {\n",
       "      img.style.display = \"block\";\n",
       "      arrow.innerHTML = \"▼\";\n",
       "      arrow.classList.remove(\"ppy-font-color\");\n",
       "      arrow.classList.add(\"ppy-font-color-brown\");\n",
       "  } else {\n",
       "      img.style.display = \"none\";\n",
       "      arrow.innerHTML = \"►\";\n",
       "      arrow.classList.remove(\"ppy-font-color-brown\");\n",
       "      arrow.classList.add(\"ppy-font-color\");\n",
       "  }\n",
       "}\n",
       "function showMore(stepIndex) {\n",
       "  var moreImages = document.getElementById(\"ppy-more-images-\" + stepIndex);\n",
       "  var showMoreButton = document.getElementById(\"ppy-show-more-button-\" + stepIndex);\n",
       "  var hideButton = document.getElementById(\"ppy-hide-button-\" + stepIndex);\n",
       "  moreImages.style.display = \"flex\";\n",
       "  showMoreButton.style.display = \"none\";\n",
       "  hideButton.style.display = \"inline-block\";\n",
       "}\n",
       "function hide(stepIndex) {\n",
       "  var moreImages = document.getElementById(\"ppy-more-images-\" + stepIndex);\n",
       "  var showMoreButton = document.getElementById(\"ppy-show-more-button-\" + stepIndex);\n",
       "  var hideButton = document.getElementById(\"ppy-hide-button-\" + stepIndex);\n",
       "  moreImages.style.display = \"none\";\n",
       "  showMoreButton.style.display = \"inline-block\";\n",
       "  hideButton.style.display = \"none\";\n",
       "}\n",
       "\n",
       "\n",
       "function showParameters(id, randomId) {\n",
       "  var currentTarget = document.getElementById('ppy-pipeline-' + randomId + '-' + id);\n",
       "  var square = document.getElementsByClassName('ppy-pipeline-' + randomId);\n",
       "  var allParams = document.getElementsByClassName('ppy-pipeline-parameters-' + randomId);\n",
       "  var selectedParams = document.getElementById('ppy-pipeline-parameters-' + randomId + '-' + id);\n",
       "  var idWasVisible = false;\n",
       "  if (selectedParams) {\n",
       "      var idWasVisible = selectedParams.style.display === 'block';\n",
       "  }\n",
       "  for (var i = 0; i < square.length; i++) {\n",
       "      square[i].classList.remove('ppy-font-color-brown');\n",
       "      square[i].classList.add('ppy-font-color');\n",
       "  }\n",
       "  for (var i = 0; i < allParams.length; i++) {\n",
       "      allParams[i].style.display = 'none';\n",
       "  }\n",
       "  // Show the selected parameter section\n",
       "  if (selectedParams) {\n",
       "      if (idWasVisible) {\n",
       "          selectedParams.style.display = 'none';\n",
       "          currentTarget.classList.remove('ppy-font-color-brown');\n",
       "          currentTarget.classList.add('ppy-font-color');\n",
       "      } else {\n",
       "          selectedParams.style.display = 'block';\n",
       "          currentTarget.classList.remove('ppy-font-color');\n",
       "          currentTarget.classList.add('ppy-font-color-brown');\n",
       "      }\n",
       "  }\n",
       "}\n",
       "\n",
       "hljs.highlightAll();\n",
       "</script><link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css\"><script src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js\"></script><script>hljs.highlightAll();</script><pre class='ppy-text-repr-fallback'>{\n",
       "    &quot;general&quot;: {\n",
       "        &quot;name&quot;: &quot;raw&quot;,\n",
       "        &quot;step_name&quot;: &quot;open&quot;,\n",
       "        &quot;sample_data&quot;: &quot;benthic_csv&quot;,\n",
       "        &quot;input_path&quot;: &quot;/home/tobfer/.paidiverpy_cache/benthic_csv/images&quot;,\n",
       "        &quot;output_path&quot;: &quot;output&quot;,\n",
       "        &quot;metadata_path&quot;: &quot;/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/metadata_benthic_csv.csv&quot;,\n",
       "        &quot;metadata_type&quot;: &quot;CSV_FILE&quot;,\n",
       "        &quot;image_open_args&quot;: &quot;PNG&quot;,\n",
       "        &quot;append_data_to_metadata&quot;: &quot;/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/appended_metadata_benthic_csv.csv&quot;,\n",
       "        &quot;n_jobs&quot;: 2,\n",
       "        &quot;client&quot;: {\n",
       "            &quot;cluster_type&quot;: &quot;local&quot;,\n",
       "            &quot;params&quot;: {\n",
       "                &quot;n_workers&quot;: 4,\n",
       "                &quot;threads_per_worker&quot;: 4,\n",
       "                &quot;memory_limit&quot;: &quot;8GB&quot;\n",
       "            }\n",
       "        },\n",
       "        &quot;track_changes&quot;: false,\n",
       "        &quot;sampling&quot;: [\n",
       "            {\n",
       "                &quot;name&quot;: &quot;sampling&quot;,\n",
       "                &quot;step_name&quot;: &quot;sampling&quot;,\n",
       "                &quot;test&quot;: false,\n",
       "                &quot;params&quot;: {\n",
       "                    &quot;value&quot;: 20,\n",
       "                    &quot;raise_error&quot;: false\n",
       "                },\n",
       "                &quot;mode&quot;: &quot;fixed&quot;\n",
       "            }\n",
       "        ]\n",
       "    },\n",
       "    &quot;steps&quot;: [\n",
       "        {\n",
       "            &quot;name&quot;: &quot;colour_alteration&quot;,\n",
       "            &quot;step_name&quot;: &quot;colour&quot;,\n",
       "            &quot;test&quot;: false,\n",
       "            &quot;params&quot;: {\n",
       "                &quot;method&quot;: &quot;white_balance&quot;,\n",
       "                &quot;raise_error&quot;: false\n",
       "            },\n",
       "            &quot;mode&quot;: &quot;colour_alteration&quot;\n",
       "        },\n",
       "        {\n",
       "            &quot;name&quot;: &quot;gaussian_blur&quot;,\n",
       "            &quot;step_name&quot;: &quot;colour&quot;,\n",
       "            &quot;test&quot;: false,\n",
       "            &quot;params&quot;: {\n",
       "                &quot;sigma&quot;: 1.0,\n",
       "                &quot;raise_error&quot;: false\n",
       "            },\n",
       "            &quot;mode&quot;: &quot;gaussian_blur&quot;\n",
       "        },\n",
       "        {\n",
       "            &quot;name&quot;: &quot;sharpen&quot;,\n",
       "            &quot;step_name&quot;: &quot;colour&quot;,\n",
       "            &quot;test&quot;: false,\n",
       "            &quot;params&quot;: {\n",
       "                &quot;alpha&quot;: 1.5,\n",
       "                &quot;beta&quot;: -0.5,\n",
       "                &quot;raise_error&quot;: false\n",
       "            },\n",
       "            &quot;mode&quot;: &quot;sharpen&quot;\n",
       "        },\n",
       "        {\n",
       "            &quot;name&quot;: &quot;contrast&quot;,\n",
       "            &quot;step_name&quot;: &quot;colour&quot;,\n",
       "            &quot;test&quot;: false,\n",
       "            &quot;params&quot;: {\n",
       "                &quot;method&quot;: &quot;clahe&quot;,\n",
       "                &quot;clip_limit&quot;: 0.01,\n",
       "                &quot;gamma_value&quot;: 0.5,\n",
       "                &quot;raise_error&quot;: false\n",
       "            },\n",
       "            &quot;mode&quot;: &quot;contrast&quot;\n",
       "        }\n",
       "    ]\n",
       "}</pre><div><pre class=\"ppy-json-block\"><span class=\"ppy-json-key\">general</span>:\n",
       "  <span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"raw\"</span>\n",
       "  <span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"open\"</span>\n",
       "  <span class=\"ppy-json-key\">sample_data</span>: <span class=\"ppy-json-string\">\"benthic_csv\"</span>\n",
       "  <span class=\"ppy-json-key\">input_path</span>: <span class=\"ppy-json-string\">\"/home/tobfer/.paidiverpy_cache/benthic_csv/images\"</span>\n",
       "  <span class=\"ppy-json-key\">output_path</span>: <span class=\"ppy-json-string\">\"output\"</span>\n",
       "  <span class=\"ppy-json-key\">metadata_path</span>: <span class=\"ppy-json-string\">\"/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/metadata_benthic_csv.csv\"</span>\n",
       "  <span class=\"ppy-json-key\">metadata_type</span>: <span class=\"ppy-json-string\">\"CSV_FILE\"</span>\n",
       "  <span class=\"ppy-json-key\">image_open_args</span>: <span class=\"ppy-json-string\">\"PNG\"</span>\n",
       "  <span class=\"ppy-json-key\">append_data_to_metadata</span>: <span class=\"ppy-json-string\">\"/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/appended_metadata_benthic_csv.csv\"</span>\n",
       "  <span class=\"ppy-json-key\">n_jobs</span>: <span class=\"ppy-json-number\">2</span>\n",
       "  <span class=\"ppy-json-key\">client</span>:\n",
       "    <span class=\"ppy-json-key\">cluster_type</span>: <span class=\"ppy-json-string\">\"local\"</span>\n",
       "    <span class=\"ppy-json-key\">params</span>:\n",
       "      <span class=\"ppy-json-key\">n_workers</span>: <span class=\"ppy-json-number\">4</span>\n",
       "      <span class=\"ppy-json-key\">threads_per_worker</span>: <span class=\"ppy-json-number\">4</span>\n",
       "      <span class=\"ppy-json-key\">memory_limit</span>: <span class=\"ppy-json-string\">\"8GB\"</span>\n",
       "  <span class=\"ppy-json-key\">track_changes</span>: <span class=\"ppy-json-number\">False</span>\n",
       "  <span class=\"ppy-json-key\">sampling</span>:\n",
       "    - <span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"sampling\"</span>\n",
       "      <span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"sampling\"</span>\n",
       "      <span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "      <span class=\"ppy-json-key\">params</span>:\n",
       "        <span class=\"ppy-json-key\">value</span>: <span class=\"ppy-json-number\">20</span>\n",
       "        <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "      <span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"fixed\"</span>\n",
       "<span class=\"ppy-json-key\">steps</span>:\n",
       "  - <span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"colour_alteration\"</span>\n",
       "    <span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "    <span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">params</span>:\n",
       "      <span class=\"ppy-json-key\">method</span>: <span class=\"ppy-json-string\">\"white_balance\"</span>\n",
       "      <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"colour_alteration\"</span>\n",
       "  - <span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"gaussian_blur\"</span>\n",
       "    <span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "    <span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">params</span>:\n",
       "      <span class=\"ppy-json-key\">sigma</span>: <span class=\"ppy-json-number\">1.0</span>\n",
       "      <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"gaussian_blur\"</span>\n",
       "  - <span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"sharpen\"</span>\n",
       "    <span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "    <span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">params</span>:\n",
       "      <span class=\"ppy-json-key\">alpha</span>: <span class=\"ppy-json-number\">1.5</span>\n",
       "      <span class=\"ppy-json-key\">beta</span>: <span class=\"ppy-json-number\">-0.5</span>\n",
       "      <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"sharpen\"</span>\n",
       "  - <span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"contrast\"</span>\n",
       "    <span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "    <span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">params</span>:\n",
       "      <span class=\"ppy-json-key\">method</span>: <span class=\"ppy-json-string\">\"clahe\"</span>\n",
       "      <span class=\"ppy-json-key\">clip_limit</span>: <span class=\"ppy-json-number\">0.01</span>\n",
       "      <span class=\"ppy-json-key\">gamma_value</span>: <span class=\"ppy-json-number\">0.5</span>\n",
       "      <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"contrast\"</span></pre></div></div>"
      ],
      "text/plain": [
       "{\n",
       "    \"general\": {\n",
       "        \"name\": \"raw\",\n",
       "        \"step_name\": \"open\",\n",
       "        \"sample_data\": \"benthic_csv\",\n",
       "        \"input_path\": \"/home/tobfer/.paidiverpy_cache/benthic_csv/images\",\n",
       "        \"output_path\": \"output\",\n",
       "        \"metadata_path\": \"/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/metadata_benthic_csv.csv\",\n",
       "        \"metadata_type\": \"CSV_FILE\",\n",
       "        \"image_open_args\": \"PNG\",\n",
       "        \"append_data_to_metadata\": \"/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/appended_metadata_benthic_csv.csv\",\n",
       "        \"n_jobs\": 2,\n",
       "        \"client\": {\n",
       "            \"cluster_type\": \"local\",\n",
       "            \"params\": {\n",
       "                \"n_workers\": 4,\n",
       "                \"threads_per_worker\": 4,\n",
       "                \"memory_limit\": \"8GB\"\n",
       "            }\n",
       "        },\n",
       "        \"track_changes\": false,\n",
       "        \"sampling\": [\n",
       "            {\n",
       "                \"name\": \"sampling\",\n",
       "                \"step_name\": \"sampling\",\n",
       "                \"test\": false,\n",
       "                \"params\": {\n",
       "                    \"value\": 20,\n",
       "                    \"raise_error\": false\n",
       "                },\n",
       "                \"mode\": \"fixed\"\n",
       "            }\n",
       "        ]\n",
       "    },\n",
       "    \"steps\": [\n",
       "        {\n",
       "            \"name\": \"colour_alteration\",\n",
       "            \"step_name\": \"colour\",\n",
       "            \"test\": false,\n",
       "            \"params\": {\n",
       "                \"method\": \"white_balance\",\n",
       "                \"raise_error\": false\n",
       "            },\n",
       "            \"mode\": \"colour_alteration\"\n",
       "        },\n",
       "        {\n",
       "            \"name\": \"gaussian_blur\",\n",
       "            \"step_name\": \"colour\",\n",
       "            \"test\": false,\n",
       "            \"params\": {\n",
       "                \"sigma\": 1.0,\n",
       "                \"raise_error\": false\n",
       "            },\n",
       "            \"mode\": \"gaussian_blur\"\n",
       "        },\n",
       "        {\n",
       "            \"name\": \"sharpen\",\n",
       "            \"step_name\": \"colour\",\n",
       "            \"test\": false,\n",
       "            \"params\": {\n",
       "                \"alpha\": 1.5,\n",
       "                \"beta\": -0.5,\n",
       "                \"raise_error\": false\n",
       "            },\n",
       "            \"mode\": \"sharpen\"\n",
       "        },\n",
       "        {\n",
       "            \"name\": \"contrast\",\n",
       "            \"step_name\": \"colour\",\n",
       "            \"test\": false,\n",
       "            \"params\": {\n",
       "                \"method\": \"clahe\",\n",
       "                \"clip_limit\": 0.01,\n",
       "                \"gamma_value\": 0.5,\n",
       "                \"raise_error\": false\n",
       "            },\n",
       "            \"mode\": \"contrast\"\n",
       "        }\n",
       "    ]\n",
       "}"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipeline.config"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "310d8998-6ac7-4db4-a706-50270b6895ee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"arrow-right\" viewBox=\"0 0 330 330\">\n",
       "  <path id=\"XMLID_222_\" d=\"M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001\n",
       "\tc-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213\n",
       "\tC82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606\n",
       "\tC255,161.018,253.42,157.202,250.606,154.389z\"/>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying Paidiverpy objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --ppy-font-color: var(--jp-content-font-color, rgba(0, 0, 0, 1));\n",
       "  --ppy-font-color-brown: var(--jp-content-font-color-brown, brown);\n",
       "  --ppy-font-color-olive: var(--jp-content-font-color-olive, olive);\n",
       "  --ppy-font-color-teal: var(--jp-content-font-color-teal, teal);\n",
       "  --ppy-font-color-blue: var(--jp-content-font-color-blue, blue);\n",
       "  --ppy-font-color-gray: var(--jp-content-font-color-gray, gray);\n",
       "  --ppy-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --ppy-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --ppy-background-color: var(--jp-layout-color, white);\n",
       "  --ppy-background-color2: var(--jp-layout-color3, rgba(212, 212, 212, 0.15));\n",
       "}\n",
       "\n",
       "\n",
       "html[theme=\"dark\"],\n",
       "html[data-theme=\"dark\"],\n",
       "body[data-theme=\"dark\"],\n",
       "body.vscode-dark {\n",
       "  --ppy-font-color: rgba(255, 255, 255, 1);\n",
       "  --ppy-font-color-brown: brown;\n",
       "  --ppy-font-color-olive: olive;\n",
       "  --ppy-font-color-teal: teal;\n",
       "  --ppy-font-color-blue: blue;\n",
       "  --ppy-font-color-gray: gray;\n",
       "  --ppy-border-color: #1f1f1f;\n",
       "  --ppy-disabled-color: #515151;\n",
       "  --ppy-background-color: #111111;\n",
       "}\n",
       "\n",
       ".ppy-background-color {\n",
       "  background-color: var(--ppy-background-color) !important;\n",
       "}\n",
       "\n",
       ".ppy-font-color-brown {\n",
       "  color: var(--ppy-font-color-brown) !important;\n",
       "}\n",
       "\n",
       ".ppy-font-color {\n",
       "  color: var(--ppy-font-color) !important;\n",
       "}\n",
       ".ppy-h2 {\n",
       "  font-size: 20px !important;\n",
       "}\n",
       ".ppy-h3 {\n",
       "  font-size: 13px !important;\n",
       "}\n",
       ".ppy-p {\n",
       "  font-size: 10px;\n",
       "}\n",
       ".ppy-p-error {\n",
       "  color: var(--ppy-font-color-brown);\n",
       "  font-weight: bold;\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".ppy-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".ppy-pipeline-wrap{\n",
       "  display: flex;\n",
       "  flex-wrap: wrap;\n",
       "  align-items: center;\n",
       "}\n",
       "\n",
       ".ppy-pipeline {\n",
       "  float:left;\n",
       "  cursor: pointer;\n",
       "  padding: 10px;\n",
       "  width: max-content;\n",
       "  height: 150px;\n",
       "  margin: 10px;\n",
       "  border: 1px solid #000;\n",
       "  text-align: center;\n",
       "  /* line-height: 80px; */\n",
       "}\n",
       "\n",
       ".ppy-pipeline-clear-fix {\n",
       "  clear: both;\n",
       "}\n",
       "\n",
       ".ppy-pipeline-parameters-all {\n",
       "  padding: 10px;\n",
       "  margin: 10px;\n",
       "}\n",
       "\n",
       ".ppy-images-step-header {\n",
       "  cursor: pointer;\n",
       "  font-weight: bold;\n",
       "  margin-top: 10px;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       ".ppy-images-metadata {\n",
       "  margin-left: 20px;\n",
       "  margin-bottom: 10px;\n",
       "}\n",
       ".ppy-images {\n",
       "  display: flex;\n",
       "  flex-wrap: wrap;\n",
       "  gap: 10px;\n",
       "  margin-left: 20px;\n",
       "}\n",
       "\n",
       ".ppy-show-more-button, .ppy-hide-button {\n",
       "  margin-left: 20px;\n",
       "  background-color: #007bff;\n",
       "  color: white;\n",
       "  border: none;\n",
       "  padding: 5px 10px;\n",
       "  cursor: pointer;\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pipeline-arrow {\n",
       "  float:left;\n",
       "  width: 50px;\n",
       "  height: 80px;\n",
       "  margin: 10px;\n",
       "  text-align: center;\n",
       "  line-height: 80px;\n",
       "}\n",
       "\n",
       ".ppy-images-img{\n",
       "  display: block;\n",
       "  max-width: 200px;\n",
       "  margin: 10px;\n",
       "}\n",
       "\n",
       ".ppy-images-toggle-arrow {\n",
       "  cursor: pointer;\n",
       "  margin-left: 5px;\n",
       "}\n",
       "\n",
       ".ppy-images-image-p {\n",
       "  cursor: pointer;\n",
       "}\n",
       "\n",
       ".ppy-arrow-right {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-json-block {\n",
       "  font-family: monospace;\n",
       "  background: var(--ppy-background-color);\n",
       "  padding: 1em;\n",
       "  border-radius: 6px;\n",
       "}\n",
       ".ppy-json-key {\n",
       "  color: var(--ppy-font-color-brown);\n",
       "}\n",
       ".ppy-json-string {\n",
       "  color: var(--ppy-font-color-olive);\n",
       "}\n",
       ".ppy-json-number {\n",
       "  color: var(--ppy-font-color-teal);\n",
       "}\n",
       ".ppy-json-bool {\n",
       "  color: var(--ppy-font-color-blue);\n",
       "}\n",
       ".ppy-json-null {\n",
       "  color: var(--ppy-font-color-gray);\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pn-title-0 {\n",
       "  font-size: 30px;\n",
       "}\n",
       "\n",
       ".ppy-pn-title-1 {\n",
       "  font-size: 20px;\n",
       "}\n",
       ".ppy-pn-title-2 {\n",
       "  font-size: 17px;\n",
       "}\n",
       ".ppy-pn-title-3 {\n",
       "  font-size: 14px;\n",
       "}\n",
       ".ppy-pn-title-4 {\n",
       "  font-size: 12px;\n",
       "}\n",
       "\n",
       ".ppy-pn-bold {\n",
       "  font-weight: bold;\n",
       "}\n",
       ".ppy-pn-italic {\n",
       "  font-style: italic;\n",
       "}\n",
       ".ppy-pn-description {\n",
       "  font-size: 14px;\n",
       "  margin-bottom: 1px;\n",
       "}\n",
       "\n",
       ".bk-root {\n",
       "  width: 100% !important;\n",
       "  max-width: 100% !important;\n",
       "  box-sizing: border-box;\n",
       "}\n",
       "\n",
       "input, .bk-input, .bk-input-group {\n",
       "  margin-top: 0px;\n",
       "  margin-bottom: 3px;\n",
       "  padding-top: 0px;\n",
       "  padding-bottom: 0px;\n",
       "}\n",
       "\n",
       ".ppy-pn-header-button .bk-btn {\n",
       "  background: none !important;\n",
       "  border: none !important;\n",
       "  font-weight: bold;\n",
       "  font-size: 16px;\n",
       "  text-align: left;\n",
       "  padding-left: 0;\n",
       "  cursor: pointer;\n",
       "  box-shadow: none !important;\n",
       "  color: black;\n",
       "}\n",
       "\n",
       ".ppy-pn-danger-modal{\n",
       "  border: 2px solid red;\n",
       "  border-radius: 10px;\n",
       "  box-shadow: 0px 0px 10px rgba(255, 0, 0, 0.5);\n",
       "}\n",
       "\n",
       ".ppy-pn-config-form{\n",
       "  padding: 10px;\n",
       "  margin-top: 10px;\n",
       "  margin-bottom: 10px;\n",
       "  background-color: var(--ppy-background-color2);\n",
       "  border-radius: 5px;\n",
       "  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pn-align-right {\n",
       "  display: flex;\n",
       "  justify-content: flex-end;\n",
       "}\n",
       "</style><script>function toggleMetadata(stepIndex, randomId) {\n",
       "  var metadata = document.getElementById(\"ppy-images-metadata-\" + randomId + \"-\" + stepIndex);\n",
       "  var arrow = document.getElementById(\"ppy-images-arrow-\" + randomId + \"-\" + stepIndex);\n",
       "  if (metadata.style.display === \"none\") {\n",
       "      metadata.style.display = \"block\";\n",
       "      arrow.innerHTML = \"▼\";\n",
       "      arrow.classList.remove(\"ppy-font-color\");\n",
       "      arrow.classList.add(\"ppy-font-color-brown\");\n",
       "  } else {\n",
       "      metadata.style.display = \"none\";\n",
       "      arrow.innerHTML = \"►\";\n",
       "      arrow.classList.remove(\"ppy-font-color-brown\");\n",
       "      arrow.classList.add(\"ppy-font-color\");\n",
       "  }\n",
       "}\n",
       "function toggleImage(imageId, randomId) {\n",
       "  var img = document.getElementById(imageId);\n",
       "  var arrow = document.getElementById(\"ppy-images-arrow-\" + randomId + \"-\" + imageId);\n",
       "  if (img.style.display === \"none\") {\n",
       "      img.style.display = \"block\";\n",
       "      arrow.innerHTML = \"▼\";\n",
       "      arrow.classList.remove(\"ppy-font-color\");\n",
       "      arrow.classList.add(\"ppy-font-color-brown\");\n",
       "  } else {\n",
       "      img.style.display = \"none\";\n",
       "      arrow.innerHTML = \"►\";\n",
       "      arrow.classList.remove(\"ppy-font-color-brown\");\n",
       "      arrow.classList.add(\"ppy-font-color\");\n",
       "  }\n",
       "}\n",
       "function showMore(stepIndex) {\n",
       "  var moreImages = document.getElementById(\"ppy-more-images-\" + stepIndex);\n",
       "  var showMoreButton = document.getElementById(\"ppy-show-more-button-\" + stepIndex);\n",
       "  var hideButton = document.getElementById(\"ppy-hide-button-\" + stepIndex);\n",
       "  moreImages.style.display = \"flex\";\n",
       "  showMoreButton.style.display = \"none\";\n",
       "  hideButton.style.display = \"inline-block\";\n",
       "}\n",
       "function hide(stepIndex) {\n",
       "  var moreImages = document.getElementById(\"ppy-more-images-\" + stepIndex);\n",
       "  var showMoreButton = document.getElementById(\"ppy-show-more-button-\" + stepIndex);\n",
       "  var hideButton = document.getElementById(\"ppy-hide-button-\" + stepIndex);\n",
       "  moreImages.style.display = \"none\";\n",
       "  showMoreButton.style.display = \"inline-block\";\n",
       "  hideButton.style.display = \"none\";\n",
       "}\n",
       "\n",
       "\n",
       "function showParameters(id, randomId) {\n",
       "  var currentTarget = document.getElementById('ppy-pipeline-' + randomId + '-' + id);\n",
       "  var square = document.getElementsByClassName('ppy-pipeline-' + randomId);\n",
       "  var allParams = document.getElementsByClassName('ppy-pipeline-parameters-' + randomId);\n",
       "  var selectedParams = document.getElementById('ppy-pipeline-parameters-' + randomId + '-' + id);\n",
       "  var idWasVisible = false;\n",
       "  if (selectedParams) {\n",
       "      var idWasVisible = selectedParams.style.display === 'block';\n",
       "  }\n",
       "  for (var i = 0; i < square.length; i++) {\n",
       "      square[i].classList.remove('ppy-font-color-brown');\n",
       "      square[i].classList.add('ppy-font-color');\n",
       "  }\n",
       "  for (var i = 0; i < allParams.length; i++) {\n",
       "      allParams[i].style.display = 'none';\n",
       "  }\n",
       "  // Show the selected parameter section\n",
       "  if (selectedParams) {\n",
       "      if (idWasVisible) {\n",
       "          selectedParams.style.display = 'none';\n",
       "          currentTarget.classList.remove('ppy-font-color-brown');\n",
       "          currentTarget.classList.add('ppy-font-color');\n",
       "      } else {\n",
       "          selectedParams.style.display = 'block';\n",
       "          currentTarget.classList.remove('ppy-font-color');\n",
       "          currentTarget.classList.add('ppy-font-color-brown');\n",
       "      }\n",
       "  }\n",
       "}\n",
       "\n",
       "hljs.highlightAll();\n",
       "</script><link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css\"><script src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js\"></script><script>hljs.highlightAll();</script><pre class='ppy-text-repr-fallback'>&lt;paidiverpy.pipeline.pipeline.Pipeline object at 0x7f2f41bc7670&gt;</pre><div>\n",
       "    <div class=\"ppy-pipeline-wrap\">\n",
       "        \n",
       "    <div id=\"ppy-pipeline-bqd-general\" title=\"Click to see more information\"\n",
       "        class=\"ppy-pipeline ppy-pipeline-bqd\"\n",
       "        onclick=\"showParameters('general', 'bqd')\">\n",
       "        <h2 class=\"ppy-h2\">Raw</h2>\n",
       "        <h3 class=\"ppy-h3\">Type: Open</h2>\n",
       "    </div>\n",
       "    <div class=\"ppy-pipeline-arrow\"><svg class='icon ppy-arrow-right'><use xlink:href='#arrow-right'></use></svg></div>\n",
       "            <div id=\"ppy-pipeline-bqd-step-0\" title=\"Click to see more information\"\n",
       "                class=\"ppy-pipeline ppy-pipeline-bqd\" onclick=\"showParameters('step-0', 'bqd')\">\n",
       "                <h2 class=\"ppy-h2\">Colour_alteration</h2>\n",
       "                <h3 class=\"ppy-h3\">Type: Colour</h2>\n",
       "            </div>\n",
       "        <div class='ppy-pipeline-arrow'><svg class='icon ppy-arrow-right'><use xlink:href='#arrow-right'></use></svg></div>\n",
       "            <div id=\"ppy-pipeline-bqd-step-1\" title=\"Click to see more information\"\n",
       "                class=\"ppy-pipeline ppy-pipeline-bqd\" onclick=\"showParameters('step-1', 'bqd')\">\n",
       "                <h2 class=\"ppy-h2\">Gaussian_blur</h2>\n",
       "                <h3 class=\"ppy-h3\">Type: Colour</h2>\n",
       "            </div>\n",
       "        <div class='ppy-pipeline-arrow'><svg class='icon ppy-arrow-right'><use xlink:href='#arrow-right'></use></svg></div>\n",
       "            <div id=\"ppy-pipeline-bqd-step-2\" title=\"Click to see more information\"\n",
       "                class=\"ppy-pipeline ppy-pipeline-bqd\" onclick=\"showParameters('step-2', 'bqd')\">\n",
       "                <h2 class=\"ppy-h2\">Sharpen</h2>\n",
       "                <h3 class=\"ppy-h3\">Type: Colour</h2>\n",
       "            </div>\n",
       "        <div class='ppy-pipeline-arrow'><svg class='icon ppy-arrow-right'><use xlink:href='#arrow-right'></use></svg></div>\n",
       "            <div id=\"ppy-pipeline-bqd-step-3\" title=\"Click to see more information\"\n",
       "                class=\"ppy-pipeline ppy-pipeline-bqd\" onclick=\"showParameters('step-3', 'bqd')\">\n",
       "                <h2 class=\"ppy-h2\">Contrast</h2>\n",
       "                <h3 class=\"ppy-h3\">Type: Colour</h2>\n",
       "            </div>\n",
       "        \n",
       "    </div>\n",
       "    <div id=\"ppy-pipeline-parameters\" class=\"ppy-pipeline-parameters-all\">\n",
       "            <div id=\"ppy-pipeline-parameters-bqd-step-0\"\n",
       "                class=\"ppy-pipeline-parameters ppy-pipeline-parameters-bqd\"\n",
       "                style=\"display: none;\">\n",
       "                <h4 class=\"ppy-h4\">Parameters:</h4>\n",
       "                <pre class=\"ppy-json-block\"><span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"colour_alteration\"</span>\n",
       "<span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "<span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">params</span>:\n",
       "  <span class=\"ppy-json-key\">method</span>: <span class=\"ppy-json-string\">\"white_balance\"</span>\n",
       "  <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"colour_alteration\"</span></pre>\n",
       "            </div>\n",
       "        \n",
       "            <div id=\"ppy-pipeline-parameters-bqd-step-1\"\n",
       "                class=\"ppy-pipeline-parameters ppy-pipeline-parameters-bqd\"\n",
       "                style=\"display: none;\">\n",
       "                <h4 class=\"ppy-h4\">Parameters:</h4>\n",
       "                <pre class=\"ppy-json-block\"><span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"gaussian_blur\"</span>\n",
       "<span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "<span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">params</span>:\n",
       "  <span class=\"ppy-json-key\">sigma</span>: <span class=\"ppy-json-number\">1.0</span>\n",
       "  <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"gaussian_blur\"</span></pre>\n",
       "            </div>\n",
       "        \n",
       "            <div id=\"ppy-pipeline-parameters-bqd-step-2\"\n",
       "                class=\"ppy-pipeline-parameters ppy-pipeline-parameters-bqd\"\n",
       "                style=\"display: none;\">\n",
       "                <h4 class=\"ppy-h4\">Parameters:</h4>\n",
       "                <pre class=\"ppy-json-block\"><span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"sharpen\"</span>\n",
       "<span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "<span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">params</span>:\n",
       "  <span class=\"ppy-json-key\">alpha</span>: <span class=\"ppy-json-number\">1.5</span>\n",
       "  <span class=\"ppy-json-key\">beta</span>: <span class=\"ppy-json-number\">-0.5</span>\n",
       "  <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"sharpen\"</span></pre>\n",
       "            </div>\n",
       "        \n",
       "            <div id=\"ppy-pipeline-parameters-bqd-step-3\"\n",
       "                class=\"ppy-pipeline-parameters ppy-pipeline-parameters-bqd\"\n",
       "                style=\"display: none;\">\n",
       "                <h4 class=\"ppy-h4\">Parameters:</h4>\n",
       "                <pre class=\"ppy-json-block\"><span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"contrast\"</span>\n",
       "<span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"colour\"</span>\n",
       "<span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">params</span>:\n",
       "  <span class=\"ppy-json-key\">method</span>: <span class=\"ppy-json-string\">\"clahe\"</span>\n",
       "  <span class=\"ppy-json-key\">clip_limit</span>: <span class=\"ppy-json-number\">0.01</span>\n",
       "  <span class=\"ppy-json-key\">gamma_value</span>: <span class=\"ppy-json-number\">0.5</span>\n",
       "  <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"contrast\"</span></pre>\n",
       "            </div>\n",
       "        \n",
       "        <div id=\"ppy-pipeline-parameters-bqd-general\" class=\"ppy-pipeline-parameters ppy-pipeline-parameters-bqd\"\n",
       "            style=\"display: none;\">\n",
       "            <h4 class=\"ppy-h4\">Parameters:</h4>\n",
       "            <pre class=\"ppy-json-block\"><span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"raw\"</span>\n",
       "<span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"open\"</span>\n",
       "<span class=\"ppy-json-key\">sample_data</span>: <span class=\"ppy-json-string\">\"benthic_csv\"</span>\n",
       "<span class=\"ppy-json-key\">input_path</span>: <span class=\"ppy-json-string\">\"/home/tobfer/.paidiverpy_cache/benthic_csv/images\"</span>\n",
       "<span class=\"ppy-json-key\">output_path</span>: <span class=\"ppy-json-string\">\"output\"</span>\n",
       "<span class=\"ppy-json-key\">metadata_path</span>: <span class=\"ppy-json-string\">\"/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/metadata_benthic_csv.csv\"</span>\n",
       "<span class=\"ppy-json-key\">metadata_type</span>: <span class=\"ppy-json-string\">\"CSV_FILE\"</span>\n",
       "<span class=\"ppy-json-key\">image_open_args</span>: <span class=\"ppy-json-string\">\"PNG\"</span>\n",
       "<span class=\"ppy-json-key\">append_data_to_metadata</span>: <span class=\"ppy-json-string\">\"/home/tobfer/.paidiverpy_cache/benthic_csv/metadata/appended_metadata_benthic_csv.csv\"</span>\n",
       "<span class=\"ppy-json-key\">n_jobs</span>: <span class=\"ppy-json-number\">2</span>\n",
       "<span class=\"ppy-json-key\">client</span>:\n",
       "  <span class=\"ppy-json-key\">cluster_type</span>: <span class=\"ppy-json-string\">\"local\"</span>\n",
       "  <span class=\"ppy-json-key\">params</span>:\n",
       "    <span class=\"ppy-json-key\">n_workers</span>: <span class=\"ppy-json-number\">4</span>\n",
       "    <span class=\"ppy-json-key\">threads_per_worker</span>: <span class=\"ppy-json-number\">4</span>\n",
       "    <span class=\"ppy-json-key\">memory_limit</span>: <span class=\"ppy-json-string\">\"8GB\"</span>\n",
       "<span class=\"ppy-json-key\">track_changes</span>: <span class=\"ppy-json-number\">False</span>\n",
       "<span class=\"ppy-json-key\">sampling</span>:\n",
       "  - <span class=\"ppy-json-key\">name</span>: <span class=\"ppy-json-string\">\"sampling\"</span>\n",
       "    <span class=\"ppy-json-key\">step_name</span>: <span class=\"ppy-json-string\">\"sampling\"</span>\n",
       "    <span class=\"ppy-json-key\">test</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">params</span>:\n",
       "      <span class=\"ppy-json-key\">value</span>: <span class=\"ppy-json-number\">20</span>\n",
       "      <span class=\"ppy-json-key\">raise_error</span>: <span class=\"ppy-json-number\">False</span>\n",
       "    <span class=\"ppy-json-key\">mode</span>: <span class=\"ppy-json-string\">\"fixed\"</span></pre>\n",
       "        </div>\n",
       "    </div>\n",
       "    </div></div>"
      ],
      "text/plain": [
       "<paidiverpy.pipeline.pipeline.Pipeline at 0x7f2f41bc7670>"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# See the pipeline steps. Click in a step to see more information about it\n",
    "pipeline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "addc1552-6cff-478c-b4db-b10982f0b068",
   "metadata": {},
   "source": [
    "## Run the pipeline\n",
    "\n",
    "You can follow the workers on the dashboard provided"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "ff65e6e0-ea33-4d43-be36-ea704436b1fe",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n",
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:45:53 | Processing images using Dask client using the following dashboard link: http://127.0.0.1:41597/status\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Processing images using Dask client using the following dashboard link: http://127.0.0.1:41597/status\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:45:53 | Running step 0: raw - OpenLayer\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Running step 0: raw - OpenLayer\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:45:58 | Step 0 completed\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Step 0 completed\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:45:59 | Running step 1: colour_alteration - ColourLayer\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Running step 1: colour_alteration - ColourLayer\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:46:02 | Step 1 completed\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Step 1 completed\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:46:03 | Running step 2: gaussian_blur - ColourLayer\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Running step 2: gaussian_blur - ColourLayer\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:46:08 | Step 2 completed\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Step 2 completed\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:46:08 | Running step 3: sharpen - ColourLayer\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Running step 3: sharpen - ColourLayer\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:46:16 | Step 3 completed\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Step 3 completed\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:46:16 | Running step 4: contrast - ColourLayer\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Running step 4: contrast - ColourLayer\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[92m☁ paidiverpy ☁  |       INFO | 2025-09-11 16:46:22 | Step 4 completed\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:paidiverpy:Step 4 completed\n"
     ]
    }
   ],
   "source": [
    "# Run the pipeline\n",
    "pipeline.run()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "037f8ab7-dff4-4efd-8f3b-d1bfebe9ccd5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "    <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\"> </div>\n",
       "    <div style=\"margin-left: 48px;\">\n",
       "        <h3 style=\"margin-bottom: 0px;\">Client</h3>\n",
       "        <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Client-65f92a3e-8f26-11f0-9513-286b35a3c2e4</p>\n",
       "        <table style=\"width: 100%; text-align: left;\">\n",
       "\n",
       "        <tr>\n",
       "        \n",
       "            <td style=\"text-align: left;\"><strong>Connection method:</strong> Cluster object</td>\n",
       "            <td style=\"text-align: left;\"><strong>Cluster type:</strong> distributed.LocalCluster</td>\n",
       "        \n",
       "        </tr>\n",
       "\n",
       "        \n",
       "            <tr>\n",
       "                <td style=\"text-align: left;\">\n",
       "                    <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:41597/status\" target=\"_blank\">http://127.0.0.1:41597/status</a>\n",
       "                </td>\n",
       "                <td style=\"text-align: left;\"></td>\n",
       "            </tr>\n",
       "        \n",
       "\n",
       "        </table>\n",
       "\n",
       "        \n",
       "\n",
       "        \n",
       "            <details>\n",
       "            <summary style=\"margin-bottom: 20px;\"><h3 style=\"display: inline;\">Cluster Info</h3></summary>\n",
       "            <div class=\"jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output\">\n",
       "    <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\">\n",
       "    </div>\n",
       "    <div style=\"margin-left: 48px;\">\n",
       "        <h3 style=\"margin-bottom: 0px; margin-top: 0px;\">LocalCluster</h3>\n",
       "        <p style=\"color: #9D9D9D; margin-bottom: 0px;\">945c2799</p>\n",
       "        <table style=\"width: 100%; text-align: left;\">\n",
       "            <tr>\n",
       "                <td style=\"text-align: left;\">\n",
       "                    <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:41597/status\" target=\"_blank\">http://127.0.0.1:41597/status</a>\n",
       "                </td>\n",
       "                <td style=\"text-align: left;\">\n",
       "                    <strong>Workers:</strong> 2\n",
       "                </td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                <td style=\"text-align: left;\">\n",
       "                    <strong>Total threads:</strong> 8\n",
       "                </td>\n",
       "                <td style=\"text-align: left;\">\n",
       "                    <strong>Total memory:</strong> 14.90 GiB\n",
       "                </td>\n",
       "            </tr>\n",
       "            \n",
       "            <tr>\n",
       "    <td style=\"text-align: left;\"><strong>Status:</strong> running</td>\n",
       "    <td style=\"text-align: left;\"><strong>Using processes:</strong> True</td>\n",
       "</tr>\n",
       "\n",
       "            \n",
       "        </table>\n",
       "\n",
       "        <details>\n",
       "            <summary style=\"margin-bottom: 20px;\">\n",
       "                <h3 style=\"display: inline;\">Scheduler Info</h3>\n",
       "            </summary>\n",
       "\n",
       "            <div style=\"\">\n",
       "    <div>\n",
       "        <div style=\"width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;\"> </div>\n",
       "        <div style=\"margin-left: 48px;\">\n",
       "            <h3 style=\"margin-bottom: 0px;\">Scheduler</h3>\n",
       "            <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Scheduler-e7a1067b-2897-4b91-94dc-08f42ed45df8</p>\n",
       "            <table style=\"width: 100%; text-align: left;\">\n",
       "                <tr>\n",
       "                    <td style=\"text-align: left;\">\n",
       "                        <strong>Comm:</strong> tcp://127.0.0.1:38071\n",
       "                    </td>\n",
       "                    <td style=\"text-align: left;\">\n",
       "                        <strong>Workers:</strong> 2\n",
       "                    </td>\n",
       "                </tr>\n",
       "                <tr>\n",
       "                    <td style=\"text-align: left;\">\n",
       "                        <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:41597/status\" target=\"_blank\">http://127.0.0.1:41597/status</a>\n",
       "                    </td>\n",
       "                    <td style=\"text-align: left;\">\n",
       "                        <strong>Total threads:</strong> 8\n",
       "                    </td>\n",
       "                </tr>\n",
       "                <tr>\n",
       "                    <td style=\"text-align: left;\">\n",
       "                        <strong>Started:</strong> 2 minutes ago\n",
       "                    </td>\n",
       "                    <td style=\"text-align: left;\">\n",
       "                        <strong>Total memory:</strong> 14.90 GiB\n",
       "                    </td>\n",
       "                </tr>\n",
       "            </table>\n",
       "        </div>\n",
       "    </div>\n",
       "\n",
       "    <details style=\"margin-left: 48px;\">\n",
       "        <summary style=\"margin-bottom: 20px;\">\n",
       "            <h3 style=\"display: inline;\">Workers</h3>\n",
       "        </summary>\n",
       "\n",
       "        \n",
       "        <div style=\"margin-bottom: 20px;\">\n",
       "            <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
       "            <div style=\"margin-left: 48px;\">\n",
       "            <details>\n",
       "                <summary>\n",
       "                    <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 0</h4>\n",
       "                </summary>\n",
       "                <table style=\"width: 100%; text-align: left;\">\n",
       "                    <tr>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Comm: </strong> tcp://127.0.0.1:45173\n",
       "                        </td>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Total threads: </strong> 4\n",
       "                        </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:36495/status\" target=\"_blank\">http://127.0.0.1:36495/status</a>\n",
       "                        </td>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Memory: </strong> 7.45 GiB\n",
       "                        </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Nanny: </strong> tcp://127.0.0.1:37299\n",
       "                        </td>\n",
       "                        <td style=\"text-align: left;\"></td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <td colspan=\"2\" style=\"text-align: left;\">\n",
       "                            <strong>Local directory: </strong> /tmp/dask-scratch-space/worker-v_1rrta7\n",
       "                        </td>\n",
       "                    </tr>\n",
       "\n",
       "                    \n",
       "\n",
       "                    \n",
       "\n",
       "                </table>\n",
       "            </details>\n",
       "            </div>\n",
       "        </div>\n",
       "        \n",
       "        <div style=\"margin-bottom: 20px;\">\n",
       "            <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
       "            <div style=\"margin-left: 48px;\">\n",
       "            <details>\n",
       "                <summary>\n",
       "                    <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 1</h4>\n",
       "                </summary>\n",
       "                <table style=\"width: 100%; text-align: left;\">\n",
       "                    <tr>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Comm: </strong> tcp://127.0.0.1:35385\n",
       "                        </td>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Total threads: </strong> 4\n",
       "                        </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:37875/status\" target=\"_blank\">http://127.0.0.1:37875/status</a>\n",
       "                        </td>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Memory: </strong> 7.45 GiB\n",
       "                        </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <td style=\"text-align: left;\">\n",
       "                            <strong>Nanny: </strong> tcp://127.0.0.1:43791\n",
       "                        </td>\n",
       "                        <td style=\"text-align: left;\"></td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <td colspan=\"2\" style=\"text-align: left;\">\n",
       "                            <strong>Local directory: </strong> /tmp/dask-scratch-space/worker-22fwjril\n",
       "                        </td>\n",
       "                    </tr>\n",
       "\n",
       "                    \n",
       "\n",
       "                    \n",
       "\n",
       "                </table>\n",
       "            </details>\n",
       "            </div>\n",
       "        </div>\n",
       "        \n",
       "\n",
       "    </details>\n",
       "</div>\n",
       "\n",
       "        </details>\n",
       "    </div>\n",
       "</div>\n",
       "            </details>\n",
       "        \n",
       "\n",
       "    </div>\n",
       "</div>"
      ],
      "text/plain": [
       "<Client: No scheduler connected>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipeline.client"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "328e6efb-6c10-4332-ab1f-019f04dd1950",
   "metadata": {},
   "source": [
    "## See the images\n",
    "\n",
    "Because you include in the configuration file the argument \"track_changes: False\", only the output of the last layer will be saved.\n",
    "This is a strategy to save memory when you are processing a big dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "563cb307-28ab-4543-85b8-1b728acf5cfc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"arrow-right\" viewBox=\"0 0 330 330\">\n",
       "  <path id=\"XMLID_222_\" d=\"M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001\n",
       "\tc-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213\n",
       "\tC82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606\n",
       "\tC255,161.018,253.42,157.202,250.606,154.389z\"/>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying Paidiverpy objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --ppy-font-color: var(--jp-content-font-color, rgba(0, 0, 0, 1));\n",
       "  --ppy-font-color-brown: var(--jp-content-font-color-brown, brown);\n",
       "  --ppy-font-color-olive: var(--jp-content-font-color-olive, olive);\n",
       "  --ppy-font-color-teal: var(--jp-content-font-color-teal, teal);\n",
       "  --ppy-font-color-blue: var(--jp-content-font-color-blue, blue);\n",
       "  --ppy-font-color-gray: var(--jp-content-font-color-gray, gray);\n",
       "  --ppy-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --ppy-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --ppy-background-color: var(--jp-layout-color, white);\n",
       "  --ppy-background-color2: var(--jp-layout-color3, rgba(212, 212, 212, 0.15));\n",
       "}\n",
       "\n",
       "\n",
       "html[theme=\"dark\"],\n",
       "html[data-theme=\"dark\"],\n",
       "body[data-theme=\"dark\"],\n",
       "body.vscode-dark {\n",
       "  --ppy-font-color: rgba(255, 255, 255, 1);\n",
       "  --ppy-font-color-brown: brown;\n",
       "  --ppy-font-color-olive: olive;\n",
       "  --ppy-font-color-teal: teal;\n",
       "  --ppy-font-color-blue: blue;\n",
       "  --ppy-font-color-gray: gray;\n",
       "  --ppy-border-color: #1f1f1f;\n",
       "  --ppy-disabled-color: #515151;\n",
       "  --ppy-background-color: #111111;\n",
       "}\n",
       "\n",
       ".ppy-background-color {\n",
       "  background-color: var(--ppy-background-color) !important;\n",
       "}\n",
       "\n",
       ".ppy-font-color-brown {\n",
       "  color: var(--ppy-font-color-brown) !important;\n",
       "}\n",
       "\n",
       ".ppy-font-color {\n",
       "  color: var(--ppy-font-color) !important;\n",
       "}\n",
       ".ppy-h2 {\n",
       "  font-size: 20px !important;\n",
       "}\n",
       ".ppy-h3 {\n",
       "  font-size: 13px !important;\n",
       "}\n",
       ".ppy-p {\n",
       "  font-size: 10px;\n",
       "}\n",
       ".ppy-p-error {\n",
       "  color: var(--ppy-font-color-brown);\n",
       "  font-weight: bold;\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".ppy-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".ppy-pipeline-wrap{\n",
       "  display: flex;\n",
       "  flex-wrap: wrap;\n",
       "  align-items: center;\n",
       "}\n",
       "\n",
       ".ppy-pipeline {\n",
       "  float:left;\n",
       "  cursor: pointer;\n",
       "  padding: 10px;\n",
       "  width: max-content;\n",
       "  height: 150px;\n",
       "  margin: 10px;\n",
       "  border: 1px solid #000;\n",
       "  text-align: center;\n",
       "  /* line-height: 80px; */\n",
       "}\n",
       "\n",
       ".ppy-pipeline-clear-fix {\n",
       "  clear: both;\n",
       "}\n",
       "\n",
       ".ppy-pipeline-parameters-all {\n",
       "  padding: 10px;\n",
       "  margin: 10px;\n",
       "}\n",
       "\n",
       ".ppy-images-step-header {\n",
       "  cursor: pointer;\n",
       "  font-weight: bold;\n",
       "  margin-top: 10px;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       ".ppy-images-metadata {\n",
       "  margin-left: 20px;\n",
       "  margin-bottom: 10px;\n",
       "}\n",
       ".ppy-images {\n",
       "  display: flex;\n",
       "  flex-wrap: wrap;\n",
       "  gap: 10px;\n",
       "  margin-left: 20px;\n",
       "}\n",
       "\n",
       ".ppy-show-more-button, .ppy-hide-button {\n",
       "  margin-left: 20px;\n",
       "  background-color: #007bff;\n",
       "  color: white;\n",
       "  border: none;\n",
       "  padding: 5px 10px;\n",
       "  cursor: pointer;\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pipeline-arrow {\n",
       "  float:left;\n",
       "  width: 50px;\n",
       "  height: 80px;\n",
       "  margin: 10px;\n",
       "  text-align: center;\n",
       "  line-height: 80px;\n",
       "}\n",
       "\n",
       ".ppy-images-img{\n",
       "  display: block;\n",
       "  max-width: 200px;\n",
       "  margin: 10px;\n",
       "}\n",
       "\n",
       ".ppy-images-toggle-arrow {\n",
       "  cursor: pointer;\n",
       "  margin-left: 5px;\n",
       "}\n",
       "\n",
       ".ppy-images-image-p {\n",
       "  cursor: pointer;\n",
       "}\n",
       "\n",
       ".ppy-arrow-right {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-json-block {\n",
       "  font-family: monospace;\n",
       "  background: var(--ppy-background-color);\n",
       "  padding: 1em;\n",
       "  border-radius: 6px;\n",
       "}\n",
       ".ppy-json-key {\n",
       "  color: var(--ppy-font-color-brown);\n",
       "}\n",
       ".ppy-json-string {\n",
       "  color: var(--ppy-font-color-olive);\n",
       "}\n",
       ".ppy-json-number {\n",
       "  color: var(--ppy-font-color-teal);\n",
       "}\n",
       ".ppy-json-bool {\n",
       "  color: var(--ppy-font-color-blue);\n",
       "}\n",
       ".ppy-json-null {\n",
       "  color: var(--ppy-font-color-gray);\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pn-title-0 {\n",
       "  font-size: 30px;\n",
       "}\n",
       "\n",
       ".ppy-pn-title-1 {\n",
       "  font-size: 20px;\n",
       "}\n",
       ".ppy-pn-title-2 {\n",
       "  font-size: 17px;\n",
       "}\n",
       ".ppy-pn-title-3 {\n",
       "  font-size: 14px;\n",
       "}\n",
       ".ppy-pn-title-4 {\n",
       "  font-size: 12px;\n",
       "}\n",
       "\n",
       ".ppy-pn-bold {\n",
       "  font-weight: bold;\n",
       "}\n",
       ".ppy-pn-italic {\n",
       "  font-style: italic;\n",
       "}\n",
       ".ppy-pn-description {\n",
       "  font-size: 14px;\n",
       "  margin-bottom: 1px;\n",
       "}\n",
       "\n",
       ".bk-root {\n",
       "  width: 100% !important;\n",
       "  max-width: 100% !important;\n",
       "  box-sizing: border-box;\n",
       "}\n",
       "\n",
       "input, .bk-input, .bk-input-group {\n",
       "  margin-top: 0px;\n",
       "  margin-bottom: 3px;\n",
       "  padding-top: 0px;\n",
       "  padding-bottom: 0px;\n",
       "}\n",
       "\n",
       ".ppy-pn-header-button .bk-btn {\n",
       "  background: none !important;\n",
       "  border: none !important;\n",
       "  font-weight: bold;\n",
       "  font-size: 16px;\n",
       "  text-align: left;\n",
       "  padding-left: 0;\n",
       "  cursor: pointer;\n",
       "  box-shadow: none !important;\n",
       "  color: black;\n",
       "}\n",
       "\n",
       ".ppy-pn-danger-modal{\n",
       "  border: 2px solid red;\n",
       "  border-radius: 10px;\n",
       "  box-shadow: 0px 0px 10px rgba(255, 0, 0, 0.5);\n",
       "}\n",
       "\n",
       ".ppy-pn-config-form{\n",
       "  padding: 10px;\n",
       "  margin-top: 10px;\n",
       "  margin-bottom: 10px;\n",
       "  background-color: var(--ppy-background-color2);\n",
       "  border-radius: 5px;\n",
       "  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);\n",
       "}\n",
       "\n",
       "\n",
       ".ppy-pn-align-right {\n",
       "  display: flex;\n",
       "  justify-content: flex-end;\n",
       "}\n",
       "</style><script>function toggleMetadata(stepIndex, randomId) {\n",
       "  var metadata = document.getElementById(\"ppy-images-metadata-\" + randomId + \"-\" + stepIndex);\n",
       "  var arrow = document.getElementById(\"ppy-images-arrow-\" + randomId + \"-\" + stepIndex);\n",
       "  if (metadata.style.display === \"none\") {\n",
       "      metadata.style.display = \"block\";\n",
       "      arrow.innerHTML = \"▼\";\n",
       "      arrow.classList.remove(\"ppy-font-color\");\n",
       "      arrow.classList.add(\"ppy-font-color-brown\");\n",
       "  } else {\n",
       "      metadata.style.display = \"none\";\n",
       "      arrow.innerHTML = \"►\";\n",
       "      arrow.classList.remove(\"ppy-font-color-brown\");\n",
       "      arrow.classList.add(\"ppy-font-color\");\n",
       "  }\n",
       "}\n",
       "function toggleImage(imageId, randomId) {\n",
       "  var img = document.getElementById(imageId);\n",
       "  var arrow = document.getElementById(\"ppy-images-arrow-\" + randomId + \"-\" + imageId);\n",
       "  if (img.style.display === \"none\") {\n",
       "      img.style.display = \"block\";\n",
       "      arrow.innerHTML = \"▼\";\n",
       "      arrow.classList.remove(\"ppy-font-color\");\n",
       "      arrow.classList.add(\"ppy-font-color-brown\");\n",
       "  } else {\n",
       "      img.style.display = \"none\";\n",
       "      arrow.innerHTML = \"►\";\n",
       "      arrow.classList.remove(\"ppy-font-color-brown\");\n",
       "      arrow.classList.add(\"ppy-font-color\");\n",
       "  }\n",
       "}\n",
       "function showMore(stepIndex) {\n",
       "  var moreImages = document.getElementById(\"ppy-more-images-\" + stepIndex);\n",
       "  var showMoreButton = document.getElementById(\"ppy-show-more-button-\" + stepIndex);\n",
       "  var hideButton = document.getElementById(\"ppy-hide-button-\" + stepIndex);\n",
       "  moreImages.style.display = \"flex\";\n",
       "  showMoreButton.style.display = \"none\";\n",
       "  hideButton.style.display = \"inline-block\";\n",
       "}\n",
       "function hide(stepIndex) {\n",
       "  var moreImages = document.getElementById(\"ppy-more-images-\" + stepIndex);\n",
       "  var showMoreButton = document.getElementById(\"ppy-show-more-button-\" + stepIndex);\n",
       "  var hideButton = document.getElementById(\"ppy-hide-button-\" + stepIndex);\n",
       "  moreImages.style.display = \"none\";\n",
       "  showMoreButton.style.display = \"inline-block\";\n",
       "  hideButton.style.display = \"none\";\n",
       "}\n",
       "\n",
       "\n",
       "function showParameters(id, randomId) {\n",
       "  var currentTarget = document.getElementById('ppy-pipeline-' + randomId + '-' + id);\n",
       "  var square = document.getElementsByClassName('ppy-pipeline-' + randomId);\n",
       "  var allParams = document.getElementsByClassName('ppy-pipeline-parameters-' + randomId);\n",
       "  var selectedParams = document.getElementById('ppy-pipeline-parameters-' + randomId + '-' + id);\n",
       "  var idWasVisible = false;\n",
       "  if (selectedParams) {\n",
       "      var idWasVisible = selectedParams.style.display === 'block';\n",
       "  }\n",
       "  for (var i = 0; i < square.length; i++) {\n",
       "      square[i].classList.remove('ppy-font-color-brown');\n",
       "      square[i].classList.add('ppy-font-color');\n",
       "  }\n",
       "  for (var i = 0; i < allParams.length; i++) {\n",
       "      allParams[i].style.display = 'none';\n",
       "  }\n",
       "  // Show the selected parameter section\n",
       "  if (selectedParams) {\n",
       "      if (idWasVisible) {\n",
       "          selectedParams.style.display = 'none';\n",
       "          currentTarget.classList.remove('ppy-font-color-brown');\n",
       "          currentTarget.classList.add('ppy-font-color');\n",
       "      } else {\n",
       "          selectedParams.style.display = 'block';\n",
       "          currentTarget.classList.remove('ppy-font-color');\n",
       "          currentTarget.classList.add('ppy-font-color-brown');\n",
       "      }\n",
       "  }\n",
       "}\n",
       "\n",
       "hljs.highlightAll();\n",
       "</script><link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css\"><script src=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js\"></script><script>hljs.highlightAll();</script><pre class='ppy-text-repr-fallback'>&lt;paidiverpy.images_layer.ImagesLayer object at 0x7f2eeabaf040&gt;</pre><div>\n",
       "            <div class='ppy-h2 ppy-images-step-header' onclick='toggleMetadata(0, \"wfk\")'>\n",
       "                Step 0: raw\n",
       "                <span id='ppy-images-arrow-wfk-0'\n",
       "                    class='ppy-images-toggle-arrow ppy-font-color-brown'>▼\n",
       "                </span>\n",
       "            </div>\n",
       "            <div id='ppy-images-metadata-wfk-0' class='ppy-images-metadata' style='display:block;'><div class='ppy-images'><p class='ppy-p-error'>Images for this step were not saved</p></div></div>\n",
       "            <div class='ppy-h2 ppy-images-step-header' onclick='toggleMetadata(1, \"wfk\")'>\n",
       "                Step 1: colour_alteration\n",
       "                <span id='ppy-images-arrow-wfk-1'\n",
       "                    class='ppy-images-toggle-arrow ppy-font-color-brown'>▼\n",
       "                </span>\n",
       "            </div>\n",
       "            <div id='ppy-images-metadata-wfk-1' class='ppy-images-metadata' style='display:block;'><div class='ppy-images'><p class='ppy-p-error'>Images for this step were not saved</p></div></div>\n",
       "            <div class='ppy-h2 ppy-images-step-header' onclick='toggleMetadata(2, \"wfk\")'>\n",
       "                Step 2: gaussian_blur\n",
       "                <span id='ppy-images-arrow-wfk-2'\n",
       "                    class='ppy-images-toggle-arrow ppy-font-color-brown'>▼\n",
       "                </span>\n",
       "            </div>\n",
       "            <div id='ppy-images-metadata-wfk-2' class='ppy-images-metadata' style='display:block;'><div class='ppy-images'><p class='ppy-p-error'>Images for this step were not saved</p></div></div>\n",
       "            <div class='ppy-h2 ppy-images-step-header' onclick='toggleMetadata(3, \"wfk\")'>\n",
       "                Step 3: sharpen\n",
       "                <span id='ppy-images-arrow-wfk-3'\n",
       "                    class='ppy-images-toggle-arrow ppy-font-color-brown'>▼\n",
       "                </span>\n",
       "            </div>\n",
       "            <div id='ppy-images-metadata-wfk-3' class='ppy-images-metadata' style='display:block;'><div class='ppy-images'><p class='ppy-p-error'>Images for this step were not saved</p></div></div>\n",
       "            <div class='ppy-h2 ppy-images-step-header' onclick='toggleMetadata(4, \"wfk\")'>\n",
       "                Step 4: contrast\n",
       "                <span id='ppy-images-arrow-wfk-4'\n",
       "                    class='ppy-images-toggle-arrow ppy-font-color-brown'>▼\n",
       "                </span>\n",
       "            </div>\n",
       "            <div id='ppy-images-metadata-wfk-4' class='ppy-images-metadata' style='display:block;'><div class='ppy-images'>\n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-0\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041431.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-0' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-0'\n",
       "                src='data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACAAIADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDJngHl9PyrLlhXnit+aPcpxxWTOu0mtWQYt3B8prn7pdxI6V0l6+FAHpWK6GQk4xUsZjy25K7v1qs9uTzj9K3pIR5ZHGaovGFzzUjM5bcACkeAE8Crcw2r/hSRKNoxyPSgCBLUYz0q5bQAHLcmpVjBwMVZhTOOMUATRQjjjmrsSEnAFNt48gZFacESjnHNAE1unyDjmtG1iLGoYIq17ODkZFAy3BCrKv61pw2+T04xUVvAB0HFa1tDkAY7UAc3OgwR2rGuouDgV0E2CuR1rJucKST0NaszOauo8jms94wP8a3bqIHPp2rJlXJOFqGUZ0isQwPeqUseOD+darJyTVG4XcSOlIZnyDIzRHgLSnAbZnNPEZA4xSAmVM9O1WYeTjFRRAlelW4IyGyen0oAvWykcEDArUt4wWGaz4FrVtY+Rj60hmhbRcqBW3Zw8jI4rPtEG7Fb1rGMCgC7BEMcCtGGHaOnNMtYRgZFasMII5HTvTA8/mO0cjFZk7A5rTnyQT171jTnk8VqzMz7kjBx61QkVScjr3q1ckgnFZ7EgkmoZRUuM7jVOQ5TPetBl39etUZ4yuVFIZnOnz8daliXPXtQsZ78VIoC9KQE8Sg4q9FESOO9U06jFakA+XigCzBHyK1bUYPSqcC4GcVrW8YbFIZftEGc963rMZC8VkWoG7FbtmnKgUAbNtHwOlaUC4wCKp2gGRWvBEAM1QHmt1H8mT6VgXQK54611NymR71z95HgkenetGZowZ0ypzVBgD6jFac/ykjtVHZub2qCiqEWq88XOetXZRh+OlV5cngUhmW6r78VHzVtosHnINVpFKtzSAkhJYiti26CseAkEc1sW/BFAGvboCQOa1bdeAuO9ZlqQcYrZtwOD1OaQzQt48MOM1v2ceAp6CsW1Ql1NdBbpiMGgDRt8AjFbtqCyDisGzALCum09AV59KpAecXa4HvXO3YJ611t3ANprnb6HYDxxWjM0czcJk+1UyoRjurSuM5JFUJiM4qGUVZsA5PQiqzqBk1YcAse9QSsNxFIZTlbJxiqsiZ596vPtaq7p83sKQDIU+YccVqQnBA+lUI+o+lWoThs/hikBuWjAY5rctWA2nHNYNkd2Bmty2IyB1oGbtsemK24XygFYFo3zDmty2GRnPIoA1LT7y10+nkFPfFczaEbh6V0lgRt4NUgONvFG3pXN6h0P0rpLptyGuX1CTCnitGQjnbogZwKzJeecVoT5aqMxwDUMZTkPJIqo5+Yk1PK55FU3l2tikMbkFjQeaiyd2e9SgdM8UgEC4bNWoxhhUJUDvU6cHqBSGaNtkYratpMKMdKwrdu+a17aQcCgDobI5K5Ofet+1dRgGuZtJgMYrWhlO4cigDo4GBPFdHpbZQZPNcnbSjAHJrptPlUIPWqQHK3bfLxXMaiNxNdBdPgH2Fc3fvyT6VoyEYk42nOazZiOa0bg9TmsW6c59qhjKrnOfXrVGYg/KTzU8jlec9apzMOp61IxUbHBqZXz0GTVF5T1ziiKfBIyaANLIOMVJvyBjrVAS5x7VbRyRkHmkMvQOePWtK1kJcYrHhYkg4rStzyCD1oA6S2YYGDitGGXAGe9YNvJjHNaVu53e1AHTWEx4FdJZMeO1cfZSHI9BXX2O0xjPpVIDk7qYlSSa5+8kzn3NbdzymPaudvyc+1aMkzLp8A4rFuGOSK0rhjg96zJsEHPWoYzPlbA5qnIctVuXLdqqSqcEjg1IFaWQA49O1RiT1FOdeCO4qLHX2oAtRuQwBNXon4zmsqPr71dibIoGacMwJGK0IZsd6xo2wMgVehfnmkBtwylgMGte1bAyevasG2b5Rg5rYt2JGaYHTae/zCuqspAExmuMsphtHPNdJYyscZ9KaA/9k='\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-1\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041441.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-1' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-1'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-2\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041501.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-2' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-2'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-3\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041521.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-3' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-3'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-4\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041541.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-4' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-4'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-5\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041551.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-5' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-5'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-6\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041601.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-6' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-6'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-7\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041611.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-7' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-7'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-8\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041621.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-8' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-8'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-9\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041701.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-9' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-9'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-10\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041811.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-10' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-10'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            \n",
       "        <div>\n",
       "            <p onclick='toggleImage(\"image-wfk-4-11\", \"wfk\")' class=\"ppy-images-image-p\" >\n",
       "                Image: 20180611041841.png\n",
       "                <span id='ppy-images-arrow-wfk-image-wfk-4-11' class='ppy-images-toggle-arrow ppy-font-color-brown'>▼</span>\n",
       "            </p>\n",
       "        \n",
       "            <img id='image-wfk-4-11'\n",
       "                src='data:image/jpeg;base64,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'\n",
       "                class='ppy-images-img'/></div>\n",
       "            </div></div></div></div>"
      ],
      "text/plain": [
       "<paidiverpy.images_layer.ImagesLayer at 0x7f2eeabaf040>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipeline.images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c6ad0fd-88f9-4597-bc4c-c19e365c5563",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
