Source code for fury

"""Init file for visualization package."""

import warnings

import lazy_loader as lazy

from fury.pkg_info import __version__, pkg_commit_hash

__getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)

__all__ += [
    "__version__",
    "disable_warnings",
    "enable_warnings",
    "get_info",
]


[docs] def get_info(verbose=False): """Return dict describing the context of this package. Parameters ---------- pkg_path : str path containing __init__.py for package Returns ------- context : dict with named parameters of interest """ from os.path import dirname import sys import numpy import scipy import vtkmodules.vtkCommonCore as ccvtk from fury.optpkg import optional_package mpl, have_mpl, _ = optional_package("matplotlib") dipy, have_dipy, _ = optional_package("dipy") install_type, commit_hash = pkg_commit_hash(dirname(__file__)) info = { "fury_version": __version__, "pkg_path": dirname(__file__), "commit_hash": commit_hash, "sys_version": sys.version, "sys_executable": sys.executable, "sys_platform": sys.platform, "numpy_version": numpy.__version__, "scipy_version": scipy.__version__, "vtk_version": ccvtk.vtkVersion.GetVTKVersion(), } d_mpl = {"matplotlib_version": mpl.__version__} if have_mpl else {} d_dipy = {"dipy_version": dipy.__version__} if have_dipy else {} info.update(d_mpl) info.update(d_dipy) if verbose: print("\n".join(["{0}: {1}".format(k, v) for k, v in info.items()])) return info
[docs] def enable_warnings(warnings_origin=None): """Enable global warnings. Parameters ---------- warnings_origin : list list origin ['all', 'fury', 'vtk', 'matplotlib', ...] """ warnings_origin = warnings_origin or ("all",) if "all" in warnings_origin or "vtk" in warnings_origin: import vtkmodules.vtkCommonCore as ccvtk ccvtk.vtkObject.GlobalWarningDisplayOn()
[docs] def disable_warnings(warnings_origin=None): """Disable global warnings. Parameters ---------- warnings_origin : list list origin ['all', 'fury', 'vtk', 'matplotlib', ...] """ warnings_origin = warnings_origin or ("all",) if "all" in warnings_origin or "vtk" in warnings_origin: import vtkmodules.vtkCommonCore as ccvtk ccvtk.vtkObject.GlobalWarningDisplayOff()
# We switch off the warning display during the release if "post" not in __version__ and "dev" not in __version__: disable_warnings() # Ignore this specific warning below from vtk < 8.2. # FutureWarning: Conversion of the second argument of issubdtype from # `complex` to `np.complexfloating` is deprecated. In future, it will be # treated as `np.complex128 == np.dtype(complex).type`. # assert not numpy.issubdtype(z.dtype, complex), \ warnings.filterwarnings( "ignore", message="Conversion of the second argument of" " issubdtype from `complex` to" " `np.complexfloating` is deprecated.*", category=FutureWarning, )