Source code for draugr.writers.mixins.image_writer_mixin

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from abc import ABC, abstractmethod
from enum import Enum
from typing import Union

import numpy
import torch
from PIL import Image
from sorcery import assigned_names

__author__ = "Christian Heider Nielsen"
__doc__ = r"""

           Created on 09/10/2019
           """
__all__ = ["ImageWriterMixin"]


[docs]class ImageWriterMixin(ABC): """ Writer subclass that provides an interface for 'writing' images +Bonus points for handling other multichannel rasters C!=1 and C!=3 """
[docs] class MultiChannelMethodEnum( Enum ): # TODO: MAYBE RENAME TO something with REDUCTIONMETHODS seperate, mix, project = assigned_names()
[docs] @abstractmethod def image( self, tag: str, data: Union[numpy.ndarray, torch.Tensor, Image.Image], step, *, dataformats: str = "NCHW", **kwargs ) -> None: """ :param tag: :type tag: :param data: :type data: :param step: :type step: :param dataformats: :type dataformats: :param kwargs: :type kwargs:""" raise NotImplementedError