|
2 | 2 | # cython: embedsignature=True |
3 | 3 | # cython: language_level=3 |
4 | 4 |
|
5 | | -from __future__ import print_function, annotations |
6 | | -from typing import Optional, Union, Tuple, List, Any |
| 5 | +from __future__ import print_function |
| 6 | + |
| 7 | +from typing import TYPE_CHECKING |
| 8 | + |
| 9 | +if TYPE_CHECKING: |
| 10 | + from typing import Optional, Union, Tuple, List, Any |
7 | 11 |
|
8 | 12 | from cpython.ref cimport PyObject, Py_INCREF |
9 | 13 | from cpython.bytes cimport PyBytes_FromStringAndSize |
@@ -382,7 +386,7 @@ cdef class RawPy: |
382 | 386 | def __enter__(self) -> 'RawPy': |
383 | 387 | return self |
384 | 388 |
|
385 | | - def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: |
| 389 | + def __exit__(self, exc_type: 'Any', exc_val: 'Any', exc_tb: 'Any') -> None: |
386 | 390 | self.close() |
387 | 391 |
|
388 | 392 | def close(self) -> None: |
@@ -423,7 +427,7 @@ cdef class RawPy: |
423 | 427 | res = self.p.open_file(path.encode('UTF-8')) |
424 | 428 | self.handle_error(res) |
425 | 429 |
|
426 | | - def open_buffer(self, fileobj: Any) -> None: |
| 430 | + def open_buffer(self, fileobj: 'Any') -> None: |
427 | 431 | """ |
428 | 432 | Opens the given RAW image file-like object. Should be followed by a call to :meth:`~rawpy.RawPy.unpack`. |
429 | 433 |
|
@@ -800,7 +804,7 @@ cdef class RawPy: |
800 | 804 | return np.PyArray_SimpleNewFromData(1, shape, np.NPY_USHORT, |
801 | 805 | &self.p.imgdata.rawdata.color.curve) |
802 | 806 |
|
803 | | - def dcraw_process(self, params: Optional['Params'] = None, **kw) -> None: |
| 807 | + def dcraw_process(self, params: 'Optional[Params]' = None, **kw) -> None: |
804 | 808 | """ |
805 | 809 | Postprocess the currently loaded RAW image. |
806 | 810 |
|
@@ -905,7 +909,7 @@ cdef class RawPy: |
905 | 909 | thumb = self.dcraw_make_mem_thumb() |
906 | 910 | return thumb |
907 | 911 |
|
908 | | - def postprocess(self, params: Optional['Params'] = None, **kw) -> np.ndarray: |
| 912 | + def postprocess(self, params: 'Optional[Params]' = None, **kw) -> 'np.ndarray': |
909 | 913 | """ |
910 | 914 | Postprocess the currently loaded RAW image and return the |
911 | 915 | new resulting image as numpy array. |
@@ -1097,33 +1101,33 @@ class Params(object): |
1097 | 1101 | A class that handles postprocessing parameters. |
1098 | 1102 | """ |
1099 | 1103 | def __init__(self, |
1100 | | - demosaic_algorithm: Optional['DemosaicAlgorithm'] = None, |
| 1104 | + demosaic_algorithm: 'Optional[DemosaicAlgorithm]' = None, |
1101 | 1105 | half_size: bool = False, |
1102 | 1106 | four_color_rgb: bool = False, |
1103 | 1107 | dcb_iterations: int = 0, |
1104 | 1108 | dcb_enhance: bool = False, |
1105 | 1109 | fbdd_noise_reduction: 'FBDDNoiseReductionMode' = FBDDNoiseReductionMode.Off, |
1106 | | - noise_thr: Optional[float] = None, |
| 1110 | + noise_thr: 'Optional[float]' = None, |
1107 | 1111 | median_filter_passes: int = 0, |
1108 | 1112 | use_camera_wb: bool = False, |
1109 | 1113 | use_auto_wb: bool = False, |
1110 | | - user_wb: Optional[List[float]] = None, |
| 1114 | + user_wb: 'Optional[List[float]]' = None, |
1111 | 1115 | output_color: 'ColorSpace' = ColorSpace.sRGB, |
1112 | 1116 | output_bps: int = 8, |
1113 | | - user_flip: Optional[int] = None, |
1114 | | - user_black: Optional[int] = None, |
1115 | | - user_sat: Optional[int] = None, |
| 1117 | + user_flip: 'Optional[int]' = None, |
| 1118 | + user_black: 'Optional[int]' = None, |
| 1119 | + user_sat: 'Optional[int]' = None, |
1116 | 1120 | no_auto_bright: bool = False, |
1117 | | - auto_bright_thr: Optional[float] = None, |
| 1121 | + auto_bright_thr: 'Optional[float]' = None, |
1118 | 1122 | adjust_maximum_thr: float = 0.75, |
1119 | 1123 | bright: float = 1.0, |
1120 | | - highlight_mode: Union['HighlightMode', int] = HighlightMode.Clip, |
1121 | | - exp_shift: Optional[float] = None, |
| 1124 | + highlight_mode: 'Union[HighlightMode, int]' = HighlightMode.Clip, |
| 1125 | + exp_shift: 'Optional[float]' = None, |
1122 | 1126 | exp_preserve_highlights: float = 0.0, |
1123 | 1127 | no_auto_scale: bool = False, |
1124 | | - gamma: Optional[Tuple[float, float]] = None, |
1125 | | - chromatic_aberration: Optional[Tuple[float, float]] = None, |
1126 | | - bad_pixels_path: Optional[str] = None) -> None: |
| 1128 | + gamma: 'Optional[Tuple[float, float]]' = None, |
| 1129 | + chromatic_aberration: 'Optional[Tuple[float, float]]' = None, |
| 1130 | + bad_pixels_path: 'Optional[str]' = None) -> None: |
1127 | 1131 | """ |
1128 | 1132 |
|
1129 | 1133 | If use_camera_wb and use_auto_wb are False and user_wb is None, then |
|
0 commit comments