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,
)