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