|
81 | 81 | can be loaded with and without a default flip, so the saved zoom will not
|
82 | 82 | constrain the affine.
|
83 | 83 | """
|
| 84 | +from __future__ import annotations |
| 85 | + |
| 86 | +from typing import Type |
84 | 87 |
|
85 | 88 | import numpy as np
|
86 | 89 |
|
87 | 90 | from .arrayproxy import ArrayProxy
|
88 | 91 | from .arraywriters import ArrayWriter, WriterError, get_slope_inter, make_array_writer
|
89 | 92 | from .batteryrunners import Report
|
90 | 93 | from .fileholders import copy_file_map
|
91 |
| -from .spatialimages import HeaderDataError, HeaderTypeError, SpatialImage |
| 94 | +from .spatialimages import HeaderDataError, HeaderTypeError, SpatialHeader, SpatialImage |
92 | 95 | from .volumeutils import (
|
93 | 96 | apply_read_scaling,
|
94 | 97 | array_from_file,
|
|
131 | 134 | ('glmax', 'i4'),
|
132 | 135 | ('glmin', 'i4'),
|
133 | 136 | ]
|
134 |
| -data_history_dtd = [ |
| 137 | +data_history_dtd: list[tuple[str, str] | tuple[str, str, tuple[int, ...]]] = [ |
135 | 138 | ('descrip', 'S80'),
|
136 | 139 | ('aux_file', 'S24'),
|
137 | 140 | ('orient', 'S1'),
|
|
172 | 175 | data_type_codes = make_dt_codes(_dtdefs)
|
173 | 176 |
|
174 | 177 |
|
175 |
| -class AnalyzeHeader(LabeledWrapStruct): |
| 178 | +class AnalyzeHeader(LabeledWrapStruct, SpatialHeader): |
176 | 179 | """Class for basic analyze header
|
177 | 180 |
|
178 | 181 | Implements zoom-only setting of affine transform, and no image
|
@@ -892,11 +895,11 @@ def may_contain_header(klass, binaryblock):
|
892 | 895 | class AnalyzeImage(SpatialImage):
|
893 | 896 | """Class for basic Analyze format image"""
|
894 | 897 |
|
895 |
| - header_class = AnalyzeHeader |
| 898 | + header_class: Type[AnalyzeHeader] = AnalyzeHeader |
896 | 899 | _meta_sniff_len = header_class.sizeof_hdr
|
897 |
| - files_types = (('image', '.img'), ('header', '.hdr')) |
898 |
| - valid_exts = ('.img', '.hdr') |
899 |
| - _compressed_suffixes = ('.gz', '.bz2', '.zst') |
| 900 | + files_types: tuple[tuple[str, str], ...] = (('image', '.img'), ('header', '.hdr')) |
| 901 | + valid_exts: tuple[str, ...] = ('.img', '.hdr') |
| 902 | + _compressed_suffixes: tuple[str, ...] = ('.gz', '.bz2', '.zst') |
900 | 903 |
|
901 | 904 | makeable = True
|
902 | 905 | rw = True
|
|
0 commit comments