<img src="https://github.com/Jacobiano/morpholayers/blob/master/logo.png" alt="morpholayers" width="400px" style="display: block; margin-left: auto; margin-right: auto"/>



Morphological Layers for Keras/Tensorflow2
The goal of morpholayers is to make the interactions between [mathematical morphology](https://en.wikipedia.org/wiki/Mathematical_morphology) and [deep learning](https://en.wikipedia.org/wiki/Deep_learning) accessible for everyone.


>!git clone https://github.com/Jacobiano/morpholayers.git

 If you find this code useful in your research, please consider citing:

    @inproceedings{VelascoBMVC2022,
	Author = {Velasco-Forero, S. and Rhim, A. and Angulo, J.},
	Title = {Fixed Point Layers for Geodesic Morphological Operations},
	Booktitle  = {British Machine Vision Conference (BMVC)},
	Year = {2022}
    }


    @article{VelascoSIAM2022,
    author = {Velasco-Forero, Santiago and Pag\`{e}s, R. and Angulo, Jesus},
    title = {Learnable Empirical Mode Decomposition based on Mathematical Morphology},
    journal = {SIAM Journal on Imaging Sciences},
    volume = {15},
    number = {1},
    pages = {23-44},
    year = {2022},
    }

Several examples of this library are available at:
[Examples](http://www.cmm.mines-paristech.fr/~velasco/morpholayers/)


ECSIA mini-cours (Mathematical morphology meets Deep Learning)

* Santiago VELASCO-FORERO, Samy BLUSSEAU, Mateus SANGALLI

* [Centre de Morphologie Mathématique](http://www.cmm.mines-paristech.fr/)
* MINES ParisTech, PSL Research University

Talks:
- Introduction
- Deep Learning in 15 minutes
- Mathematical morphology: Learning simple operators
- Depthwise Morphological Layers 
- Morphological Scale-Spaces

Practical Sessions:

-Tutorial 0: Deep Learning in 15 minutes 
* https://colab.research.google.com/drive/1rnjLWgqgsZJO5n_g0YROg3CS3WIMYTUs?usp=sharing

Tutorial 1: Simple morphological operators using morpholayers
* https://colab.research.google.com/drive/1RuPQ-qHZcpYqOlrM2_jbA0k9RO9AaJDt?usp=sharing

Tutorial 2: Learning morphological operators
* https://colab.research.google.com/drive/12c9dZn_0hx_bzXcbXcI7hmnnlRP2op7D?usp=sharing

Tutorial 3: Learning morphological layers in Fashion Mnist
* https://colab.research.google.com/drive/1IEwKAt9OqdRyY3kyH9KWX1O1MxmD99LS?usp=sharing

Tutorial 4: Improving Max-Pooling layers using Dilations
* https://colab.research.google.com/drive/1Nr0fIPIIHGmXcwa3hZM5ijrZiZyWL0Yt?usp=sharing

Tutorial 5: Learning Additive Shift Equivariant Operators
* https://colab.research.google.com/drive/1mzzqZa0n0ugpS0RJ1Ar1d8ZKA3-YQ3eI?usp=sharing

Tutorial 6: Learning Scale-Equivariant Operators
* https://colab.research.google.com/drive/1Jy7Z4LUJCUG86mVz0akSRGHq1aaCutSl?usp=sharing
