.. _gallery:

Gallery
=======

Here's a list of examples on how to use **paidiverpy**. We will be adding more examples soon.
Contributions are highly welcomed and appreciated. So, if you are interested in contributing, please consult the
:doc:`contributing` guide.

Notebook Examples
-----------------

.. grid:: 1 1 2 2
    :gutter: 4

    .. grid-item-card:: Parse configuration and metadata files
        :img-top: _static/nb_examples_1.png

        |mode_standard|
        ^^^
        A notebook to show how to open and parse configuration and metadata files
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/config_metadata_example.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/config_metadata_example.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Processing images without a pipeline
        :img-top: _static/nb_examples_2.jpg

        |mode_standard|
        ^^^
        An example to processing images without a proper pipeline
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/simple_processing.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/simple_processing.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Simple pipeline example
        :img-top: _static/nb_examples_3.png

        |mode_standard|
        ^^^
        A notebook to show how to run an entire pipeline described in a configuration file
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Run pipeline in test mode
        :img-top: _static/nb_examples_4.png

        |mode_research|
        ^^^
        Investigate the output of a pipeline in test mode
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_testing_steps.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_testing_steps.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Generate the pipeline without a configuration file
        :img-top: _static/nb_examples_5.jpg

        |mode_expert|
        ^^^
        Generate the pipeline without a describing the steps in the config file
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_generation.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_generation.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Rerun pipeline steps with modified configurations
        :img-top: _static/nb_examples_6.png

        |mode_expert|
        ^^^
        Rerun pipeline steps with modified configurations
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_interaction.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_interaction.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Use parallelization with Dask
        :img-top: _static/nb_examples_7.png

        |mode_expert|
        ^^^
        A notebook to show how to run an entire pipeline with parallelisation using Dask
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_dask.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_dask.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Example with real data and IFDO metadata
        :img-top: _static/nb_examples_8.jpg

        |mode_standard|
        ^^^
        An example to processing a real dataset with IFDO metadata
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_ifdo.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_ifdo.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Add a custom algorithm to the pipeline
        :img-top: _static/nb_examples_9.png

        |mode_expert|
        ^^^
        A notebook to show how to add a custom algorithm to the pipeline
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_custom_algorithm.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_custom_algorithm.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Use remote data
        :img-top: _static/nb_examples_10.png

        |mode_expert|
        ^^^
        A notebook to show how to use remote data in the pipeline
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_remote_data.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_remote_data.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook


    .. grid-item-card:: Create a LocalCluster with Dask
        :img-top: _static/nb_examples_11.jpg

        |mode_expert|
        ^^^
        A notebook to show how to create a LocalCluster with Dask and run an entire pipeline with parallelisation using Dask
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_cluster.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/pipeline_cluster.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Working With Raw Images
        :img-top: _static/nb_examples_12.jpg

        |mode_expert|
        ^^^
        A notebook to show how to handle, open and process raw images
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/working_with_raw_images.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/working_with_raw_images.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

    .. grid-item-card:: Exporting and Validating Metadata
        :img-top: _static/nb_examples_13.jpg

        |mode_standard|
        ^^^
        A notebook to show how to export and validate metadata
        +++
        .. grid:: 2 2 2 2

            .. grid-item::

                .. button-link:: https://nbviewer.org/github/paidiver/paidiverpy/blob/main/examples/example_notebooks/export_validate_metadata.ipynb
                    :color: primary
                    :outline:

                    :fas:`eye` Online viewer

            .. grid-item::

                .. button-link:: https://github.com/paidiver/paidiverpy/blob/main/examples/example_notebooks/export_validate_metadata.ipynb
                    :color: primary
                    :outline:

                    :fas:`file-arrow-down` Download notebook

.. dropdown:: Notebook tags Legend
    :open:

    :User mode: |mode_expert| : expert, |mode_standard| : standard, |mode_research| : research

.. |mode_expert| replace:: 🏄
.. |mode_standard| replace:: 🏊
.. |mode_research| replace:: 🚣
