def _createLogic(self): # input self._imageStack = None # optional input self._inputTransformStack = None # output is a transform stack self._transformStack = transformStackClass(self) self._ipw1 = None self._ipw2 = None # some control variables self._pairNumber = -1 # we need to have two converters from itk::Image to vtkImageData, # hmmmm kay? self._transform1 = itk.itkEuler2DTransform_New() self._transform1.SetIdentity() print self._transform1.GetParameters() self._rescaler1 = itk.itkRescaleIntensityImageFilterF2F2_New() self._rescaler1.SetOutputMinimum(0) self._rescaler1.SetOutputMaximum(255) self._itkExporter1 = itk.itkVTKImageExportF2_New() self._itkExporter1.SetInput(self._rescaler1.GetOutput()) self._vtkImporter1 = vtk.vtkImageImport() CVIPy.ConnectITKF2ToVTK(self._itkExporter1.GetPointer(), self._vtkImporter1) self._resampler2 = None self._rescaler2 = itk.itkRescaleIntensityImageFilterF2F2_New() self._rescaler2.SetOutputMinimum(0) self._rescaler2.SetOutputMaximum(255) self._itkExporter2 = itk.itkVTKImageExportF2_New() self._itkExporter2.SetInput(self._rescaler2.GetOutput()) self._vtkImporter2 = vtk.vtkImageImport() CVIPy.ConnectITKF2ToVTK(self._itkExporter2.GetPointer(), self._vtkImporter2)
def set_input(self, idx, inputStream): if idx == 0: if inputStream != self._imageStack: # if it's None, we have to take it if inputStream == None: # disconnect del self._transformStack[:] self._destroyIPWs() self._imageStack = None self._pairNumber = -1 return # let's setup for a new stack! try: assert ( inputStream.__class__.__name__ == 'imageStackClass') inputStream.Update() assert (len(inputStream) >= 2) except Exception: # if the Update call doesn't work or # if the input list is not long enough (or unsizable), # we don't do anything raise TypeError, \ "register2D requires an ITK Image Stack of minimum length 2 as input." # now check that the imageStack is the same size as the # transformStack if self._inputTransformStack and \ len(inputStream) != len(self._inputTransformStack): raise TypeError, \ "The Image Stack you are trying to connect has a\n" \ "different length than the connected Transform\n" \ "Stack." self._imageStack = inputStream if self._inputTransformStack: self._copyInputTransformStack() else: # create a new transformStack del self._transformStack[:] # the first transform is always identity for dummy in self._imageStack: self._transformStack.append( itk.itkEuler2DTransform_New()) self._transformStack[-1].SetIdentity() self._showImagePair(1) else: # closes if idx == 0 block if inputStream != self._inputTransformStack: if inputStream == None: # we disconnect, but we keep the transforms we have self._inputTransformStack = None return try: assert(inputStream.__class__.__name__ == \ 'transformStackClass') except Exception: raise TypeError, \ "register2D requires an ITK Transform Stack on " \ "this port." inputStream.Update() if len(inputStream) < 2: raise TypeError, \ "The input transform stack should be of minimum " \ "length 2." if self._imageStack and \ len(inputStream) != len(self._imageStack): raise TypeError, \ "The Transform Stack you are trying to connect\n" \ "has a different length than the connected\n" \ "Transform Stack" self._inputTransformStack = inputStream if self._imageStack: self._copyInputTransformStack() self._showImagePair(self._pairNumber)
def set_input(self, idx, inputStream): if idx == 0: if inputStream != self._imageStack: # if it's None, we have to take it if inputStream == None: # disconnect del self._transformStack[:] self._destroyIPWs() self._imageStack = None self._pairNumber = -1 return # let's setup for a new stack! try: assert(inputStream.__class__.__name__ == 'imageStackClass') inputStream.Update() assert(len(inputStream) >= 2) except Exception: # if the Update call doesn't work or # if the input list is not long enough (or unsizable), # we don't do anything raise TypeError, \ "register2D requires an ITK Image Stack of minimum length 2 as input." # now check that the imageStack is the same size as the # transformStack if self._inputTransformStack and \ len(inputStream) != len(self._inputTransformStack): raise TypeError, \ "The Image Stack you are trying to connect has a\n" \ "different length than the connected Transform\n" \ "Stack." self._imageStack = inputStream if self._inputTransformStack: self._copyInputTransformStack() else: # create a new transformStack del self._transformStack[:] # the first transform is always identity for dummy in self._imageStack: self._transformStack.append( itk.itkEuler2DTransform_New()) self._transformStack[-1].SetIdentity() self._showImagePair(1) else: # closes if idx == 0 block if inputStream != self._inputTransformStack: if inputStream == None: # we disconnect, but we keep the transforms we have self._inputTransformStack = None return try: assert(inputStream.__class__.__name__ == \ 'transformStackClass') except Exception: raise TypeError, \ "register2D requires an ITK Transform Stack on " \ "this port." inputStream.Update() if len(inputStream) < 2: raise TypeError, \ "The input transform stack should be of minimum " \ "length 2." if self._imageStack and \ len(inputStream) != len(self._imageStack): raise TypeError, \ "The Transform Stack you are trying to connect\n" \ "has a different length than the connected\n" \ "Transform Stack" self._inputTransformStack = inputStream if self._imageStack: self._copyInputTransformStack() self._showImagePair(self._pairNumber)