1 from collections.abc import MutableMapping
2 from numbers import Rational
5 from .ImageFile import ImageFile
17 PHOTOMETRIC_INTERPRETATION: int
26 PLANAR_CONFIGURATION: int
39 REFERENCEBLACKWHITE: int
47 IMAGEJ_META_DATA_BYTE_COUNTS: int
50 COMPRESSION_INFO_REV: Any
54 class IFDRational(Rational):
55 def __init__(self, value, denominator: int = ...) -> None: ...
59 def denominator(a): ...
60 def limit_rational(self, max_denominator): ...
61 def __hash__(self): ...
62 def __eq__(self, other): ...
90 class ImageFileDirectory_v2(MutableMapping[int, Any]):
92 tagtype: dict[int, int]
93 def __init__(self, ifh: bytes = ..., prefix: bytes | None = ..., group: int | None = ...) -> None: ...
95 def prefix(self) -> bytes: ...
97 def offset(self) -> int | None: ...
99 def legacy_api(self) -> bool: ...
100 def reset(self) -> None: ...
102 def __len__(self) -> int: ...
103 def __getitem__(self, tag): ...
104 def __contains__(self, tag): ...
105 def __setitem__(self, tag, value) -> None: ...
106 def __delitem__(self, tag) -> None: ...
107 def __iter__(self): ...
108 def load_byte(self, data, legacy_api: bool = ...): ...
109 def write_byte(self, data): ...
110 def load_string(self, data, legacy_api: bool = ...): ...
111 def write_string(self, value): ...
112 def load_rational(self, data, legacy_api: bool = ...): ...
113 def write_rational(self, *values): ...
114 def load_undefined(self, data, legacy_api: bool = ...): ...
115 def write_undefined(self, value): ...
116 def load_signed_rational(self, data, legacy_api: bool = ...): ...
117 def write_signed_rational(self, *values): ...
118 def load(self, fp) -> None: ...
119 def tobytes(self, offset: int = ...): ...
120 def save(self, fp): ...
122 class ImageFileDirectory_v1(ImageFileDirectory_v2):
123 def __init__(self, *args, **kwargs) -> None: ...
126 tagtype: dict[int, int]
128 def from_v2(cls, original): ...
130 def __contains__(self, tag): ...
131 def __len__(self): ...
132 def __iter__(self): ...
133 def __setitem__(self, tag, value) -> None: ...
134 def __getitem__(self, tag): ...
136 ImageFileDirectory = ImageFileDirectory_v1
138 class TiffImageFile(ImageFile):
140 format_description: str
143 def __init__(self, fp: Any | None = ..., filename: Any | None = ...) -> None: ...
145 def n_frames(self): ...
147 def seek(self, frame) -> None: ...
150 def load_end(self) -> None: ...
154 class AppendingTiffWriter:
161 def __init__(self, fn, new: bool = ...) -> None: ...
162 whereToWriteNewIFDOffset: Any
166 def setup(self) -> None: ...
167 def finalize(self) -> None: ...
168 def newFrame(self) -> None: ...
169 def __enter__(self): ...
170 def __exit__(self, exc_type, exc_value, traceback): ...
172 def seek(self, offset, whence=...): ...
173 def goToEnd(self) -> None: ...
178 def setEndian(self, endian) -> None: ...
179 def skipIFDs(self) -> None: ...
180 def write(self, data): ...
181 def readShort(self): ...
182 def readLong(self): ...
183 def rewriteLastShortToLong(self, value) -> None: ...
184 def rewriteLastShort(self, value) -> None: ...
185 def rewriteLastLong(self, value) -> None: ...
186 def writeShort(self, value) -> None: ...
187 def writeLong(self, value) -> None: ...
188 def close(self) -> None: ...
189 def fixIFD(self) -> None: ...
190 def fixOffsets(self, count, isShort: bool = ..., isLong: bool = ...) -> None: ...