• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

winter-telescope / winterdrp / 3597069237

pending completion
3597069237

Pull #224

github

GitHub
Merge 7b7dc3e1e into 3f47e794f
Pull Request #224: Code with Style

1490 of 1490 new or added lines in 93 files covered. (100.0%)

4571 of 6109 relevant lines covered (74.82%)

0.75 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

94.87
/winterdrp/data/image_data.py
1
import logging
1✔
2

3
import numpy as np
1✔
4
from astropy.io.fits import Header
1✔
5

6
from winterdrp.data.base_data import DataBatch, DataBlock
1✔
7
from winterdrp.errors import ProcessorError
1✔
8

9
logger = logging.getLogger(__name__)
1✔
10

11

12
class MissingReferenceError(ProcessorError, KeyError):
1✔
13
    pass
1✔
14

15

16
class Image(DataBlock):
1✔
17
    def __init__(self, data: np.ndarray, header: Header):
1✔
18
        self.data = data
1✔
19
        self.header = header
1✔
20
        super().__init__()
1✔
21

22
    def __str__(self):
1✔
23
        return (
×
24
            f"<An {self.__class__.__name__} object, " f"built from {self.get_name()}>"
25
        )
26

27
    def get_data(self) -> np.ndarray:
1✔
28
        return self.data
1✔
29

30
    def set_data(self, data: np.ndarray):
1✔
31
        self.data = data
1✔
32

33
    def get_header(self) -> Header:
1✔
34
        return self.header
1✔
35

36
    def set_header(self, header: Header):
1✔
37
        self.header = header
1✔
38

39
    def __getitem__(self, item):
1✔
40
        return self.header.__getitem__(item)
1✔
41

42
    def __setitem__(self, key, value):
1✔
43
        self.header.__setitem__(key, value)
1✔
44

45
    def keys(self):
1✔
46
        return self.header.keys()
1✔
47

48

49
# class DifferenceImage(Image):
50
#
51
#     def __init__(self, *args, **kwargs):
52
#         super().__init__(*args, **kwargs)
53
#
54
#         if ref_img_key not in self.keys():
55
#             err = f"No reference image data found in header. " \
56
#                   f"Please add '{ref_img_key} = /path/to/ref' to image {self.get_name()}"
57
#             logger.error(err)
58
#             raise MissingReferenceError(err)
59
#
60
#         self.ref_img_path = Path(self[ref_img_key])
61
#         self.ref_img_name = self.ref_img_path.name
62
#
63
#     def get_ref_name(self) -> str:
64
#         return self.ref_img_name
65
#
66
#     def __str__(self):
67
#         return f"<An {self.__class__.__name__} object, " \
68
#                f"generated by subtracting {self.get_name()} from {self.get_ref_name()}>"
69

70

71
class ImageBatch(DataBatch):
1✔
72

73
    data_type = Image
1✔
74

75
    def __init__(self, batch: list[Image] | Image = None):
1✔
76
        super().__init__(batch=batch)
1✔
77

78
    def append(self, data: Image):
1✔
79
        self._append(data)
1✔
80

81
    def __str__(self):
1✔
82
        return f"<An {self.__class__.__name__} object, containing {[x.get_name() for x in self.get_batch()]}>"
×
83

84
    def get_batch(self) -> list[Image]:
1✔
85
        return self.get_data_list()
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc