diff --git a/notebooks/Colab_inference_demo.ipynb b/notebooks/Colab_inference_demo.ipynb index 00205f28..30259ccd 100644 --- a/notebooks/Colab_inference_demo.ipynb +++ b/notebooks/Colab_inference_demo.ipynb @@ -50,7 +50,7 @@ "metadata": { "id": "bnFKu6uFAm-z", "collapsed": true, - "outputId": "7ceffe09-b74a-43b9-b2e7-956199b2073e", + "outputId": "7affcbb6-ae7e-43a8-97e1-56029e79dcf4", "colab": { "base_uri": "https://localhost:8080/" } @@ -60,13 +60,166 @@ "output_type": "stream", "name": "stdout", "text": [ + "fatal: destination path './CellSeg3D' already exists and is not an empty directory.\n", + "Requirement already satisfied: napari-cellseg3d in /usr/local/lib/python3.10/dist-packages (0.2.1)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (1.26.4)\n", + "Requirement already satisfied: napari>=0.4.14 in /usr/local/lib/python3.10/dist-packages (from napari[all]>=0.4.14->napari-cellseg3d) (0.5.5)\n", + "Requirement already satisfied: QtPy in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (2.4.2)\n", + "Requirement already satisfied: scikit-image>=0.19.2 in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (0.25.0)\n", + "Requirement already satisfied: matplotlib>=3.4.1 in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (3.8.0)\n", + "Requirement already satisfied: tifffile>=2022.2.9 in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (2024.12.12)\n", + "Requirement already satisfied: imagecodecs>=2023.3.16 in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (2024.9.22)\n", + "Requirement already satisfied: torch>=1.11 in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (2.5.1+cu121)\n", + "Requirement already satisfied: monai>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from monai[einops,nibabel]>=0.9.0->napari-cellseg3d) (1.4.0)\n", + "Requirement already satisfied: itk in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (5.4.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (4.67.1)\n", + "Requirement already satisfied: pyclesperanto-prototype in /usr/local/lib/python3.10/dist-packages (from napari-cellseg3d) (0.24.5)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (1.3.1)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (4.55.3)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (24.2)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (11.0.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.4.1->napari-cellseg3d) (2.8.2)\n", + "Requirement already satisfied: einops in /usr/local/lib/python3.10/dist-packages (from monai[einops,nibabel]>=0.9.0->napari-cellseg3d) (0.8.0)\n", + "Requirement already satisfied: nibabel in /usr/local/lib/python3.10/dist-packages (from monai[einops,nibabel]>=0.9.0->napari-cellseg3d) (5.3.2)\n", + "Requirement already satisfied: appdirs>=1.4.4 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.4.4)\n", + "Requirement already satisfied: app-model<0.4.0,>=0.3.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.3.1)\n", + "Requirement already satisfied: cachey>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.2.1)\n", + "Requirement already satisfied: certifi>=2018.1.18 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2024.12.14)\n", + "Requirement already satisfied: dask>=2021.10.0 in /usr/local/lib/python3.10/dist-packages (from dask[array]>=2021.10.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2024.10.0)\n", + "Requirement already satisfied: imageio!=2.22.1,>=2.20 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.36.1)\n", + "Requirement already satisfied: jsonschema>=3.2.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (4.23.0)\n", + "Requirement already satisfied: lazy_loader>=0.2 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.4)\n", + "Requirement already satisfied: magicgui>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.10.0)\n", + "Requirement already satisfied: napari-console>=0.1.1 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.1.3)\n", + "Requirement already satisfied: napari-plugin-engine>=0.1.9 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.2.0)\n", + "Requirement already satisfied: napari-svg>=0.1.8 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.2.0)\n", + "Requirement already satisfied: npe2>=0.7.6 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.7.7)\n", + "Requirement already satisfied: numpydoc>=0.9.2 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.8.0)\n", + "Requirement already satisfied: pandas>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.2.2)\n", + "Requirement already satisfied: pint>=0.17 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.24.4)\n", + "Requirement already satisfied: psutil>=5.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.9.5)\n", + "Requirement already satisfied: psygnal>=0.5.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.11.1)\n", + "Requirement already satisfied: pydantic>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.10.3)\n", + "Requirement already satisfied: pygments>=2.6.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.18.0)\n", + "Requirement already satisfied: PyOpenGL>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (3.1.7)\n", + "Requirement already satisfied: PyYAML>=5.1 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (6.0.2)\n", + "Requirement already satisfied: scipy>=1.5.4 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.13.1)\n", + "Requirement already satisfied: superqt>=0.6.7 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.7.0)\n", + "Requirement already satisfied: toolz>=0.10.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.12.1)\n", + "Requirement already satisfied: typing_extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (4.12.2)\n", + "Requirement already satisfied: vispy<0.15,>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.14.3)\n", + "Requirement already satisfied: wrapt>=1.11.1 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.17.0)\n", + "Requirement already satisfied: napari-plugin-manager<0.2.0,>=0.1.3 in /usr/local/lib/python3.10/dist-packages (from napari[all]>=0.4.14->napari-cellseg3d) (0.1.3)\n", + "Requirement already satisfied: networkx>=3.0 in /usr/local/lib/python3.10/dist-packages (from scikit-image>=0.19.2->napari-cellseg3d) (3.4.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.11->napari-cellseg3d) (3.16.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.11->napari-cellseg3d) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.11->napari-cellseg3d) (2024.10.0)\n", + "Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.10/dist-packages (from torch>=1.11->napari-cellseg3d) (1.13.1)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy==1.13.1->torch>=1.11->napari-cellseg3d) (1.3.0)\n", + "Requirement already satisfied: itk-core==5.4.0 in /usr/local/lib/python3.10/dist-packages (from itk->napari-cellseg3d) (5.4.0)\n", + "Requirement already satisfied: itk-numerics==5.4.0 in /usr/local/lib/python3.10/dist-packages (from itk->napari-cellseg3d) (5.4.0)\n", + "Requirement already satisfied: itk-io==5.4.0 in /usr/local/lib/python3.10/dist-packages (from itk->napari-cellseg3d) (5.4.0)\n", + "Requirement already satisfied: itk-filtering==5.4.0 in /usr/local/lib/python3.10/dist-packages (from itk->napari-cellseg3d) (5.4.0)\n", + "Requirement already satisfied: itk-registration==5.4.0 in /usr/local/lib/python3.10/dist-packages (from itk->napari-cellseg3d) (5.4.0)\n", + "Requirement already satisfied: itk-segmentation==5.4.0 in /usr/local/lib/python3.10/dist-packages (from itk->napari-cellseg3d) (5.4.0)\n", + "Requirement already satisfied: pyopencl in /usr/local/lib/python3.10/dist-packages (from pyclesperanto-prototype->napari-cellseg3d) (2024.3)\n", + "Requirement already satisfied: transforms3d in /usr/local/lib/python3.10/dist-packages (from pyclesperanto-prototype->napari-cellseg3d) (0.4.2)\n", + "Requirement already satisfied: in-n-out>=0.1.5 in /usr/local/lib/python3.10/dist-packages (from app-model<0.4.0,>=0.3.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.2.1)\n", + "Requirement already satisfied: pydantic-compat>=0.1.1 in /usr/local/lib/python3.10/dist-packages (from app-model<0.4.0,>=0.3.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.1.2)\n", + "Requirement already satisfied: heapdict in /usr/local/lib/python3.10/dist-packages (from cachey>=0.2.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.0.1)\n", + "Requirement already satisfied: click>=8.1 in /usr/local/lib/python3.10/dist-packages (from dask>=2021.10.0->dask[array]>=2021.10.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (8.1.7)\n", + "Requirement already satisfied: cloudpickle>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from dask>=2021.10.0->dask[array]>=2021.10.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (3.1.0)\n", + "Requirement already satisfied: partd>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from dask>=2021.10.0->dask[array]>=2021.10.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.4.2)\n", + "Requirement already satisfied: importlib-metadata>=4.13.0 in /usr/local/lib/python3.10/dist-packages (from dask>=2021.10.0->dask[array]>=2021.10.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (8.5.0)\n", + "Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.2.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (24.3.0)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.2.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2024.10.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.2.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.35.1)\n", + "Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.2.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.22.3)\n", + "Requirement already satisfied: docstring-parser>=0.7 in /usr/local/lib/python3.10/dist-packages (from magicgui>=0.7.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.16)\n", + "Requirement already satisfied: IPython>=7.7.0 in /usr/local/lib/python3.10/dist-packages (from napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (7.34.0)\n", + "Requirement already satisfied: ipykernel>=5.2.0 in /usr/local/lib/python3.10/dist-packages (from napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.5.6)\n", + "Requirement already satisfied: qtconsole!=4.7.6,!=5.4.2,>=4.5.1 in /usr/local/lib/python3.10/dist-packages (from napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.6.1)\n", + "Requirement already satisfied: pip in /usr/local/lib/python3.10/dist-packages (from napari-plugin-manager<0.2.0,>=0.1.3->napari[all]>=0.4.14->napari-cellseg3d) (24.1.2)\n", + "Requirement already satisfied: build>=1 in /usr/local/lib/python3.10/dist-packages (from npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.2.2.post1)\n", + "Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (13.9.4)\n", + "Requirement already satisfied: tomli-w in /usr/local/lib/python3.10/dist-packages (from npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.1.0)\n", + "Requirement already satisfied: tomli in /usr/local/lib/python3.10/dist-packages (from npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.2.1)\n", + "Requirement already satisfied: typer in /usr/local/lib/python3.10/dist-packages (from npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.15.1)\n", + "Requirement already satisfied: sphinx>=6 in /usr/local/lib/python3.10/dist-packages (from numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (8.1.3)\n", + "Requirement already satisfied: tabulate>=0.8.10 in /usr/local/lib/python3.10/dist-packages (from numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.9.0)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.3.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.3.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2024.2)\n", + "Requirement already satisfied: platformdirs>=2.1.0 in /usr/local/lib/python3.10/dist-packages (from pint>=0.17->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (4.3.6)\n", + "Requirement already satisfied: flexcache>=0.3 in /usr/local/lib/python3.10/dist-packages (from pint>=0.17->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.3)\n", + "Requirement already satisfied: flexparser>=0.4 in /usr/local/lib/python3.10/dist-packages (from pint>=0.17->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.4)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=1.9.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.27.1 in /usr/local/lib/python3.10/dist-packages (from pydantic>=1.9.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.27.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.4.1->napari-cellseg3d) (1.17.0)\n", + "Requirement already satisfied: pooch>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from scikit-image[data]>=0.19.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.8.2)\n", + "Requirement already satisfied: freetype-py in /usr/local/lib/python3.10/dist-packages (from vispy<0.15,>=0.14.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.5.1)\n", + "Requirement already satisfied: hsluv in /usr/local/lib/python3.10/dist-packages (from vispy<0.15,>=0.14.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.0.4)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.11->napari-cellseg3d) (3.0.2)\n", + "Requirement already satisfied: triangle in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (20230923)\n", + "Requirement already satisfied: numba>=0.57.1 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.60.0)\n", + "Requirement already satisfied: zarr>=2.12.0 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.18.3)\n", + "Requirement already satisfied: importlib-resources>=5.12 in /usr/local/lib/python3.10/dist-packages (from nibabel->monai[einops,nibabel]>=0.9.0->napari-cellseg3d) (6.4.5)\n", + "Requirement already satisfied: pytools>=2024.1.5 in /usr/local/lib/python3.10/dist-packages (from pyopencl->pyclesperanto-prototype->napari-cellseg3d) (2024.1.21)\n", + "Requirement already satisfied: pyproject_hooks in /usr/local/lib/python3.10/dist-packages (from build>=1->npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.2.0)\n", + "Requirement already satisfied: zipp>=3.20 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata>=4.13.0->dask>=2021.10.0->dask[array]>=2021.10.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (3.21.0)\n", + "Requirement already satisfied: ipython-genutils in /usr/local/lib/python3.10/dist-packages (from ipykernel>=5.2.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.2.0)\n", + "Requirement already satisfied: traitlets>=4.1.0 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=5.2.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.7.1)\n", + "Requirement already satisfied: jupyter-client in /usr/local/lib/python3.10/dist-packages (from ipykernel>=5.2.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (6.1.12)\n", + "Requirement already satisfied: tornado>=4.2 in /usr/local/lib/python3.10/dist-packages (from ipykernel>=5.2.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (6.3.3)\n", + "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (75.1.0)\n", + "Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.19.2)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (4.4.2)\n", + "Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.7.5)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (3.0.48)\n", + "Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.2.0)\n", + "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.1.7)\n", + "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (4.9.0)\n", + "Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba>=0.57.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.43.0)\n", + "Requirement already satisfied: locket in /usr/local/lib/python3.10/dist-packages (from partd>=1.4.0->dask>=2021.10.0->dask[array]>=2021.10.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.0.0)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from pooch>=1.6.0->scikit-image[data]>=0.19.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.32.3)\n", + "Requirement already satisfied: jupyter-core in /usr/local/lib/python3.10/dist-packages (from qtconsole!=4.7.6,!=5.4.2,>=4.5.1->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.7.2)\n", + "Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.0.0)\n", + "Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.0.0)\n", + "Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.1.0)\n", + "Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.0.1)\n", + "Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.0.0)\n", + "Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.0.0)\n", + "Requirement already satisfied: docutils<0.22,>=0.20 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.21.2)\n", + "Requirement already satisfied: snowballstemmer>=2.2 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.2.0)\n", + "Requirement already satisfied: babel>=2.13 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.16.0)\n", + "Requirement already satisfied: alabaster>=0.7.14 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.0.0)\n", + "Requirement already satisfied: imagesize>=1.3 in /usr/local/lib/python3.10/dist-packages (from sphinx>=6->numpydoc>=0.9.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.4.1)\n", + "Requirement already satisfied: pyconify>=0.1.4 in /usr/local/lib/python3.10/dist-packages (from superqt[iconify]>=0.6.1->magicgui>=0.7.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.1.6)\n", + "Requirement already satisfied: asciitree in /usr/local/lib/python3.10/dist-packages (from zarr>=2.12.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.3.3)\n", + "Requirement already satisfied: numcodecs>=0.10.0 in /usr/local/lib/python3.10/dist-packages (from zarr>=2.12.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.13.1)\n", + "Requirement already satisfied: fasteners in /usr/local/lib/python3.10/dist-packages (from zarr>=2.12.0->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.19)\n", + "Requirement already satisfied: PyQt5!=5.15.0,>=5.13.2 in /usr/local/lib/python3.10/dist-packages (from napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.15.11)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (3.0.0)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from typer->npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (1.5.4)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.4 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.8.4)\n", + "Requirement already satisfied: pyzmq>=13 in /usr/local/lib/python3.10/dist-packages (from jupyter-client->ipykernel>=5.2.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (24.0.1)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->npe2>=0.7.6->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.1.2)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.10/dist-packages (from pexpect>4.3->IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->IPython>=7.7.0->napari-console>=0.1.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (0.2.13)\n", + "Requirement already satisfied: PyQt5-sip<13,>=12.15 in /usr/local/lib/python3.10/dist-packages (from PyQt5!=5.15.0,>=5.13.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (12.16.1)\n", + "Requirement already satisfied: PyQt5-Qt5<5.16.0,>=5.15.2 in /usr/local/lib/python3.10/dist-packages (from PyQt5!=5.15.0,>=5.13.2->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (5.15.16)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch>=1.6.0->scikit-image[data]>=0.19.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch>=1.6.0->scikit-image[data]>=0.19.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch>=1.6.0->scikit-image[data]>=0.19.1->napari>=0.4.14->napari[all]>=0.4.14->napari-cellseg3d) (2.2.3)\n" ] } ], "source": [ "#@markdown ##Install CellSeg3D and grab demo data\n", "!git clone https://github.com/AdaptiveMotorControlLab/CellSeg3d.git --branch main --single-branch ./CellSeg3D\n", - "!pip install napari-cellseg3d\n" + "!pip install napari-cellseg3d" ] }, { @@ -81,10 +234,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "id": "vzm75tE_Am-0", - "outputId": "c47e5c2e-1ab9-4e57-9d2d-1cf9082a9ed4", + "outputId": "4ec61a88-e6de-421a-88d5-84c785bfcf54", "colab": { "base_uri": "https://localhost:8080/" } @@ -94,6 +247,8 @@ "output_type": "stream", "name": "stderr", "text": [ + "/usr/local/lib/python3.10/dist-packages/pytools/persistent_dict.py:52: RecommendedHashNotFoundWarning: Unable to import recommended hash 'siphash24.siphash13', falling back to 'hashlib.sha256'. Run 'python3 -m pip install siphash24' to install the recommended hash.\n", + " warn(\"Unable to import recommended hash 'siphash24.siphash13', \"\n" ] } ], @@ -141,43 +296,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { - "id": "Fe8hNkOpAm-0", - "outputId": "e69cb673-e53c-44c0-da37-870005bf2968", - "colab": { - "base_uri": "https://localhost:8080/" - } + "id": "Fe8hNkOpAm-0" }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "You have GPU access\n", - "Sun Dec 22 17:15:11 2024 \n", - "+---------------------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 |\n", - "|-----------------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|=========================================+======================+======================|\n", - "| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n", - "| N/A 48C P8 10W / 70W | 3MiB / 15360MiB | 0% Default |\n", - "| | | N/A |\n", - "+-----------------------------------------+----------------------+----------------------+\n", - " \n", - "+---------------------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=======================================================================================|\n", - "| No running processes found |\n", - "+---------------------------------------------------------------------------------------+\n" - ] - } - ], + "outputs": [], "source": [ "#@markdown This cell verifies if GPU access is available.\n", "\n", @@ -205,30 +328,11 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { - "id": "O0jLRpARAm-0", - "outputId": "dc2db8c7-95c2-408a-bea0-16456afcd324", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 35 - } + "id": "O0jLRpARAm-0" }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "'cupy backend (experimental)'" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "string" - } - }, - "metadata": {}, - "execution_count": 4 - } - ], + "outputs": [], "source": [ "demo_image_path = \"/content/CellSeg3D/examples/c5image.tif\"\n", "demo_image = imread(demo_image_path)\n", @@ -242,44 +346,41 @@ { "cell_type": "markdown", "source": [ - "### Select the pretrained model you want to use" + "### Select the pretrained model" ], "metadata": { - "id": "Kpqi3CydZdR_" + "id": "b6vIW_oDlpok" } }, { "cell_type": "code", "source": [ - "model_selection = \"WNet3D\" #@param [\"WNet3D\", \"SwinUNetR\", \"SegResNet\"]\n", + "model_selection = \"WNet3D\" #@param [\"SwinUNetR\", \"WNet3D\", \"SegResNet\"]\n", "print(f\"Selected model: {model_selection}\")" ], "metadata": { - "id": "hkjn-CO1Zhxg", - "outputId": "ee9a8404-151d-415d-ee12-a60a32a462d0", - "colab": { - "base_uri": "https://localhost:8080/" - } + "id": "5tkEI1q-loqB" }, - "execution_count": 10, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Selected model: WNet3D\n" - ] - } - ] + "execution_count": null, + "outputs": [] }, { - "cell_type": "markdown", + "cell_type": "code", "source": [ - "### Run inference with the pretrained model" + "from napari_cellseg3d.config import ModelInfo\n", + "\n", + "model_info = ModelInfo(\n", + " name=model_selection,\n", + " model_input_size=64 if model_selection == \"SegResNet\" else [64,64,64],\n", + " num_classes=2,\n", + ")\n", + "inference_config.model_info = model_info" ], "metadata": { - "id": "PooHwqFMboBB" - } + "id": "aPFS4WTdmPo3" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "code", @@ -289,44 +390,20 @@ }, "outputs": [], "source": [ - "from napari_cellseg3d.config import ModelInfo" - "model_info = ModelInfo(\n", - " name=model_selection,\n", - " model_input_size=64 if model_selection == "SegResNet" else [64,64,64],\n", - " num_classes=2,\n", - ")" - "inference_config.model_info = model_info" "result = cs3d.inference_on_images(\n", " demo_image,\n", - " #model_info = model_selection,\n", " config=inference_config,\n", ")" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "id": "IFbmZ3_zAm-1", - "outputId": "a0f63784-adb2-4ce5-9092-6d6eebc2c5bd", - "colab": { - "base_uri": "https://localhost:8080/" - } + "cellView": "form" }, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "1it [00:00, 5.01it/s]\n", - "clesperanto's cupy / CUDA backend is experimental. Please use it with care. The following functions are known to cause issues in the CUDA backend:\n", - "affine_transform, apply_vector_field, create(uint64), create(int32), create(int64), resample, scale, spots_to_pointlist\n", - "divide by zero encountered in scalar divide\n", - "invalid value encountered in scalar multiply\n", - "WARNING:napari_cellseg3d.utils:0 invalid sphericities were set to NaN. This occurs for objects with a volume of 1 pixel.\n" - ] - } - ], + "outputs": [], "source": [ "# @title Post-process the result\n", "# @markdown This cell post-processes the result of the inference : thresholding, instance segmentation, and statistics.\n", @@ -338,67 +415,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": { - "id": "TMRiQ-m4Am-1", - "outputId": "90717796-8ca4-4132-cad7-00095384791c", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 496, - "referenced_widgets": [ - "8d9102f8cae54ca492cfa939fc75f4dd", - "408db0ee6c7741838b9b488185ee672d", - "d2af6a9459174c5faf04cc8989dce00c", - "e039dcefc4d348e0ba543e785cc02431", - "0b548f2b5fff44c9bcc67b4e3638b8e3", - "bf55bb77edd24e8493f5b243bdc9e13c", - "99f4c261ee3d4303ab95e85fa8405715" - ] - } + "id": "TMRiQ-m4Am-1" }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "interactive(children=(IntSlider(value=62, description='z', max=123), Output()), _dom_classes=('widget-interact…" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "8d9102f8cae54ca492cfa939fc75f4dd" - } - }, - "metadata": {} - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "
\n", - "
update_plot
def update_plot(z)
/content/<ipython-input-7-245acde924e0><no docstring>
" - ] - }, - "metadata": {}, - "execution_count": 7 - } - ], + "outputs": [], "source": [ "# @title Display the result\n", "#@markdown This cell displays the result of the inference and post-processing. Use the slider to navigate through the z-stack.\n", @@ -440,516 +461,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { - "id": "Tw5exJ5EAm-1", - "outputId": "0384a401-b02a-4303-b698-44f4df84e28b", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 424 - } + "id": "Tw5exJ5EAm-1" }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - " Volume Centroid x Centroid y Centroid z Sphericity (axes) \\\n", - "0 190.0 5.405263 69.157895 36.210526 0.778113 \n", - "1 18.0 5.833333 85.000000 83.944444 0.000007 \n", - "2 67.0 7.283582 65.492537 92.059701 0.867751 \n", - "3 108.0 10.324074 84.342593 68.861111 0.672490 \n", - "4 35.0 9.428571 84.314286 92.600000 0.649649 \n", - ".. ... ... ... ... ... \n", - "317 11.0 122.363636 14.727273 25.000000 0.951651 \n", - "318 24.0 122.166667 26.083333 38.083333 0.990075 \n", - "319 16.0 122.125000 34.125000 36.500000 0.944672 \n", - "320 13.0 122.076923 43.538462 53.615385 0.939852 \n", - "321 21.0 122.523810 49.666667 36.238095 0.895437 \n", - "\n", - " Image size Total image volume Total object volume (pixels) \\\n", - "0 (124, 86, 94) 1002416 33504.0 \n", - "1 \n", - "2 \n", - "3 \n", - "4 \n", - ".. ... ... ... \n", - "317 \n", - "318 \n", - "319 \n", - "320 \n", - "321 \n", - "\n", - " Filling ratio Number objects \n", - "0 0.033423 322 \n", - "1 \n", - "2 \n", - "3 \n", - "4 \n", - ".. ... ... \n", - "317 \n", - "318 \n", - "319 \n", - "320 \n", - "321 \n", - "\n", - "[322 rows x 10 columns]" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
VolumeCentroid xCentroid yCentroid zSphericity (axes)Image sizeTotal image volumeTotal object volume (pixels)Filling ratioNumber objects
0190.05.40526369.15789536.2105260.778113(124, 86, 94)100241633504.00.033423322
118.05.83333385.00000083.9444440.000007
267.07.28358265.49253792.0597010.867751
3108.010.32407484.34259368.8611110.672490
435.09.42857184.31428692.6000000.649649
.................................
31711.0122.36363614.72727325.0000000.951651
31824.0122.16666726.08333338.0833330.990075
31916.0122.12500034.12500036.5000000.944672
32013.0122.07692343.53846253.6153850.939852
32121.0122.52381049.66666736.2380950.895437
\n", - "

322 rows × 10 columns

\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "\n", - "
\n", - " \n", - " \n", - " \n", - "
\n", - "\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "data", - "summary": "{\n \"name\": \"data\",\n \"rows\": 322,\n \"fields\": [\n {\n \"column\": \"Volume\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 54.38970963263131,\n \"min\": 8.0,\n \"max\": 252.0,\n \"num_unique_values\": 157,\n \"samples\": [\n 14.0,\n 124.0,\n 169.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Centroid x\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 31.084053076294715,\n \"min\": 5.405263157894737,\n \"max\": 122.52380952380952,\n \"num_unique_values\": 321,\n \"samples\": [\n 73.65806451612903,\n 60.0,\n 81.18303571428571\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Centroid y\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 25.419664210044758,\n \"min\": 0.0,\n \"max\": 85.0,\n \"num_unique_values\": 320,\n \"samples\": [\n 0.6310679611650486,\n 1.7452229299363058,\n 13.709401709401709\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Centroid z\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 27.685581861438635,\n \"min\": 0.12903225806451613,\n \"max\": 93.0,\n \"num_unique_values\": 320,\n \"samples\": [\n 12.174757281553399,\n 10.108695652173912,\n 70.51282051282051\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Sphericity (axes)\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.12590741175173295,\n \"min\": 5.583882595237912e-06,\n \"max\": 0.9900749841550203,\n \"num_unique_values\": 318,\n \"samples\": [\n 0.8007911710122606,\n 0.8283576063212561,\n 0.7547372074750551\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Image size\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"\",\n [\n 124,\n 86,\n 94\n ]\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Total image volume\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"1970-01-01 00:00:00.001002416\",\n \"max\": \"1970-01-01 00:00:00.001002416\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"\",\n 1002416\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Total object volume (pixels)\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"1970-01-01 00:00:00.000033504\",\n \"max\": \"1970-01-01 00:00:00.000033504\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"\",\n 33504.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Filling ratio\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"1970-01-01 00:00:00\",\n \"max\": \"1970-01-01 00:00:00\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"\",\n 0.03342324942937862\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Number objects\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"1970-01-01 00:00:00.000000322\",\n \"max\": \"1970-01-01 00:00:00.000000322\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"\",\n 322\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {} - } - ], + "outputs": [], "source": [ "# @title Display the statistics\n", "# @markdown This cell displays the statistics of the post-processed result.\n", @@ -960,56 +476,11 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": { - "id": "0NhZ-YksAm-1", - "outputId": "81ebfeb6-c83e-4930-f96a-cdf7200e84e7", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 617 - } + "id": "0NhZ-YksAm-1" }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - "
\n", - "\n", - "" - ] - }, - "metadata": {} - } - ], + "outputs": [], "source": [ "# @title Plot the a 3D view, with statistics\n", "# @markdown This cell plots a 3D view of the cells, with the volume as the size of the points and the sphericity as the color.\n", @@ -1057,7 +528,8 @@ "accelerator": "GPU", "colab": { "gpuType": "T4", - "provenance": [] + "provenance": [], + "include_colab_link": true }, "kernelspec": { "display_name": "Python 3", @@ -1065,260 +537,6 @@ }, "language_info": { "name": "python" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "8d9102f8cae54ca492cfa939fc75f4dd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "VBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [ - "widget-interact" - ], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "VBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "VBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_408db0ee6c7741838b9b488185ee672d", - "IPY_MODEL_d2af6a9459174c5faf04cc8989dce00c" - ], - "layout": "IPY_MODEL_e039dcefc4d348e0ba543e785cc02431" - } - }, - "408db0ee6c7741838b9b488185ee672d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "IntSliderModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "IntSliderModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "IntSliderView", - "continuous_update": true, - "description": "z", - "description_tooltip": null, - "disabled": false, - "layout": "IPY_MODEL_0b548f2b5fff44c9bcc67b4e3638b8e3", - "max": 123, - "min": 0, - "orientation": "horizontal", - "readout": true, - "readout_format": "d", - "step": 1, - "style": "IPY_MODEL_bf55bb77edd24e8493f5b243bdc9e13c", - "value": 14 - } - }, - "d2af6a9459174c5faf04cc8989dce00c": { - "model_module": "@jupyter-widgets/output", - "model_name": "OutputModel", - "model_module_version": "1.0.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_99f4c261ee3d4303ab95e85fa8405715", - "msg_id": "", - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/png": "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Y6Ojxz8+3tfX17SDcLpQjopRjmKUn2KaPUf87ahnO6VSyZ70pCeZWfOP7elAOSpGOSpGOYpZDvnRXlNHf9M0jnIUo/wUoxwV0+w5ms8+o3+zCCGEEEIIIYQQQoimRw+5hBBCCCGEEEIIIUTTs2QfcrW3t9sf/MEfWHt7+5kOZcmiHBWjHMUoP8UoR8sXjW0xylExylExylGM8rO80fgWoxzFKD/FKEfFnE05WnLG80IIIYQQQgghhBBCNMqS/SSXEEIIIYQQQgghhBDzRQ+5hBBCCCGEEEIIIUTTo4dcQgghhBBCCCGEEKLp0UMuIYQQQgghhBBCCNH0LNmHXDfffLOdd9551tHRYZdccol99atfPdMhnRF27txpz3nOc6y3t9fWrl1rL3/5y2337t3unKmpKdu+fbutWrXKenp67KqrrrKhoaEzFPGZ56abbrIkSey6666r/U45Mvvxj39sv/7rv26rVq2yzs5Oe8YznmFf+9rXauVpmtrb3/52W79+vXV2dtq2bdvsoYceOoMRnz4qlYrdeOONtnnzZuvs7LSnPOUp9id/8ieG38txNudnuaJ95jjaZxpH+8zcaJ+J0V5z9qF9po72msbQPjM32mditM+cIF2C3H777WlbW1v613/91+l3vvOd9H/+z/+Z9vf3p0NDQ2c6tNPO5Zdfnt56663pt7/97fQb3/hG+ou/+Ivppk2b0vHx8do5r3vd69KNGzemu3btSr/2ta+lz3ve89LnP//5ZzDqM8dXv/rV9LzzzksvvPDC9M1vfnPt92d7jg4fPpyee+656W/+5m+m9913X/rDH/4w/fznP5/+4Ac/qJ1z0003peVyOb3zzjvTb37zm+kv/dIvpZs3b06PHj16BiM/Pbzzne9MV61alX72s59NH3744fSOO+5Ie3p60r/4i7+onXM252c5on2mjvaZxtA+MzfaZ4rRXnN2oX3Go71m/mifmRvtM8VonznOknzI9dznPjfdvn177bhSqaQbNmxId+7ceQajWho8/vjjqZmld999d5qmaTo8PJy2tramd9xxR+2cBx98MDWz9J577jlTYZ4RxsbG0vPPPz/9whe+kL7whS+sbQrKUZq+9a1vTV/wghfkller1XTdunXpn/3Zn9V+Nzw8nLa3t6d/+7d/ezpCPKO85CUvSV/96le731155ZXp1Vdfnaap8rMc0T6Tj/aZfLTP5KN9phjtNWcX2mditNfMjfaZfLTPFKN95jhLTq44MzNjDzzwgG3btq32u1KpZNu2bbN77rnnDEa2NBgZGTEzs4GBATMze+CBB2x2dtbla8uWLbZp06azLl/bt2+3l7zkJS4XZsqRmdk//uM/2sUXX2yvfOUrbe3atfasZz3LPvKRj9TKH374Ydu/f7/LUblctksuueSsyNHzn/9827Vrl33/+983M7NvfvOb9pWvfMWuuOIKM1N+lhvaZ2K0z+SjfSYf7TPFaK85e9A+U4z2mrnRPpOP9plitM8cZ8WZDoA5ePCgVSoVGxwcdL8fHBy0733ve2coqqVBtVq16667zi699FJ7+tOfbmZm+/fvt7a2Nuvv73fnDg4O2v79+89AlGeG22+/3b7+9a/b/fffnylTjsx++MMf2i233GI7duyw//W//pfdf//99qY3vcna2trsmmuuqeVhrnV3NuTobW97m42OjtqWLVuspaXFKpWKvfOd77Srr77azOysz89yQ/tMPtpn8tE+E6N9phjtNWcP2mditNfMjfaZGO0zxWifOc6Se8gl8tm+fbt9+9vftq985StnOpQlxaOPPmpvfvOb7Qtf+IJ1dHSc6XCWJNVq1S6++GJ717veZWZmz3rWs+zb3/62fehDH7JrrrnmDEd35vnUpz5ln/zkJ+22226zpz3tafaNb3zDrrvuOtuwYYPyI84qtM/MjfaZYrTPFKO9RojjaK/Jon2mGO0zxWifOc6SkyuuXr3aWlpaMt8UMTQ0ZOvWrTtDUZ15rr32WvvsZz9r//Iv/2LnnHNO7ffr1q2zmZkZGx4eduefTfl64IEH7PHHH7dnP/vZtmLFCluxYoXdfffd9v73v99WrFhhg4ODZ32O1q9fb0996lPd7y644ALbs2ePmVktD2fruvu93/s9e9vb3mavetWr7BnPeIb9j//xP+z666+3nTt3mpnys9zQPjM32mfy0T5TjPaZYrTXnD1on8lHe83caJ8pRvtMMdpnjrPkHnK1tbXZRRddZLt27ar9rlqt2q5du2zr1q1nMLIzQ5qmdu2119qnP/1p+9KXvmSbN2925RdddJG1tra6fO3evdv27Nlz1uTrRS96kX3rW9+yb3zjG7Wfiy++2K6++ura67M9R5deemnma5q///3v27nnnmtmZps3b7Z169a5HI2Ojtp99913VuRocnLSSiV/O2xpabFqtWpmys9yQ/uMR/tMMdpnitE+U4z2mrMH7TNZtNfEaJ8pRvtMMdpnTnCGje/n5Pbbb0/b29vTj33sY+l3v/vd9LWvfW3a39+f7t+//0yHdtp5/etfn5bL5fRf//Vf03379tV+Jicna+e87nWvSzdt2pR+6UtfSr/2ta+lW7duTbdu3XoGoz7z4LeRpKly9NWvfjVdsWJF+s53vjN96KGH0k9+8pNpV1dX+olPfKJ2zk033ZT29/enn/nMZ9L/+q//Sl/2spctu6+TzeOaa65Jn/SkJ9W+bvcf/uEf0tWrV6dvectbaueczflZjmifqaN95uTQPuPRPlOM9pqzC+0zHu01jaN9xqN9phjtM8dZkg+50jRNP/CBD6SbNm1K29ra0uc+97npvffee6ZDOiOY2Zw/t956a+2co0ePpm94wxvSlStXpl1dXekv//Ivp/v27TtzQS8BeFNQjtL0rrvuSp/+9Ken7e3t6ZYtW9IPf/jDrrxaraY33nhjOjg4mLa3t6cvetGL0t27d5+haE8vo6Oj6Zvf/OZ006ZNaUdHR/rkJz85/d//+3+n09PTtXPO5vwsV7TPHEf7zMmhfSaL9pkY7TVnH9pn6mivaRztM1m0z8RonzlOkqZpero/PSaEEEIIIYQQQgghxEKy5Dy5hBBCCCGEEEIIIYRoFD3kEkIIIYQQQgghhBBNjx5yCSGEEEIIIYQQQoimRw+5hBBCCCGEEEIIIUTTo4dcQgghhBBCCCGEEKLp0UMuIYQQQgghhBBCCNH06CGXEEIIIYQQQgghhGh69JBLCCGEEEIIIYQQQjQ9esglhBBCCCGEEEIIIZoePeQSQgghhBBCCCGEEE2PHnIJIYQQQgghhBBCiKZHD7mEEEIIIYQQQgghRNPz/wcmH0jjf+r7JAAAAABJRU5ErkJggg==\n" - }, - "metadata": {} - } - ] - } - }, - "e039dcefc4d348e0ba543e785cc02431": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0b548f2b5fff44c9bcc67b4e3638b8e3": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "bf55bb77edd24e8493f5b243bdc9e13c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "SliderStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "SliderStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "", - "handle_color": null - } - }, - "99f4c261ee3d4303ab95e85fa8405715": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - } - } } }, "nbformat": 4,