Source code for mirar.processors.utils.header_reader

"""
Module for reading/logging values from image headers
"""

import logging

from mirar.data import ImageBatch
from mirar.paths import BASE_NAME_KEY
from mirar.processors.base_processor import BaseImageProcessor

logger = logging.getLogger(__name__)


[docs] class HeaderReader(BaseImageProcessor): """ Processor to extract data from image headers, and print it to the log """ base_key = "header_reader" def __init__( self, *keys, ): super().__init__() self.keys = keys
[docs] def description(self) -> str: return f"Read header keys into terminal: {self.keys}"
def _apply_to_images( self, batch: ImageBatch, ) -> ImageBatch: for image in batch: msg = f"{image[BASE_NAME_KEY]} \n" for key in self.keys: msg += f"{key}: {image[key]} \n" logger.info(msg) return batch