diff --git a/src/iv/imageviewer.cpp b/src/iv/imageviewer.cpp index 12db1aa772..0e996976aa 100644 --- a/src/iv/imageviewer.cpp +++ b/src/iv/imageviewer.cpp @@ -64,7 +64,7 @@ IsSpecSrgb(const ImageSpec& spec) static const char *s_file_filters = "" "Image Files (*.bmp *.cin *.dcm *.dds *.dpx *.fits *.gif *.hdr *.ico *.iff " "*.jpg *.jpe *.jpeg *.jif *.jfif *.jfi *.jp2 *.j2k *.jxl *.exr *.png *.pbm *.pgm " - "*.ppm *.psd *.ptex *.R3D *.r3d *.rla *.sgi *.rgb *.rgba *.bw *.int *.inta *.pic *.tga " + "*.ppm *.psd *.ptex *.r3d *.nev *.rla *.sgi *.rgb *.rgba *.bw *.int *.inta *.pic *.tga " "*.tpic *.tif *.tiff *.tx *.env *.sm *.vsm *.vdb *.webp *.zfile);;" "BMP (*.bmp);;" "Cineon (*.cin);;" @@ -79,13 +79,14 @@ static const char *s_file_filters = "" "JPEG (*.jpg *.jpe *.jpeg *.jif *.jfif *.jfi);;" "JPEG-2000 (*.jp2 *.j2k);;" "JPEG XL (*.jxl);;" + "Nikon (*.nev);;" "OpenEXR (*.exr);;" "OpenVDB (*.vdb);;" "PhotoShop (*.psd);;" "Portable Network Graphics (*.png);;" "PNM / Netpbm (*.pbm *.pgm *.ppm);;" "Ptex (*.ptex);;" - "R3D (*.R3D *.r3d);;" + "R3D (*.r3d);;" "RLA (*.rla);;" "SGI (*.sgi *.rgb *.rgba *.bw *.int *.inta);;" "Softimage PIC (*.pic);;" diff --git a/src/python/stubs/OpenImageIO/__init__.pyi b/src/python/stubs/OpenImageIO/__init__.pyi deleted file mode 100644 index 200be7d774..0000000000 --- a/src/python/stubs/OpenImageIO/__init__.pyi +++ /dev/null @@ -1,1629 +0,0 @@ -# -# This file is auto-generated. DO NOT MODIFY! Run `make pystubs` to regenerate -# - -import collections.abc -import numpy -import typing -import typing_extensions -from _typeshed import Incomplete -from typing import ClassVar, overload - -AutoStride: int -BOX: VECSEMANTICS -CHAR: BASETYPE -COLOR: VECSEMANTICS -DOUBLE: BASETYPE -FLOAT: BASETYPE -HALF: BASETYPE -INT: BASETYPE -INT16: BASETYPE -INT32: BASETYPE -INT64: BASETYPE -INT8: BASETYPE -INTRO_STRING: str -KEYCODE: VECSEMANTICS -LASTBASE: BASETYPE -LONGLONG: BASETYPE -MATRIX33: AGGREGATE -MATRIX44: AGGREGATE -MakeTxBumpWithSlopes: MakeTextureMode -MakeTxEnvLatl: MakeTextureMode -MakeTxEnvLatlFromLightProbe: MakeTextureMode -MakeTxShadow: MakeTextureMode -MakeTxTexture: MakeTextureMode -NONE: BASETYPE -NONFINITE_BLACK: NonFiniteFixMode -NONFINITE_BOX3: NonFiniteFixMode -NONFINITE_NONE: NonFiniteFixMode -NORMAL: VECSEMANTICS -NOSEMANTICS: VECSEMANTICS -NOXFORM: VECSEMANTICS -OpenColorIO_version_hex: int -POINT: VECSEMANTICS -PTR: BASETYPE -RATIONAL: VECSEMANTICS -SCALAR: AGGREGATE -SHORT: BASETYPE -STRING: BASETYPE -TIMECODE: VECSEMANTICS -TypeBox2: TypeDesc -TypeBox2i: TypeDesc -TypeBox3: TypeDesc -TypeBox3i: TypeDesc -TypeColor: TypeDesc -TypeFloat: TypeDesc -TypeFloat2: TypeDesc -TypeFloat4: TypeDesc -TypeHalf: TypeDesc -TypeInt: TypeDesc -TypeInt16: TypeDesc -TypeInt32: TypeDesc -TypeInt64: TypeDesc -TypeInt8: TypeDesc -TypeKeyCode: TypeDesc -TypeMatrix: TypeDesc -TypeMatrix33: TypeDesc -TypeMatrix44: TypeDesc -TypeNormal: TypeDesc -TypePoint: TypeDesc -TypePointer: TypeDesc -TypeRational: TypeDesc -TypeString: TypeDesc -TypeTimeCode: TypeDesc -TypeUInt: TypeDesc -TypeUInt16: TypeDesc -TypeUInt32: TypeDesc -TypeUInt64: TypeDesc -TypeUInt8: TypeDesc -TypeUnknown: TypeDesc -TypeVector: TypeDesc -TypeVector2: TypeDesc -TypeVector2i: TypeDesc -TypeVector3i: TypeDesc -TypeVector4: TypeDesc -UCHAR: BASETYPE -UINT: BASETYPE -UINT16: BASETYPE -UINT32: BASETYPE -UINT64: BASETYPE -UINT8: BASETYPE -ULONGLONG: BASETYPE -UNKNOWN: BASETYPE -USHORT: BASETYPE -VEC2: AGGREGATE -VEC3: AGGREGATE -VEC4: AGGREGATE -VECTOR: VECSEMANTICS -VERSION: int -VERSION_MAJOR: int -VERSION_MINOR: int -VERSION_PATCH: int -VERSION_STRING: str -__version__: str -openimageio_version: int -supportsOpenColorIO: bool - -class AGGREGATE: - __members__: ClassVar[dict] = ... # read-only - MATRIX33: ClassVar[AGGREGATE] = ... - MATRIX44: ClassVar[AGGREGATE] = ... - SCALAR: ClassVar[AGGREGATE] = ... - VEC2: ClassVar[AGGREGATE] = ... - VEC3: ClassVar[AGGREGATE] = ... - VEC4: ClassVar[AGGREGATE] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class BASETYPE: - __members__: ClassVar[dict] = ... # read-only - CHAR: ClassVar[BASETYPE] = ... - DOUBLE: ClassVar[BASETYPE] = ... - FLOAT: ClassVar[BASETYPE] = ... - HALF: ClassVar[BASETYPE] = ... - INT: ClassVar[BASETYPE] = ... - INT16: ClassVar[BASETYPE] = ... - INT32: ClassVar[BASETYPE] = ... - INT64: ClassVar[BASETYPE] = ... - INT8: ClassVar[BASETYPE] = ... - LASTBASE: ClassVar[BASETYPE] = ... - LONGLONG: ClassVar[BASETYPE] = ... - NONE: ClassVar[BASETYPE] = ... - PTR: ClassVar[BASETYPE] = ... - SHORT: ClassVar[BASETYPE] = ... - STRING: ClassVar[BASETYPE] = ... - UCHAR: ClassVar[BASETYPE] = ... - UINT: ClassVar[BASETYPE] = ... - UINT16: ClassVar[BASETYPE] = ... - UINT32: ClassVar[BASETYPE] = ... - UINT64: ClassVar[BASETYPE] = ... - UINT8: ClassVar[BASETYPE] = ... - ULONGLONG: ClassVar[BASETYPE] = ... - UNKNOWN: ClassVar[BASETYPE] = ... - USHORT: ClassVar[BASETYPE] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class ColorConfig: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: str, /) -> None: ... - def configname(self) -> str: ... - @staticmethod - def default_colorconfig() -> ColorConfig: ... - def equivalent(self, color_space: str, other_color_space: str) -> bool: ... - def filepathOnlyMatchesDefaultRule(self, filepath: str) -> bool: ... - def getAliases(self, arg0: str, /) -> list[str]: ... - def getColorSpaceDataType(self, name: str) -> tuple[TypeDesc, int]: ... - def getColorSpaceFamilyByName(self, name: str) -> str: ... - @overload - def getColorSpaceFromFilepath(self, filepath: str) -> str: ... - @overload - def getColorSpaceFromFilepath(self, filepath: str, default_cs: str, cs_name_match: bool = ...) -> str: ... - def getColorSpaceIndex(self, name: str) -> int: ... - def getColorSpaceNameByIndex(self, arg0: typing.SupportsInt, /) -> str: ... - def getColorSpaceNameByRole(self, role: str) -> str: ... - def getColorSpaceNames(self) -> list[str]: ... - def getDefaultDisplayName(self) -> str: ... - @overload - def getDefaultViewName(self, display: str = ...) -> str: ... - @overload - def getDefaultViewName(self, display: str = ..., *, input_color_space: str) -> str: ... - def getDisplayNameByIndex(self, arg0: typing.SupportsInt, /) -> str: ... - def getDisplayNames(self) -> list[str]: ... - def getDisplayViewColorSpaceName(self, display: str, view: str) -> str: ... - def getDisplayViewLooks(self, display: str, view: str) -> str: ... - def getLookNameByIndex(self, arg0: typing.SupportsInt, /) -> str: ... - def getLookNames(self) -> list[str]: ... - def getNamedTransformAliases(self, arg0: str, /) -> list[str]: ... - def getNamedTransformNameByIndex(self, arg0: typing.SupportsInt, /) -> str: ... - def getNamedTransformNames(self) -> list[str]: ... - def getNumColorSpaces(self) -> int: ... - def getNumDisplays(self) -> int: ... - def getNumLooks(self) -> int: ... - def getNumNamedTransforms(self) -> int: ... - def getNumRoles(self) -> int: ... - def getNumViews(self, display: str = ...) -> int: ... - def getRoleByIndex(self, arg0: typing.SupportsInt, /) -> str: ... - def getRoles(self) -> list[str]: ... - def getViewNameByIndex(self, display: str = ..., *, index: typing.SupportsInt) -> str: ... - def getViewNames(self, display: str = ...) -> list[str]: ... - def geterror(self) -> str: ... - def parseColorSpaceFromString(self, arg0: str, /) -> str: ... - def resolve(self, name: str) -> str: ... - -class CompareResults: - def __init__(self) -> None: ... - @property - def PSNR(self) -> float: ... - @property - def error(self) -> bool: ... - @property - def maxc(self) -> int: ... - @property - def maxerror(self) -> float: ... - @property - def maxx(self) -> int: ... - @property - def maxy(self) -> int: ... - @property - def maxz(self) -> int: ... - @property - def meanerror(self) -> float: ... - @property - def nfail(self) -> int: ... - @property - def nwarn(self) -> int: ... - @property - def rms_error(self) -> float: ... - -class DeepData: - def __init__(self) -> None: ... - def allocated(self) -> bool: ... - def capacity(self, pixel: typing.SupportsInt) -> int: ... - def channelname(self, arg0: typing.SupportsInt, /) -> str: ... - def channelsize(self, arg0: typing.SupportsInt, /) -> int: ... - def channeltype(self, arg0: typing.SupportsInt, /) -> TypeDesc: ... - def clear(self) -> None: ... - def copy_deep_pixel(self, pixel: typing.SupportsInt, src: DeepData, srcpixel: typing.SupportsInt) -> bool: ... - def copy_deep_sample(self, pixel: typing.SupportsInt, sample: typing.SupportsInt, src: DeepData, srcpixel: typing.SupportsInt, srcsample: typing.SupportsInt) -> bool: ... - def deep_value(self, pixel: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt) -> float: ... - def deep_value_uint(self, pixel: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt) -> int: ... - def erase_samples(self, pixel: typing.SupportsInt, samplepos: typing.SupportsInt, nsamples: typing.SupportsInt = ...) -> None: ... - def free(self) -> None: ... - @overload - def init(self, npixels: typing.SupportsInt, nchannels: typing.SupportsInt, channeltypes: object, channelnames: object) -> None: ... - @overload - def init(self, arg0: ImageSpec, /) -> None: ... - def initialized(self) -> bool: ... - def insert_samples(self, pixel: typing.SupportsInt, samplepos: typing.SupportsInt, nsamples: typing.SupportsInt = ...) -> None: ... - def merge_deep_pixels(self, pixel: typing.SupportsInt, src: DeepData, srcpixel: typing.SupportsInt) -> None: ... - def merge_overlaps(self, pixel: typing.SupportsInt) -> None: ... - def occlusion_cull(self, pixel: typing.SupportsInt) -> None: ... - def opaque_z(self, pixel: typing.SupportsInt) -> float: ... - def same_channeltypes(self, arg0: DeepData, /) -> bool: ... - def samples(self, pixel: typing.SupportsInt) -> int: ... - def samplesize(self) -> int: ... - def set_capacity(self, pixel: typing.SupportsInt, nsamples: typing.SupportsInt) -> None: ... - def set_deep_value(self, pixel: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt, value: typing.SupportsFloat) -> None: ... - def set_deep_value_uint(self, pixel: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt, value: typing.SupportsInt) -> None: ... - def set_samples(self, pixel: typing.SupportsInt, nsamples: typing.SupportsInt) -> None: ... - def sort(self, pixel: typing.SupportsInt) -> None: ... - def split(self, pixel: typing.SupportsInt, depth: typing.SupportsFloat) -> bool: ... - @property - def AB_channel(self) -> int: ... - @property - def AG_channel(self) -> int: ... - @property - def AR_channel(self) -> int: ... - @property - def A_channel(self) -> int: ... - @property - def Z_channel(self) -> int: ... - @property - def Zback_channel(self) -> int: ... - @property - def channels(self) -> int: ... - @property - def pixels(self) -> int: ... - -class ImageBuf: - orientation: int - roi_full: ROI - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: str, /) -> None: ... - @overload - def __init__(self, arg0: str, arg1: typing.SupportsInt, arg2: typing.SupportsInt, /) -> None: ... - @overload - def __init__(self, arg0: ImageSpec, /) -> None: ... - @overload - def __init__(self, arg0: ImageSpec, arg1: bool, /) -> None: ... - @overload - def __init__(self, name: str, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, config: ImageSpec) -> None: ... - @overload - def __init__(self, buffer: typing_extensions.Buffer) -> None: ... - def clear(self) -> None: ... - def clear_thumbnail(self) -> None: ... - @overload - def copy(self, src: ImageBuf, format: TypeDesc | BASETYPE | str = ...) -> bool: ... - @overload - def copy(self, format: TypeDesc | BASETYPE | str = ...) -> ImageBuf: ... - def copy_metadata(self, arg0: ImageBuf, /) -> None: ... - def copy_pixels(self, arg0: ImageBuf, /) -> bool: ... - def deep_erase_samples(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt = ..., *, samplepos: typing.SupportsInt, nsamples: typing.SupportsInt = ...) -> None: ... - def deep_insert_samples(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt = ..., *, samplepos: typing.SupportsInt, nsamples: typing.SupportsInt = ...) -> None: ... - def deep_samples(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt = ...) -> int: ... - def deep_value(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt) -> float: ... - def deep_value_uint(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt) -> int: ... - def deepdata(self) -> DeepData: ... - def get_pixels(self, format: TypeDesc | BASETYPE | str = ..., roi: ROI = ...) -> numpy.ndarray | None: ... - def get_thumbnail(self) -> ImageBuf: ... - def getchannel(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, c: typing.SupportsInt, wrap=...) -> float: ... - def geterror(self, clear: bool = ...) -> str: ... - def getpixel(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt = ..., wrap: str = ...) -> tuple[float, ...]: ... - def init_spec(self, filename: str, subimage: typing.SupportsInt = ..., miplevel: typing.SupportsInt = ...) -> bool: ... - def interppixel(self, x: typing.SupportsFloat, y: typing.SupportsFloat, wrap: str = ...) -> tuple[float, ...]: ... - def interppixel_NDC(self, x: typing.SupportsFloat, y: typing.SupportsFloat, wrap: str = ...) -> tuple[float, ...]: ... - def interppixel_NDC_full(self, x: typing.SupportsFloat, y: typing.SupportsFloat, wrap: str = ...) -> tuple[float, ...]: ... - def interppixel_bicubic(self, x: typing.SupportsFloat, y: typing.SupportsFloat, wrap: str = ...) -> tuple[float, ...]: ... - def interppixel_bicubic_NDC(self, x: typing.SupportsFloat, y: typing.SupportsFloat, wrap: str = ...) -> tuple[float, ...]: ... - def make_writable(self, keep_cache_type: bool = ...) -> bool: ... - def merge_metadata(self, src: ImageBuf, override: bool = ..., pattern: str = ...) -> None: ... - def nativespec(self) -> ImageSpec: ... - def pixelindex(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, check_range: bool = ...) -> int: ... - @overload - def read(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt, force: bool, convert: TypeDesc | BASETYPE | str) -> bool: ... - @overload - def read(self, subimage: typing.SupportsInt = ..., miplevel: typing.SupportsInt = ..., force: bool = ..., convert: TypeDesc | BASETYPE | str = ...) -> bool: ... - @overload - def reset(self, name: str, subimage: typing.SupportsInt = ..., miplevel: typing.SupportsInt = ...) -> None: ... - @overload - def reset(self, name: str, subimage: typing.SupportsInt = ..., miplevel: typing.SupportsInt = ..., config: ImageSpec = ...) -> None: ... - @overload - def reset(self, spec: ImageSpec, zero: bool = ...) -> None: ... - @overload - def reset(self, buffer: typing_extensions.Buffer) -> None: ... - def set_deep_samples(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt = ..., nsamples: typing.SupportsInt = ...) -> None: ... - def set_deep_value(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt, value: typing.SupportsFloat = ...) -> None: ... - def set_deep_value_uint(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, channel: typing.SupportsInt, sample: typing.SupportsInt, value: typing.SupportsInt = ...) -> None: ... - def set_full(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt, arg2: typing.SupportsInt, arg3: typing.SupportsInt, arg4: typing.SupportsInt, arg5: typing.SupportsInt, /) -> None: ... - def set_origin(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt = ...) -> None: ... - def set_pixels(self, roi: ROI, pixels: typing_extensions.Buffer) -> bool: ... - def set_thumbnail(self, thumb: ImageBuf) -> None: ... - def set_write_format(self, arg0: object, /) -> None: ... - def set_write_tiles(self, width: typing.SupportsInt = ..., height: typing.SupportsInt = ..., depth: typing.SupportsInt = ...) -> None: ... - @overload - def setpixel(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, pixel: object) -> None: ... - @overload - def setpixel(self, x: typing.SupportsInt, y: typing.SupportsInt, pixel: object) -> None: ... - @overload - def setpixel(self, i: typing.SupportsInt, pixel: object) -> None: ... - def spec(self) -> ImageSpec: ... - def specmod(self) -> ImageSpec: ... - def swap(self, arg0: ImageBuf, /) -> None: ... - @overload - def write(self, filename: str, dtype: TypeDesc | BASETYPE | str = ..., fileformat: str = ...) -> bool: ... - @overload - def write(self, out: ImageOutput) -> bool: ... - @property - def deep(self) -> bool: ... - @property - def file_format_name(self) -> str: ... - @property - def has_error(self) -> bool: ... - @property - def has_thumbnail(self) -> bool: ... - @property - def initialized(self) -> bool: ... - @property - def miplevel(self) -> int: ... - @property - def name(self) -> str: ... - @property - def nchannels(self) -> int: ... - @property - def nmiplevels(self) -> int: ... - @property - def nsubimages(self) -> int: ... - @property - def oriented_full_height(self) -> int: ... - @property - def oriented_full_width(self) -> int: ... - @property - def oriented_full_x(self) -> int: ... - @property - def oriented_full_y(self) -> int: ... - @property - def oriented_height(self) -> int: ... - @property - def oriented_width(self) -> int: ... - @property - def oriented_x(self) -> int: ... - @property - def oriented_y(self) -> int: ... - @property - def pixels_valid(self) -> bool: ... - @property - def pixeltype(self) -> TypeDesc: ... - @property - def roi(self) -> ROI: ... - @property - def subimage(self) -> int: ... - @property - def xbegin(self) -> int: ... - @property - def xend(self) -> int: ... - @property - def xmax(self) -> int: ... - @property - def xmin(self) -> int: ... - @property - def ybegin(self) -> int: ... - @property - def yend(self) -> int: ... - @property - def ymax(self) -> int: ... - @property - def ymin(self) -> int: ... - @property - def zbegin(self) -> int: ... - @property - def zend(self) -> int: ... - @property - def zmax(self) -> int: ... - @property - def zmin(self) -> int: ... - -class ImageBufAlgo: - def __init__(self, *args, **kwargs) -> None: ... - @overload - @staticmethod - def abs(dst: ImageBuf, A: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def abs(A: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def absdiff(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def absdiff(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def absdiff(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def absdiff(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def add(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def add(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def add(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def add(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def bluenoise_image() -> ImageBuf: ... - @overload - @staticmethod - def channel_append(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def channel_append(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def channel_sum(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def channel_sum(dst: ImageBuf, src: ImageBuf, weight: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def channel_sum(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def channel_sum(src: ImageBuf, weight: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def channels(dst: ImageBuf, src: ImageBuf, channelorder: tuple, newchannelnames: tuple = ..., shuffle_channel_names: bool = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def channels(src: ImageBuf, channelorder: tuple, newchannelnames: tuple = ..., shuffle_channel_names: bool = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def checker(dst: ImageBuf, width: typing.SupportsInt, height: typing.SupportsInt, depth: typing.SupportsInt, color1: object, color2: object, xoffset: typing.SupportsInt = ..., yoffset: typing.SupportsInt = ..., zoffset: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def checker(width: typing.SupportsInt, height: typing.SupportsInt, depth: typing.SupportsInt, color1: object, color2: object, xoffset: typing.SupportsInt = ..., yoffset: typing.SupportsInt = ..., zoffset: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def circular_shift(dst: ImageBuf, src: ImageBuf, xshift: typing.SupportsInt, yshift: typing.SupportsInt, zshift: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def circular_shift(src: ImageBuf, xshift: typing.SupportsInt, yshift: typing.SupportsInt, zshift: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def clamp(dst: ImageBuf, src: ImageBuf, min: float | typing.Iterable[float], max: float | typing.Iterable[float], clampalpha01: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def clamp(src: ImageBuf, min: float | typing.Iterable[float], max: float | typing.Iterable[float], clampalpha01: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def color_map(dst: ImageBuf, src: ImageBuf, srcchannel: typing.SupportsInt, mapname: str, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def color_map(dst: ImageBuf, src: ImageBuf, srcchannel: typing.SupportsInt, nknots: typing.SupportsInt, channels: typing.SupportsInt, knots: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def color_map(src: ImageBuf, srcchannel: typing.SupportsInt, mapname: str, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def color_map(src: ImageBuf, srcchannel: typing.SupportsInt, nknots: typing.SupportsInt, channels: typing.SupportsInt, knots: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def color_range_check(src: ImageBuf, low: object, high: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> tuple[int, ...] | None: ... - @overload - @staticmethod - def colorconvert(dst: ImageBuf, src: ImageBuf, fromspace: str, tospace: str, unpremult: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def colorconvert(dst: ImageBuf, src: ImageBuf, fromspace: str, tospace: str, unpremult: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def colorconvert(src: ImageBuf, fromspace: str, tospace: str, unpremult: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def colorconvert(src: ImageBuf, fromspace: str, tospace: str, unpremult: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def colormatrixtransform(dst: ImageBuf, src: ImageBuf, M: object, unpremult: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def colormatrixtransform(src: ImageBuf, M: object, unpremult: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def compare(A: ImageBuf, B: ImageBuf, failthresh: typing.SupportsFloat, warnthresh: typing.SupportsFloat, result: CompareResults, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def compare(A: ImageBuf, B: ImageBuf, failthresh: typing.SupportsFloat, warnthresh: typing.SupportsFloat, failrelative: typing.SupportsFloat = ..., warnrelative: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> CompareResults: ... - @overload - @staticmethod - def compare(A: ImageBuf, B: ImageBuf, failthresh: typing.SupportsFloat, warnthresh: typing.SupportsFloat, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> CompareResults: ... - @staticmethod - def compare_Yee(A: ImageBuf, B: ImageBuf, result: CompareResults, luminance: typing.SupportsFloat = ..., fov: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def complex_to_polar(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def complex_to_polar(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def computePixelHashSHA1(src: ImageBuf, extrainfo: str = ..., roi: ROI = ..., blocksize: typing.SupportsInt = ..., nthreads: typing.SupportsInt = ...) -> str: ... - @overload - @staticmethod - def computePixelStats(src: ImageBuf, stats: PixelStats, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def computePixelStats(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> PixelStats: ... - @overload - @staticmethod - def contrast_remap(dst: ImageBuf, src: ImageBuf, black: float | typing.Iterable[float] = ..., white: float | typing.Iterable[float] = ..., min: float | typing.Iterable[float] = ..., max: float | typing.Iterable[float] = ..., scontrast: float | typing.Iterable[float] = ..., sthresh: float | typing.Iterable[float] = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def contrast_remap(src: ImageBuf, black: float | typing.Iterable[float] = ..., white: float | typing.Iterable[float] = ..., min: float | typing.Iterable[float] = ..., max: float | typing.Iterable[float] = ..., scontrast: float | typing.Iterable[float] = ..., sthresh: float | typing.Iterable[float] = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def convolve(dst: ImageBuf, src: ImageBuf, kernel: ImageBuf, normalze: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def convolve(src: ImageBuf, kernel: ImageBuf, normalze: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def copy(dst: ImageBuf, src: ImageBuf, convert: TypeDesc | BASETYPE | str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def copy(src: ImageBuf, convert: TypeDesc | BASETYPE | str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def crop(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def crop(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def cut(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def cut(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def deep_holdout(dst: ImageBuf, src: ImageBuf, holdout: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def deep_holdout(src: ImageBuf, holdout: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def deep_merge(dst: ImageBuf, A: ImageBuf, B: ImageBuf, occlusion_cull: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def deep_merge(A: ImageBuf, B: ImageBuf, occlusion_cull: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def deepen(dst: ImageBuf, src: ImageBuf, zvalue: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def deepen(src: ImageBuf, zvalue: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def demosaic(dst: ImageBuf, src: ImageBuf, pattern: str = ..., algorithm: str = ..., layout: str = ..., white_balance_mode: str = ..., white_balance: float | typing.Iterable[float] = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def demosaic(src: ImageBuf, pattern: str = ..., algorithm: str = ..., layout: str = ..., white_balance_mode: str = ..., white_balance: float | typing.Iterable[float] = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def dilate(dst: ImageBuf, src: ImageBuf, width: typing.SupportsInt = ..., height: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def dilate(src: ImageBuf, width: typing.SupportsInt = ..., height: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def div(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def div(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def div(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def div(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def erode(dst: ImageBuf, src: ImageBuf, width: typing.SupportsInt = ..., height: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def erode(src: ImageBuf, width: typing.SupportsInt = ..., height: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def fft(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def fft(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def fill(dst: ImageBuf, values: float | typing.Iterable[float], roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def fill(dst: ImageBuf, top: float | typing.Iterable[float], bottom: float | typing.Iterable[float], roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def fill(dst: ImageBuf, topleft: float | typing.Iterable[float], topright: float | typing.Iterable[float], bottomleft: float | typing.Iterable[float], bottomright: float | typing.Iterable[float], roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def fill(values: float | typing.Iterable[float], roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def fill(top: float | typing.Iterable[float], bottom: float | typing.Iterable[float], roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def fill(topleft: float | typing.Iterable[float], topright: float | typing.Iterable[float], bottomleft: float | typing.Iterable[float], bottomright: float | typing.Iterable[float], roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def fillholes_pushpull(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def fillholes_pushpull(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def fit(dst: ImageBuf, src: ImageBuf, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., fillmode: str = ..., exact: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def fit(src: ImageBuf, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., fillmode: str = ..., exact: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def fixNonFinite(dst: ImageBuf, src: ImageBuf, mode: NonFiniteFixMode = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def fixNonFinite(src: ImageBuf, mode: NonFiniteFixMode = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def flatten(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def flatten(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def flip(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def flip(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def flop(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def flop(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def histogram(src: ImageBuf, channel: typing.SupportsInt = ..., bins: typing.SupportsInt = ..., min: typing.SupportsFloat = ..., max: typing.SupportsFloat = ..., ignore_empty: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> tuple[int, ...]: ... - @overload - @staticmethod - def ifft(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ifft(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def invert(dst: ImageBuf, A: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def invert(A: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def isConstantChannel(src: ImageBuf, channel: typing.SupportsInt, val: typing.SupportsFloat, threshold: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @staticmethod - def isConstantColor(src: ImageBuf, threshold: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> tuple[float, ...] | None: ... - @staticmethod - def isMonochrome(src: ImageBuf, threshold: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def laplacian(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def laplacian(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def mad(dst: ImageBuf, A: ImageBuf, B: ImageBuf, C: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def mad(dst: ImageBuf, A: ImageBuf, B: object, C: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def mad(dst: ImageBuf, A: object, B: ImageBuf, C: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def mad(dst: ImageBuf, A: ImageBuf, B: object, C: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def mad(A: ImageBuf, B: ImageBuf, C: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def mad(A: ImageBuf, B: object, C: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def mad(A: object, B: ImageBuf, C: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def mad(A: ImageBuf, B: object, C: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def make_kernel(dst: ImageBuf, name: str, width: typing.SupportsFloat, height: typing.SupportsFloat, depth: typing.SupportsFloat = ..., normalize: bool = ...) -> bool: ... - @overload - @staticmethod - def make_kernel(name: str, width: typing.SupportsFloat, height: typing.SupportsFloat, depth: typing.SupportsFloat = ..., normalize: bool = ...) -> ImageBuf: ... - @overload - @staticmethod - def make_texture(mode: MakeTextureMode, filename: str, outputfilename: str, config: ImageSpec = ...) -> bool: ... - @overload - @staticmethod - def make_texture(mode: MakeTextureMode, buf: ImageBuf, outputfilename: str, config: ImageSpec = ...) -> bool: ... - @overload - @staticmethod - def max(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def max(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def max(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def max(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def maxchan(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def maxchan(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def median_filter(dst: ImageBuf, src: ImageBuf, width: typing.SupportsInt = ..., height: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def median_filter(src: ImageBuf, width: typing.SupportsInt = ..., height: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def min(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def min(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def min(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def min(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def minchan(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def minchan(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def mul(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def mul(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def mul(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def mul(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def noise(dst: ImageBuf, type: str = ..., A: typing.SupportsFloat = ..., B: typing.SupportsFloat = ..., mono: bool = ..., seed: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def noise(type: str = ..., A: typing.SupportsFloat = ..., B: typing.SupportsFloat = ..., mono: bool = ..., seed: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def nonzero_region(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ROI: ... - @overload - @staticmethod - def normalize(dst: ImageBuf, src: ImageBuf, inCenter: typing.SupportsFloat = ..., outCenter: typing.SupportsFloat = ..., scale: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def normalize(src: ImageBuf, inCenter: typing.SupportsFloat = ..., outCenter: typing.SupportsFloat = ..., scale: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociodisplay(dst: ImageBuf, src: ImageBuf, display: str, view: str, fromspace: str = ..., looks: str = ..., unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociodisplay(dst: ImageBuf, src: ImageBuf, display: str, view: str, fromspace: str = ..., looks: str = ..., unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociodisplay(src: ImageBuf, display: str, view: str, fromspace: str = ..., looks: str = ..., unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociodisplay(src: ImageBuf, display: str, view: str, fromspace: str = ..., looks: str = ..., unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociodisplay(dst: ImageBuf, src: ImageBuf, display: str, view: str, fromspace: str, looks: str, unpremult: bool, context_key: str, context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociodisplay(dst: ImageBuf, src: ImageBuf, display: str, view: str, fromspace: str, looks: str, unpremult: bool, context_key: str, context_value: str, colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociodisplay(src: ImageBuf, display: str, view: str, fromspace: str, looks: str, unpremult: bool, context_key: str, context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociodisplay(src: ImageBuf, display: str, view: str, fromspace: str, looks: str, unpremult: bool, context_key: str, context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociofiletransform(dst: ImageBuf, src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociofiletransform(dst: ImageBuf, src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociofiletransform(src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociofiletransform(src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociolook(dst: ImageBuf, src: ImageBuf, looks: str, fromspace: str, tospace: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociolook(dst: ImageBuf, src: ImageBuf, looks: str, fromspace: str, tospace: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ociolook(src: ImageBuf, looks: str, fromspace: str, tospace: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ociolook(src: ImageBuf, looks: str, fromspace: str, tospace: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ocionamedtransform(dst: ImageBuf, src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ocionamedtransform(dst: ImageBuf, src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def ocionamedtransform(src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def ocionamedtransform(src: ImageBuf, name: str, unpremult: bool = ..., inverse: bool = ..., context_key: str = ..., context_value: str = ..., colorconfig: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def over(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def over(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def paste(dst: ImageBuf, xbegin: typing.SupportsInt, ybegin: typing.SupportsInt, zbegin: typing.SupportsInt, chbegin: typing.SupportsInt, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def polar_to_complex(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def polar_to_complex(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def pow(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def pow(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def premult(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def premult(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def rangecompress(dst: ImageBuf, src: ImageBuf, useluma: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def rangecompress(src: ImageBuf, useluma: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def rangeexpand(dst: ImageBuf, src: ImageBuf, useluma: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def rangeexpand(src: ImageBuf, useluma: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def render_box(dst: ImageBuf, x1: typing.SupportsInt, y1: typing.SupportsInt, x2: typing.SupportsInt, y2: typing.SupportsInt, color: float | typing.Iterable[float] = ..., fill: bool = ...) -> bool: ... - @staticmethod - def render_line(dst: ImageBuf, x1: typing.SupportsInt, y1: typing.SupportsInt, x2: typing.SupportsInt, y2: typing.SupportsInt, color: float | typing.Iterable[float] = ..., skip_first_point: bool = ...) -> bool: ... - @staticmethod - def render_point(dst: ImageBuf, x: typing.SupportsInt, y: typing.SupportsInt, color: float | typing.Iterable[float] = ...) -> bool: ... - @staticmethod - def render_text(dst: ImageBuf, x: typing.SupportsInt, y: typing.SupportsInt, text: str, fontsize: typing.SupportsInt = ..., fontname: str = ..., textcolor: object = ..., alignx: str = ..., aligny: str = ..., shadow: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def reorient(dst: ImageBuf, src: ImageBuf, nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def reorient(src: ImageBuf, nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def repremult(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def repremult(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def resample(dst: ImageBuf, src: ImageBuf, interpolate: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def resample(src: ImageBuf, interpolate: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def resize(dst: ImageBuf, src: ImageBuf, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def resize(src: ImageBuf, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def rotate(dst: ImageBuf, src: ImageBuf, angle: typing.SupportsFloat, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., recompute_roi: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def rotate(dst: ImageBuf, src: ImageBuf, angle: typing.SupportsFloat, center_x: typing.SupportsFloat, center_y: typing.SupportsFloat, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., recompute_roi: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def rotate(src: ImageBuf, angle: typing.SupportsFloat, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., recompute_roi: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def rotate(src: ImageBuf, angle: typing.SupportsFloat, center_x: typing.SupportsFloat, center_y: typing.SupportsFloat, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., recompute_roi: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def rotate180(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def rotate180(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def rotate270(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def rotate270(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def rotate90(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def rotate90(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def saturate(dst: ImageBuf, src: ImageBuf, scale: typing.SupportsFloat = ..., firstchannel: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def saturate(src: ImageBuf, scale: typing.SupportsFloat = ..., firstchannel: typing.SupportsInt = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def scale(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def scale(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def st_warp(dst: ImageBuf, src: ImageBuf, stbuf: ImageBuf, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., chan_s: typing.SupportsInt = ..., chan_t: typing.SupportsInt = ..., flip_s: bool = ..., flip_t: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def st_warp(src: ImageBuf, stbuf: ImageBuf, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., chan_s: typing.SupportsInt = ..., chan_t: typing.SupportsInt = ..., flip_s: bool = ..., flip_t: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def sub(dst: ImageBuf, A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def sub(dst: ImageBuf, A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def sub(A: ImageBuf, B: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def sub(A: ImageBuf, B: object, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @staticmethod - def text_size(text: str, fontsize: typing.SupportsInt = ..., fontname: str = ...) -> ROI: ... - @overload - @staticmethod - def transpose(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def transpose(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def unpremult(dst: ImageBuf, src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def unpremult(src: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def unsharp_mask(dst: ImageBuf, src: ImageBuf, kernel: str = ..., width: typing.SupportsFloat = ..., contrast: typing.SupportsFloat = ..., threshold: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def unsharp_mask(src: ImageBuf, kernel: str = ..., width: typing.SupportsFloat = ..., contrast: typing.SupportsFloat = ..., threshold: typing.SupportsFloat = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def warp(dst: ImageBuf, src: ImageBuf, M: object, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., recompute_roi: bool = ..., wrap: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def warp(src: ImageBuf, M: object, filtername: str = ..., filterwidth: typing.SupportsFloat = ..., recompute_roi: bool = ..., wrap: str = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def zero(dst: ImageBuf, roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def zero(roi: ROI, nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - @overload - @staticmethod - def zover(dst: ImageBuf, A: ImageBuf, B: ImageBuf, z_zeroisinf: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> bool: ... - @overload - @staticmethod - def zover(A: ImageBuf, B: ImageBuf, z_zeroisinf: bool = ..., roi: ROI = ..., nthreads: typing.SupportsInt = ...) -> ImageBuf: ... - -class ImageCache: - def __init__(self, shared: bool = ...) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsFloat, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsInt, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: str, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: TypeDesc | BASETYPE | str, arg2: object, /) -> None: ... - @staticmethod - def destroy(cache: ImageCache, teardown: bool = ...) -> None: ... - def get_cache_dimensions(self, filename: str, subimage: typing.SupportsInt = ..., miplevel: typing.SupportsInt = ...) -> ImageSpec: ... - def get_imagespec(self, filename: str, subimage: typing.SupportsInt = ...) -> ImageSpec: ... - @overload - def get_pixels(self, filename: str, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, xbegin: typing.SupportsInt, xend: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, zbegin: typing.SupportsInt = ..., zend: typing.SupportsInt = ..., datatype: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - @overload - def get_pixels(self, filename: str, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, roi: ROI, datatype: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - def getattribute(self, name: str, type: TypeDesc | BASETYPE | str = ...) -> typing.Any: ... - def getattributetype(self, name: str) -> TypeDesc: ... - def geterror(self, clear: bool = ...) -> str: ... - def getstats(self, level: typing.SupportsInt = ...) -> str: ... - def invalidate(self, filename: str, force: bool = ...) -> None: ... - def invalidate_all(self, force: bool = ...) -> None: ... - def resolve_filename(self, arg0: str, /) -> str: ... - @property - def has_error(self) -> bool: ... - -class ImageInput: - def __init__(self, *args, **kwargs) -> None: ... - def close(self) -> bool: ... - @staticmethod - def create(filename: str, plugin_searchpath: str = ...) -> ImageInput: ... - def current_miplevel(self) -> int: ... - def current_subimage(self) -> int: ... - def format_name(self) -> str: ... - def get_thumbnail(self, *args, **kwargs): ... - def geterror(self, clear: bool = ...) -> str: ... - @overload - @staticmethod - def open(filename: str) -> ImageInput: ... - @overload - @staticmethod - def open(filename: str, config: ImageSpec) -> ImageInput: ... - @overload - def read_image(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - @overload - def read_image(self, chbegin: typing.SupportsInt, chend: typing.SupportsInt, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - @overload - def read_image(self, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - def read_native_deep_image(self, subimage: typing.SupportsInt = ..., miplevel: typing.SupportsInt = ...) -> DeepData: ... - def read_native_deep_scanlines(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, z: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt) -> DeepData: ... - def read_native_deep_tiles(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, xbegin: typing.SupportsInt, xend: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, zbegin: typing.SupportsInt, zend: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt) -> DeepData: ... - def read_scanline(self, y: typing.SupportsInt, z: typing.SupportsInt = ..., format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - @overload - def read_scanlines(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, z: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - @overload - def read_scanlines(self, ybegin: typing.SupportsInt, yend: typing.SupportsInt, z: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - def read_tile(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - @overload - def read_tiles(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt, xbegin: typing.SupportsInt, xend: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, zbegin: typing.SupportsInt, zend: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - @overload - def read_tiles(self, xbegin: typing.SupportsInt, xend: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, zbegin: typing.SupportsInt, zend: typing.SupportsInt, chbegin: typing.SupportsInt, chend: typing.SupportsInt, format: TypeDesc | BASETYPE | str = ...) -> numpy.ndarray | None: ... - def seek_subimage(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt, /) -> bool: ... - @overload - def spec(self) -> ImageSpec: ... - @overload - def spec(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt = ...) -> ImageSpec: ... - def spec_dimensions(self, subimage: typing.SupportsInt, miplevel: typing.SupportsInt = ...) -> ImageSpec: ... - def supports(self, arg0: str, /) -> int: ... - def valid_file(self, arg0: str, /) -> bool: ... - @property - def has_error(self) -> bool: ... - -class ImageOutput: - def __init__(self, *args, **kwargs) -> None: ... - def close(self) -> bool: ... - def copy_image(self, arg0: ImageInput, /) -> bool: ... - @staticmethod - def create(filename: str, plugin_searchpath: str = ...) -> ImageOutput: ... - def format_name(self) -> str: ... - def geterror(self, clear: bool = ...) -> str: ... - @overload - def open(self, filename: str, spec: ImageSpec, mode: str = ...) -> bool: ... - @overload - def open(self, filename: str, specs: collections.abc.Sequence[ImageSpec]) -> bool: ... - @overload - def open(self, arg0: str, arg1: tuple, /) -> bool: ... - def set_thumbnail(self, arg0, /) -> bool: ... - def spec(self) -> ImageSpec: ... - def supports(self, arg0: str, /) -> int: ... - def write_deep_image(self, arg0: DeepData, /) -> bool: ... - def write_deep_scanlines(self, ybegin: typing.SupportsInt, yend: typing.SupportsInt, z: typing.SupportsInt, deepdata: DeepData) -> bool: ... - def write_deep_tiles(self, xbegin: typing.SupportsInt, xend: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, zbegin: typing.SupportsInt, zend: typing.SupportsInt, deepdata: DeepData) -> bool: ... - def write_image(self, arg0: typing_extensions.Buffer, /) -> bool: ... - def write_scanline(self, y: typing.SupportsInt, z: typing.SupportsInt, pixels: typing_extensions.Buffer) -> bool: ... - def write_scanlines(self, ybegin: typing.SupportsInt, yend: typing.SupportsInt, z: typing.SupportsInt, pixels: typing_extensions.Buffer) -> bool: ... - def write_tile(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt, pixels: typing_extensions.Buffer) -> bool: ... - def write_tiles(self, xbegin: typing.SupportsInt, xend: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, zbegin: typing.SupportsInt, zend: typing.SupportsInt, pixels: typing_extensions.Buffer) -> bool: ... - @property - def has_error(self) -> bool: ... - -class ImageSpec: - alpha_channel: int - channelformats: tuple - channelnames: tuple - deep: bool - depth: int - extra_attribs: ParamValueList - format: TypeDesc - full_depth: int - full_height: int - full_width: int - full_x: int - full_y: int - full_z: int - height: int - nchannels: int - roi: Incomplete - roi_full: Incomplete - tile_depth: int - tile_height: int - tile_width: int - width: int - x: int - y: int - z: int - z_channel: int - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt, arg2: typing.SupportsInt, arg3: TypeDesc | BASETYPE | str, /) -> None: ... - @overload - def __init__(self, arg0, arg1: TypeDesc | BASETYPE | str, /) -> None: ... - @overload - def __init__(self, arg0: TypeDesc | BASETYPE | str, /) -> None: ... - @overload - def __init__(self, arg0: ImageSpec, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsFloat, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsInt, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: str, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: TypeDesc | BASETYPE | str, arg2: object, /) -> None: ... - @overload - def channel_bytes(self) -> int: ... - @overload - def channel_bytes(self, channel: typing.SupportsInt, native: bool = ...) -> int: ... - def channel_name(self, arg0: typing.SupportsInt, /) -> str: ... - def channelformat(self, arg0: typing.SupportsInt, /) -> TypeDesc: ... - def channelindex(self, arg0: str, /) -> int: ... - def copy(self) -> ImageSpec: ... - def copy_dimensions(self, other: ImageSpec) -> None: ... - def default_channel_names(self) -> None: ... - def erase_attribute(self, name: str = ..., type: TypeDesc | BASETYPE | str = ..., casesensitive: bool = ...) -> None: ... - def from_xml(self, arg0: str, /) -> None: ... - def get(self, key: str, default: object = ...) -> typing.Any: ... - def get_bytes_attribute(self, name: str, defaultval: str = ...) -> bytes: ... - def get_channelformats(self) -> tuple[TypeDesc, ...]: ... - def get_float_attribute(self, name: str, defaultval: typing.SupportsFloat = ...) -> float: ... - def get_int_attribute(self, name: str, defaultval: typing.SupportsInt = ...) -> int: ... - def get_string_attribute(self, name: str, defaultval: str = ...) -> str: ... - def getattribute(self, name: str, type: TypeDesc | BASETYPE | str = ...) -> typing.Any: ... - @overload - def image_bytes(self, native: bool = ...) -> int: ... - @overload - def image_bytes(self, native: TypeDesc | BASETYPE | str = ...) -> int: ... - def image_pixels(self) -> int: ... - @staticmethod - def metadata_val(param: ParamValue, human: bool = ...) -> str: ... - @overload - def pixel_bytes(self, native: bool = ...) -> int: ... - @overload - def pixel_bytes(self, chbegin: typing.SupportsInt, chend: typing.SupportsInt, native: bool = ...) -> int: ... - @overload - def scanline_bytes(self, native: bool = ...) -> int: ... - @overload - def scanline_bytes(self, arg0: TypeDesc | BASETYPE | str, /) -> int: ... - def serialize(self, format: str = ..., verbose: str = ...) -> str: ... - def set_colorspace(self, name: str) -> None: ... - def set_format(self, arg0: TypeDesc | BASETYPE | str, /) -> None: ... - def size_t_safe(self) -> bool: ... - @overload - def tile_bytes(self, native: bool = ...) -> int: ... - @overload - def tile_bytes(self, arg0: TypeDesc | BASETYPE | str, /) -> int: ... - def tile_pixels(self) -> int: ... - def to_xml(self) -> str: ... - def valid_tile_range(self, xbegin: typing.SupportsInt, xend: typing.SupportsInt, ybegin: typing.SupportsInt, yend: typing.SupportsInt, zbegin: typing.SupportsInt = ..., zend: typing.SupportsInt = ...) -> bool: ... - def __contains__(self, arg0: str, /) -> bool: ... - def __delitem__(self, arg0: str, /) -> None: ... - def __getitem__(self, arg0: str, /) -> object: ... - def __setitem__(self, arg0: str, arg1: object, /) -> None: ... - -class Interp: - __members__: ClassVar[dict] = ... # read-only - CONSTANT: ClassVar[Interp] = ... - INTERP_CONSTANT: ClassVar[Interp] = ... - INTERP_LINEAR: ClassVar[Interp] = ... - INTERP_PERPIECE: ClassVar[Interp] = ... - INTERP_VERTEX: ClassVar[Interp] = ... - LINEAR: ClassVar[Interp] = ... - PERPIECE: ClassVar[Interp] = ... - VERTEX: ClassVar[Interp] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class InterpMode: - __members__: ClassVar[dict] = ... # read-only - Bicubic: ClassVar[InterpMode] = ... - Bilinear: ClassVar[InterpMode] = ... - Closest: ClassVar[InterpMode] = ... - SmartBicubic: ClassVar[InterpMode] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class MakeTextureMode: - __members__: ClassVar[dict] = ... # read-only - MakeTxBumpWithSlopes: ClassVar[MakeTextureMode] = ... - MakeTxEnvLatl: ClassVar[MakeTextureMode] = ... - MakeTxEnvLatlFromLightProbe: ClassVar[MakeTextureMode] = ... - MakeTxShadow: ClassVar[MakeTextureMode] = ... - MakeTxTexture: ClassVar[MakeTextureMode] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class MipMode: - __members__: ClassVar[dict] = ... # read-only - Aniso: ClassVar[MipMode] = ... - Default: ClassVar[MipMode] = ... - NoMIP: ClassVar[MipMode] = ... - OneLevel: ClassVar[MipMode] = ... - Trilinear: ClassVar[MipMode] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class NonFiniteFixMode: - __members__: ClassVar[dict] = ... # read-only - NONFINITE_BLACK: ClassVar[NonFiniteFixMode] = ... - NONFINITE_BOX3: ClassVar[NonFiniteFixMode] = ... - NONFINITE_NONE: ClassVar[NonFiniteFixMode] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class ParamValue: - @overload - def __init__(self, arg0: str, arg1: typing.SupportsInt, /) -> None: ... - @overload - def __init__(self, arg0: str, arg1: typing.SupportsFloat, /) -> None: ... - @overload - def __init__(self, arg0: str, arg1: str, /) -> None: ... - @overload - def __init__(self, name: str, type: TypeDesc | BASETYPE | str, value: object) -> None: ... - @overload - def __init__(self, name: str, type: TypeDesc | BASETYPE | str, nvalues: typing.SupportsInt, interp: Interp, value: object) -> None: ... - @property - def name(self) -> str: ... - @property - def type(self) -> TypeDesc: ... - @property - def value(self) -> object: ... - @property - def __len__(self) -> int: ... - -class ParamValueList: - def __init__(self) -> None: ... - def add_or_replace(self, value: ParamValue, casesensitive: bool = ...) -> None: ... - def append(self, arg0: ParamValue, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsFloat, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsInt, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: str, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: TypeDesc | BASETYPE | str, arg2: object, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: TypeDesc | BASETYPE | str, arg2: typing.SupportsInt, arg3: object, /) -> None: ... - def clear(self) -> None: ... - def contains(self, name: str, type: TypeDesc | BASETYPE | str = ..., casesensitive: bool = ...) -> bool: ... - def free(self) -> None: ... - def merge(self, other: ParamValueList, override: bool = ...) -> None: ... - def remove(self, name: str, type: TypeDesc | BASETYPE | str = ..., casesensitive: bool = ...) -> None: ... - def resize(self, arg0: typing.SupportsInt, /) -> None: ... - def sort(self, casesensitive: bool = ...) -> None: ... - def __contains__(self, arg0: str, /) -> bool: ... - def __delitem__(self, arg0: str, /) -> None: ... - @overload - def __getitem__(self, arg0: typing.SupportsInt, /) -> ParamValue: ... - @overload - def __getitem__(self, arg0: str, /) -> object: ... - def __iter__(self) -> collections.abc.Iterator[ParamValue]: ... - def __len__(self) -> int: ... - def __setitem__(self, arg0: str, arg1: object, /) -> None: ... - -class PixelStats: - def __init__(self) -> None: ... - @property - def avg(self) -> list[float]: ... - @property - def finitecount(self) -> list[int]: ... - @property - def infcount(self) -> list[int]: ... - @property - def max(self) -> list[float]: ... - @property - def min(self) -> list[float]: ... - @property - def nancount(self) -> list[int]: ... - @property - def stddev(self) -> list[float]: ... - @property - def sum(self) -> list[float]: ... - @property - def sum2(self) -> list[float]: ... - -class ROI: - All: ClassVar[ROI] = ... # read-only - chbegin: int - chend: int - xbegin: int - xend: int - ybegin: int - yend: int - zbegin: int - zend: int - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt, arg2: typing.SupportsInt, arg3: typing.SupportsInt, /) -> None: ... - @overload - def __init__(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt, arg2: typing.SupportsInt, arg3: typing.SupportsInt, arg4: typing.SupportsInt, arg5: typing.SupportsInt, /) -> None: ... - @overload - def __init__(self, arg0: typing.SupportsInt, arg1: typing.SupportsInt, arg2: typing.SupportsInt, arg3: typing.SupportsInt, arg4: typing.SupportsInt, arg5: typing.SupportsInt, arg6: typing.SupportsInt, arg7: typing.SupportsInt, /) -> None: ... - @overload - def __init__(self, arg0: ROI, /) -> None: ... - @overload - def contains(self, x: typing.SupportsInt, y: typing.SupportsInt, z: typing.SupportsInt = ..., ch: typing.SupportsInt = ...) -> bool: ... - @overload - def contains(self, other: ROI) -> bool: ... - def copy(self) -> ROI: ... - def __eq__(self, other: object) -> bool: ... - def __ne__(self, other: object) -> bool: ... - @property - def defined(self) -> bool: ... - @property - def depth(self) -> int: ... - @property - def height(self) -> int: ... - @property - def nchannels(self) -> int: ... - @property - def npixels(self) -> int: ... - @property - def width(self) -> int: ... - -class TextureOpt: - anisotropic: int - conservative_filter: bool - fill: float - firstchannel: int - interpmode: InterpMode - mipmode: MipMode - missingcolor: tuple - rnd: float - rwidth: float - rwrap: Wrap - sblur: float - subimage: int - subimagename: str - swidth: float - swrap: Wrap - tblur: float - twidth: float - twrap: Wrap - def __init__(self) -> None: ... - -class TextureSystem: - def __init__(self, shared: bool = ...) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsFloat, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: typing.SupportsInt, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: str, /) -> None: ... - @overload - def attribute(self, arg0: str, arg1: TypeDesc | BASETYPE | str, arg2: object, /) -> None: ... - def close(self, filename: str) -> None: ... - def close_all(self) -> None: ... - @staticmethod - def destroy(arg0: TextureSystem, /) -> None: ... - def environment(self, filename: str, options: TextureOpt, R, dRdx, dRdy, nchannels: typing.SupportsInt) -> tuple[float, ...]: ... - def getattribute(self, name: str, type: TypeDesc | BASETYPE | str = ...) -> typing.Any: ... - def getattributetype(self, name: str) -> TypeDesc: ... - def geterror(self, clear: bool = ...) -> str: ... - def getstats(self, level: typing.SupportsInt = ..., icstats: bool = ...) -> str: ... - def has_error(self) -> bool: ... - def imagespec(self, filename: str, subimage: typing.SupportsInt = ...) -> ImageSpec | None: ... - def invalidate(self, filename: str, force: bool = ...) -> None: ... - def invalidate_all(self, force: bool = ...) -> None: ... - def inventory_udim(self, filename: str) -> tuple: ... - def is_udim(self, filename: str) -> bool: ... - def reset_stats(self) -> None: ... - def resolve_filename(self, filename: str) -> str: ... - def resolve_udim(self, filename: str, s: typing.SupportsFloat, t: typing.SupportsFloat) -> str: ... - def texture(self, filename: str, options: TextureOpt, s: typing.SupportsFloat, t: typing.SupportsFloat, dsdx: typing.SupportsFloat, dtdx: typing.SupportsFloat, dsdy: typing.SupportsFloat, dtdy: typing.SupportsFloat, nchannels: typing.SupportsInt) -> tuple[float, ...]: ... - def texture3d(self, filename: str, options: TextureOpt, P, dPdx, dPdy, dPdz, nchannels: typing.SupportsInt) -> tuple[float, ...]: ... - -class TypeDesc: - aggregate: AGGREGATE - arraylen: int - basetype: BASETYPE - vecsemantics: VECSEMANTICS - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: TypeDesc | BASETYPE | str, /) -> None: ... - @overload - def __init__(self, arg0: BASETYPE, /) -> None: ... - @overload - def __init__(self, arg0: BASETYPE, arg1: AGGREGATE, /) -> None: ... - @overload - def __init__(self, arg0: BASETYPE, arg1: AGGREGATE, arg2: VECSEMANTICS, /) -> None: ... - @overload - def __init__(self, arg0: BASETYPE, arg1: AGGREGATE, arg2: VECSEMANTICS, arg3: typing.SupportsInt, /) -> None: ... - @overload - def __init__(self, arg0: str, /) -> None: ... - def basesize(self) -> int: ... - def basevalues(self) -> int: ... - def c_str(self) -> str: ... - def elementsize(self) -> int: ... - def elementtype(self) -> TypeDesc: ... - def equivalent(self, arg0: TypeDesc | BASETYPE | str, /) -> bool: ... - def fromstring(self, arg0: str, /) -> None: ... - def is_box2(self, arg0: BASETYPE, /) -> bool: ... - def is_box3(self, arg0: BASETYPE, /) -> bool: ... - def is_vec2(self, arg0: BASETYPE, /) -> bool: ... - def is_vec3(self, arg0: BASETYPE, /) -> bool: ... - def is_vec4(self, arg0: BASETYPE, /) -> bool: ... - def numelements(self) -> int: ... - def size(self) -> int: ... - def unarray(self) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __ne__(self, other: object) -> bool: ... - -class VECSEMANTICS: - __members__: ClassVar[dict] = ... # read-only - BOX: ClassVar[VECSEMANTICS] = ... - COLOR: ClassVar[VECSEMANTICS] = ... - KEYCODE: ClassVar[VECSEMANTICS] = ... - NORMAL: ClassVar[VECSEMANTICS] = ... - NOSEMANTICS: ClassVar[VECSEMANTICS] = ... - NOXFORM: ClassVar[VECSEMANTICS] = ... - POINT: ClassVar[VECSEMANTICS] = ... - RATIONAL: ClassVar[VECSEMANTICS] = ... - TIMECODE: ClassVar[VECSEMANTICS] = ... - VECTOR: ClassVar[VECSEMANTICS] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -class Wrap: - __members__: ClassVar[dict] = ... # read-only - Black: ClassVar[Wrap] = ... - Clamp: ClassVar[Wrap] = ... - Default: ClassVar[Wrap] = ... - Last: ClassVar[Wrap] = ... - Mirror: ClassVar[Wrap] = ... - Periodic: ClassVar[Wrap] = ... - PeriodicPow2: ClassVar[Wrap] = ... - PeriodicSharedBorder: ClassVar[Wrap] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: typing.SupportsInt) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self): ... - @property - def value(self) -> int: ... - -@overload -def attribute(arg0: str, arg1: typing.SupportsFloat, /) -> None: ... -@overload -def attribute(arg0: str, arg1: typing.SupportsInt, /) -> None: ... -@overload -def attribute(arg0: str, arg1: str, /) -> None: ... -@overload -def attribute(arg0: str, arg1: TypeDesc | BASETYPE | str, arg2: object, /) -> None: ... -def equivalent_colorspace(arg0: str, arg1: str, /) -> bool: ... -def get_bytes_attribute(name: str, defaultval: str = ...) -> bytes: ... -def get_float_attribute(name: str, defaultval: typing.SupportsFloat = ...) -> float: ... -def get_int_attribute(name: str, defaultval: typing.SupportsInt = ...) -> int: ... -def get_roi(arg0: ImageSpec, /) -> ROI: ... -def get_roi_full(arg0: ImageSpec, /) -> ROI: ... -def get_string_attribute(name: str, defaultval: str = ...) -> str: ... -def getattribute(arg0: str, arg1: TypeDesc | BASETYPE | str, /) -> typing.Any: ... -def geterror(clear: bool = ...) -> str: ... -def intersection(arg0: ROI, arg1: ROI, /) -> ROI: ... -def is_imageio_format_name(name: str) -> bool: ... -def set_colorspace(spec: ImageSpec, name: str) -> None: ... -def set_colorspace_rec709_gamma(arg0: ImageSpec, arg1: typing.SupportsFloat, /) -> None: ... -def set_roi(arg0: ImageSpec, arg1: ROI, /) -> None: ... -def set_roi_full(arg0: ImageSpec, arg1: ROI, /) -> None: ... -def union(arg0: ROI, arg1: ROI, /) -> ROI: ... diff --git a/src/r3d.imageio/r3dinput.cpp b/src/r3d.imageio/r3dinput.cpp index 59998f3329..fe90b5ebed 100644 --- a/src/r3d.imageio/r3dinput.cpp +++ b/src/r3d.imageio/r3dinput.cpp @@ -5,9 +5,9 @@ // R3D SDK can be downloaded from the following site: // https://www.red.com/download/r3d-sdk // -// The code has been tested with the version 8.5.1 installed in -// /opt/R3DSDKv8_5_1 directory and setting up the variable -// export R3DSDK_ROOT="/opt/R3DSDKv8_5_1" +// The code has been tested with the version 9.1.2 installed in +// /opt/R3DSDKv9_1_2 directory and setting up the variable +// export R3DSDK_ROOT="/opt/R3DSDKv9_1_2" #include #include @@ -149,7 +149,7 @@ OIIO_EXPORT const char* r3d_imageio_library_version() { // Note: SDK version can differ from the actual library loaded - return "R3D 8.5.1"; + return "R3D 9.1.2"; } OIIO_EXPORT ImageInput* @@ -158,7 +158,7 @@ r3d_input_imageio_create() return new R3dInput; } -OIIO_EXPORT const char* r3d_input_extensions[] = { "r3d", nullptr }; +OIIO_EXPORT const char* r3d_input_extensions[] = { "r3d", "nev", nullptr }; OIIO_PLUGIN_EXPORTS_END @@ -172,11 +172,11 @@ R3dInput::initialize() std::string library_path = Sysutil::getenv("OIIO_R3D_LIBRARY_PATH", #if defined(__linux__) - "/opt/R3DSDKv8_5_1/Redistributable/linux" + "/opt/R3DSDKv9_1_2/Redistributable/linux" #elif defined(__APPLE__) - "/Library/R3DSDKv8_5_1/Redistributable/mac" + "/Library/R3DSDKv9_1_2/Redistributable/mac" #elif defined(__WINDOWS__) - "C:\\R3DSDKv8_5_1\\Redistributable\\win" + "C:\\R3DSDKv9_1_2\\Redistributable\\win" #else # error "Unknown OS" #endif @@ -280,7 +280,6 @@ R3dInput::open(const std::string& name, ImageSpec& newspec) // Interleaved RGB decoding in 16-bits per pixel m_job.PixelType = R3DSDK::PixelType_16Bit_RGB_Interleaved; - m_job.BytesPerRow = m_channels * width * sizeof(uint16_t); m_spec = ImageSpec(width, height, m_channels, TypeDesc::UINT16); m_spec.attribute("FramesPerSecond", TypeFloat, &m_fps);