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

1#!/usr/bin/env python3 

2# -*- coding: utf-8 -*- 

3""" 

4Module that holds the block `R` of the susi pipeline. 

5 

6@author: hoelken 

7""" 

8from ....io import FitsBatch, Fits 

9from ....base import Logging 

10from ..processing_data import ProcessingData 

11from .block import Block, BlockRegistry 

12 

13log = Logging.get_logger() 

14 

15 

16class BlockR(Block): 

17 """ 

18 ## BLOCK R: Restauration 

19 

20 TODO 

21 """ 

22 

23 BLOCK_ID = 'R' 

24 

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 

31 

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)) 

36 

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 } 

43 

44 def _modify_data(self, fits: Fits): 

45 return fits.data 

46 

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 

50 

51 

52BlockRegistry().register(BlockR.BLOCK_ID, BlockR)