Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
parent
00ad49a143
commit
45fb349a7d
5098 changed files with 952558 additions and 85 deletions
112
venv/Lib/site-packages/imageio/plugins/__init__.py
Normal file
112
venv/Lib/site-packages/imageio/plugins/__init__.py
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# imageio is distributed under the terms of the (new) BSD License.
|
||||
|
||||
# flake8: noqa
|
||||
|
||||
"""
|
||||
|
||||
Imagio is plugin-based. Every supported format is provided with a
|
||||
plugin. You can write your own plugins to make imageio support
|
||||
additional formats. And we would be interested in adding such code to the
|
||||
imageio codebase!
|
||||
|
||||
|
||||
What is a plugin
|
||||
----------------
|
||||
|
||||
In imageio, a plugin provides one or more :class:`.Format` objects, and
|
||||
corresponding :class:`.Reader` and :class:`.Writer` classes.
|
||||
Each Format object represents an implementation to read/write a
|
||||
particular file format. Its Reader and Writer classes do the actual
|
||||
reading/saving.
|
||||
|
||||
The reader and writer objects have a ``request`` attribute that can be
|
||||
used to obtain information about the read or write :class:`.Request`, such as
|
||||
user-provided keyword arguments, as well get access to the raw image
|
||||
data.
|
||||
|
||||
|
||||
Registering
|
||||
-----------
|
||||
|
||||
Strictly speaking a format can be used stand alone. However, to allow
|
||||
imageio to automatically select it for a specific file, the format must
|
||||
be registered using ``imageio.formats.add_format()``.
|
||||
|
||||
Note that a plugin is not required to be part of the imageio package; as
|
||||
long as a format is registered, imageio can use it. This makes imageio very
|
||||
easy to extend.
|
||||
|
||||
|
||||
What methods to implement
|
||||
--------------------------
|
||||
|
||||
Imageio is designed such that plugins only need to implement a few
|
||||
private methods. The public API is implemented by the base classes.
|
||||
In effect, the public methods can be given a descent docstring which
|
||||
does not have to be repeated at the plugins.
|
||||
|
||||
For the Format class, the following needs to be implemented/specified:
|
||||
|
||||
* The format needs a short name, a description, and a list of file
|
||||
extensions that are common for the file-format in question.
|
||||
These ase set when instantiation the Format object.
|
||||
* Use a docstring to provide more detailed information about the
|
||||
format/plugin, such as parameters for reading and saving that the user
|
||||
can supply via keyword arguments.
|
||||
* Implement ``_can_read(request)``, return a bool.
|
||||
See also the :class:`.Request` class.
|
||||
* Implement ``_can_write(request)``, dito.
|
||||
|
||||
For the Format.Reader class:
|
||||
|
||||
* Implement ``_open(**kwargs)`` to initialize the reader. Deal with the
|
||||
user-provided keyword arguments here.
|
||||
* Implement ``_close()`` to clean up.
|
||||
* Implement ``_get_length()`` to provide a suitable length based on what
|
||||
the user expects. Can be ``inf`` for streaming data.
|
||||
* Implement ``_get_data(index)`` to return an array and a meta-data dict.
|
||||
* Implement ``_get_meta_data(index)`` to return a meta-data dict. If index
|
||||
is None, it should return the 'global' meta-data.
|
||||
|
||||
For the Format.Writer class:
|
||||
|
||||
* Implement ``_open(**kwargs)`` to initialize the writer. Deal with the
|
||||
user-provided keyword arguments here.
|
||||
* Implement ``_close()`` to clean up.
|
||||
* Implement ``_append_data(im, meta)`` to add data (and meta-data).
|
||||
* Implement ``_set_meta_data(meta)`` to set the global meta-data.
|
||||
|
||||
"""
|
||||
|
||||
# First import plugins that we want to take precedence over freeimage
|
||||
from . import tifffile
|
||||
from . import pillow
|
||||
from . import grab
|
||||
|
||||
from . import freeimage
|
||||
from . import freeimagemulti
|
||||
|
||||
from . import ffmpeg
|
||||
|
||||
from . import bsdf
|
||||
from . import dicom
|
||||
from . import npz
|
||||
from . import swf
|
||||
from . import feisem # special kind of tiff, uses _tiffile
|
||||
|
||||
from . import fits # depends on astropy
|
||||
from . import simpleitk # depends on itk or SimpleITK
|
||||
from . import gdal # depends on gdal
|
||||
|
||||
from . import lytro
|
||||
from . import spe
|
||||
|
||||
from . import example
|
||||
|
||||
# Sort
|
||||
import os
|
||||
from .. import formats
|
||||
|
||||
formats.sort(*os.getenv("IMAGEIO_FORMAT_ORDER", "").split(","))
|
||||
del os, formats
|
||||
Loading…
Add table
Add a link
Reference in a new issue