class FilteredComplexes(object):
    """Filtered Complexes"""

    def __init__(self):
        raise NotImplementedError

    def fit(self):
        raise NotImplementedError

    def transform(self):
        raise NotImplementedError

    def predict(self):
        raise NotImplementedError


class MatrixReduction(object):
    """Matrix Reduction"""

    def __init__(self):
        raise NotImplementedError

    def fit(self):
        raise NotImplementedError

    def transform(self):
        raise NotImplementedError

    def predict(self):
        raise NotImplementedError


class PersistenceImages(object):
    """Persistence Images"""

    def __init__(self):
        raise NotImplementedError

    def fit(self):
        raise NotImplementedError

    def transform(self):
        raise NotImplementedError

    def predict(self):
        raise NotImplementedError


class PersistenceLandscapes(object):
    """Persistence Landscapes"""

    def __init__(self):
        raise NotImplementedError

    def fit(self):
        raise NotImplementedError

    def transform(self):
        raise NotImplementedError

    def predict(self):
        raise NotImplementedError


class PersLay(object):
    """PersLay"""

    def __init__(self):
        raise NotImplementedError

    def fit(self):
        raise NotImplementedError

    def transform(self):
        raise NotImplementedError

    def predict(self):
        raise NotImplementedError
