Beispiel #1
0
    def convert_output_type(self, frame, output_choice):
        """Convert 'frame' to 'output_choice' if necessary and return it."""
        if output_choice == 'as float, range 0-1': 
            if frame.min()<0 or frame.max()>1: return filter_base.make_normfloat32(frame)
            elif frame.dtype == numpy.dtype('f'): return frame
            else: 
                return filter_base.make_normfloat32(frame) #frame.astype('f')
#                return frame.astype('f')
        elif output_choice == 'original': return frame
        else: raise Exception("In '%s': An error (unhandled case) occurred when converting between input and output data types." %self.name)
Beispiel #2
0
 def process(self, input_images, connected_outs):
     if len(input_images) == 0:
         return FAIL
     all_weights = [self.getParamContent(input_name+' weight') for input_name in self.input_names]
     imgs = []
     weights = []   
     all_inputs_8bit = True     
     for i,input_name in enumerate(self.input_names):
         if input_name in input_images.keys():
             imgs.append(input_images[input_name])
             if input_images[input_name].dtype != 'uint8': all_inputs_8bit = False
             weights.append(all_weights[i])
     
     summation_img = numpy.zeros_like(imgs[0], dtype='f')        
     for i,img in enumerate(imgs):
         summation_img = summation_img+img*weights[i]        
     if all_inputs_8bit:     
         out_im = filter_base.make_uint8(summation_img)
     else: 
         out_im = filter_base.make_normfloat32(summation_img)                              
     return {self.o_output:out_im}