Source code for pyfibre.model.core.base_pyfibre_object
from abc import ABC, abstractmethod
[docs]class BasePyFibreObject(ABC):
"""Abstract base class for an object representing an extracted feature
in a multi-image. Serialization and de-serialization routines must be
implemented with a concrete base subclass, along with a method that
generates a pandas database containing metrics."""
[docs] @classmethod
@abstractmethod
def from_json(cls, data):
"""Deserialises JSON data dictionary to return an instance
of the class"""
[docs] @abstractmethod
def to_json(self):
"""Serialises instance into a dictionary able to be dumped as a
JSON file"""
[docs] @classmethod
@abstractmethod
def from_array(cls, array, **kwargs):
"""Deserialises numpy array to return an instance
of the class"""
[docs] @abstractmethod
def to_array(self, **kwargs):
"""Serialises instance into a numpy array able to be dumped as a
numpy binary file"""
[docs] @abstractmethod
def generate_database(self, *args, **kwargs):
"""Generates a Pandas database with all graph and segment
metrics for assigned image"""