############
Base Classes
############
.. toctree::
:maxdepth: 2
2D Classes
3D Classes
=======
Purpose
=======
Usually Python packages provides a generic interface for easy user interaction.
However, we can make it better by making it specifically for a project to use.
``from PIL import Image``
This provides a generic package interface for us to use, in order to just extract the Red Channel, we likely need
to go through multiple boilerplate code to extract it.
.. code-block:: python
img = Image.load("img.png")
...
img_red
If we were to wrap it in a class like
``from frmodel.base import Frame2D``
We create an interface that's just.::
.. code-block:: python
img = Frame2D.load("img.png")
img_red = img.data_chn(img.CHN.RED)
We cover a lot of these ugly code behind the interface.