def __init__(self, source, name):

        ObjectWithTimeStamp.__init__(self)
        
        # When was this data last generated?
        # This time stamp is an integer number and it is intended to synchronize the activities of
        # the pipeline. It doesn't relates to the clock time of acquiring or processing the data.
        self._update_time = TimeStamp()
        
        # The maximum modification time of all upstream filters and outputs.
        # This does not include the modification time of this output.
        self._pipeline_time = 0
        
        self.connect_source(source, name)
        
        self.image = None
    def __init__(self):

        ObjectWithTimeStamp.__init__(self)
        
        self._filter_id = self._new_filter_id()
        
        # Time when generate_output_information was last called.
        self._output_information_time = TimeStamp()
        
        # This flag indicates when the pipeline is executing.
        # It prevents infinite recursion when pipelines have loops.
        self._updating = False
        
        self._inputs = dict()
        self._outputs = {name:ImageFilterOutput(self, name) for name in self.__output_names__}
        
        self.modified()