示例#1
0
class CrisCOMConstantThresholdFilter(pypeline.Filter):
    def __init__(self, min_coupling):
        pypeline.Filter.__init__(self)
        self.method_chain_filter = MethodChainFilter(min_coupling)

    def filter_process(self, data):
        for item in data:
            logging.warning("CrisCOMConstantThresholdFilter::matrix:\n" +
                            print_matrix(item.matrix))
            item.set_matrix(self.method_chain_filter.filter_matrix(item))
        return data
示例#2
0
class CrisCOMVariableThresholdFilter(pypeline.Filter):
    def __init__(self):
        pypeline.Filter.__init__(self)
        self.method_chain_filter = MethodChainFilter(0.0)

    def filter_matrix(self, matrix):
        if len(matrix.get_matrix()) > 0:
            median = CrisCOMVariableThresholdFilter.calculate_median(
                matrix.get_matrix())
            self.method_chain_filter.set_min_coupling(median)
            matrix.set_matrix(self.method_chain_filter.filter_matrix(matrix))
        return matrix

    def filter_process(self, data):
        return [self.filter_matrix(matrix) for matrix in data]

    @staticmethod
    def calculate_median(matrix):
        biggest_value = max([max(row) for row in matrix])
        smallest_value = min([min(row) for row in matrix])
        return (biggest_value + smallest_value) / 2.0
示例#3
0
 def __init__(self):
     pypeline.Filter.__init__(self)
     self.method_chain_filter = MethodChainFilter(0.0)
示例#4
0
 def __init__(self, min_coupling):
     pypeline.Filter.__init__(self)
     self.method_chain_filter = MethodChainFilter(min_coupling)