Coverage for src/susi/reduc/pipeline/blocks/block_r.py: 78%
23 statements
« prev ^ index » next coverage.py v7.5.0, created at 2025-06-13 14:15 +0000
« prev ^ index » next coverage.py v7.5.0, created at 2025-06-13 14:15 +0000
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3"""
4Module that holds the block `R` of the susi pipeline.
6@author: hoelken
7"""
8from ....io import FitsBatch, Fits
9from ....base import Logging
10from ..processing_data import ProcessingData
11from .block import Block, BlockRegistry
13log = Logging.get_logger()
16class BlockR(Block):
17 """
18 ## BLOCK R: Restauration
20 TODO
21 """
23 BLOCK_ID = 'R'
25 @staticmethod
26 def start(batch: FitsBatch, proc_data: ProcessingData) -> FitsBatch:
27 """
28 Callback-like entry point for the block
29 """
30 return BlockR(batch, proc_data).run().result
32 def _algorithm(self):
33 log.debug("'%s' is not implemented and will be ignored...", self.__class__)
34 for entry in self.batch:
35 self.result.batch.append(self._process_entry(entry))
37 def _process_entry(self, fits: Fits) -> dict:
38 return {
39 'file': fits.path,
40 'data': self._modify_data(fits),
41 'header': self._modify_header(fits),
42 }
44 def _modify_data(self, fits: Fits):
45 return fits.data
47 def _modify_header(self, fits: Fits):
48 Fits.override_header(fits.header, Block.BLOCKS_APPLIED, BlockR.BLOCK_ID, append=True)
49 return fits.header
52BlockRegistry().register(BlockR.BLOCK_ID, BlockR)