Files
MLPproject/.venv/lib/python3.12/site-packages/skimage/__init__.py
2025-10-23 15:44:32 +02:00

149 lines
4.0 KiB
Python

"""Image Processing for Python
scikit-image (a.k.a. ``skimage``) is a collection of algorithms for image
processing and computer vision.
Attributes
----------
__version__ : str
The scikit-image version string.
Subpackages
-----------
color
Color space conversion.
data
Example images and datasets.
draw
Drawing primitives, such as lines, circles, text, etc.
exposure
Image intensity adjustment, e.g., histogram equalization, etc.
feature
Feature detection and extraction, e.g., texture analysis, corners, etc.
filters
Sharpening, edge finding, rank filters, thresholding, etc.
future
Functionality with an experimental API.
graph
Graph-based operations, e.g., shortest paths.
io
Reading and saving of images and videos.
measure
Measurement of image properties, e.g., region properties, contours.
metrics
Metrics corresponding to images, e.g., distance metrics, similarity, etc.
morphology
Morphological algorithms, e.g., closing, opening, skeletonization.
registration
Image registration algorithms, e.g., optical flow or phase cross correlation.
restoration
Restoration algorithms, e.g., deconvolution algorithms, denoising, etc.
segmentation
Algorithms to partition images into meaningful regions or boundaries.
transform
Geometric and other transformations, e.g., rotations, Radon transform.
util
Generic utilities.
"""
__version__ = '0.25.2'
import lazy_loader as _lazy
__getattr__, *_ = _lazy.attach_stub(__name__, __file__)
# Don't use the `__all__` and `__dir__` returned by `attach_stubs` since that
# one would expose utility functions we don't want to advertise in our
# top-level module anymore.
__all__ = [
"__version__",
"color",
"data",
"draw",
"exposure",
"feature",
"filters",
"future",
"graph",
"io",
"measure",
"metrics",
"morphology",
"registration",
"restoration",
"segmentation",
"transform",
"util",
]
def __dir__():
return __all__.copy()
# Logic for checking for improper install and importing while in the source
# tree when package has not been installed inplace.
# Code adapted from scikit-learn's __check_build module.
_INPLACE_MSG = """
It appears that you are importing a local scikit-image source tree. For
this, you need to have an inplace install. Maybe you are in the source
directory and you need to try from another location."""
_STANDARD_MSG = """
Your install of scikit-image appears to be broken.
Try re-installing the package following the instructions at:
https://scikit-image.org/docs/stable/user_guide/install.html"""
def _raise_build_error(e):
# Raise a comprehensible error
import os.path as osp
local_dir = osp.split(__file__)[0]
msg = _STANDARD_MSG
if local_dir == "skimage":
# Picking up the local install: this will work only if the
# install is an 'inplace build'
msg = _INPLACE_MSG
raise ImportError(
f"{e}\nIt seems that scikit-image has not been built correctly.\n{msg}"
)
def _try_append_commit_info(version):
"""Append last commit date and hash to `version`, if available."""
import subprocess
from pathlib import Path
try:
output = subprocess.check_output(
['git', 'log', '-1', '--format="%h %aI"'],
cwd=Path(__file__).parent,
text=True,
)
if output:
git_hash, git_date = (
output.strip().replace('"', '').split('T')[0].replace('-', '').split()
)
version = '+'.join(
[tag for tag in version.split('+') if not tag.startswith('git')]
)
version += f'+git{git_date}.{git_hash}'
except (FileNotFoundError, subprocess.CalledProcessError):
pass
except OSError:
pass # If skimage is built with emscripten which does not support processes
return version
if 'dev' in __version__:
__version__ = _try_append_commit_info(__version__)
from skimage._shared.tester import PytestTester as _PytestTester
test = _PytestTester(__name__)