def execute_limited(pipeline, updateExtent=None): """ """ global memLimit, noLimits, alwaysSplit global numberOfDivisions global executing #retval = pipeline.GetOutput() #if updateExtent and not scripting.wantWholeDataset: # retval.SetUpdateExtent(updateExtent) #pipeline.Update() #return pipeline.GetOutput() if not memLimit: get_memory_limit() if noLimits or (not memLimit and not alwaysSplit): streamer = vtk.vtkImageDataStreamer() streamer.SetNumberOfStreamDivisions(1) if alwaysSplit: Logging.info("Using vtkImageDataStreamer with %d divisions" % numberOfDivisions, kw="pipeline") streamer = vtk.vtkImageDataStreamer() streamer.SetNumberOfStreamDivisions(numberOfDivisions) elif (memLimit and not noLimits): Logging.info( "Using vtkMemoryLimitImageDataStreamer with with limit=%dMB" % memLimit, kw="pipeline") streamer = vtk.vtkMemoryLimitImageDataStreamer() streamer.SetMemoryLimit(1024 * memLimit) streamer.GetExtentTranslator().SetSplitModeToZSlab() executing = 1 streamer.SetInputConnection(pipeline.GetOutputPort()) retval = streamer.GetOutput() if updateExtent and not scripting.wantWholeDataset: Logging.info("Setting update extent to ", updateExtent, kw="pipeline") retval.SetUpdateExtent(updateExtent) print "Update extent now=", retval.GetUpdateExtent() streamer.Update() print "Done" executing = 0 return retval
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__( self, module_manager, vtk.vtkImageDataStreamer(), 'Processing.', ('vtkImageData',), ('vtkImageData',), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def execute_limited(pipeline, updateExtent=None): """ """ global memLimit, noLimits, alwaysSplit global numberOfDivisions global executing # retval = pipeline.GetOutput() # if updateExtent and not scripting.wantWholeDataset: # retval.SetUpdateExtent(updateExtent) # pipeline.Update() # return pipeline.GetOutput() if not memLimit: get_memory_limit() if noLimits or (not memLimit and not alwaysSplit): streamer = vtk.vtkImageDataStreamer() streamer.SetNumberOfStreamDivisions(1) if alwaysSplit: Logging.info("Using vtkImageDataStreamer with %d divisions" % numberOfDivisions, kw="pipeline") streamer = vtk.vtkImageDataStreamer() streamer.SetNumberOfStreamDivisions(numberOfDivisions) elif memLimit and not noLimits: Logging.info("Using vtkMemoryLimitImageDataStreamer with with limit=%dMB" % memLimit, kw="pipeline") streamer = vtk.vtkMemoryLimitImageDataStreamer() streamer.SetMemoryLimit(1024 * memLimit) streamer.GetExtentTranslator().SetSplitModeToZSlab() executing = 1 streamer.SetInputConnection(pipeline.GetOutputPort()) retval = streamer.GetOutput() if updateExtent and not scripting.wantWholeDataset: Logging.info("Setting update extent to ", updateExtent, kw="pipeline") retval.SetUpdateExtent(updateExtent) print "Update extent now=", retval.GetUpdateExtent() streamer.Update() print "Done" executing = 0 return retval
def __init__(self, module_manager): ModuleBase.__init__(self, module_manager) self._image_data_streamer = vtk.vtkImageDataStreamer() self._poly_data_streamer = vtk.vtkPolyDataStreamer() NoConfigModuleMixin.__init__(self, {'module (self)' : self, 'vtkImageDataStreamer' : self._image_data_streamer, 'vtkPolyDataStreamer' : self._poly_data_streamer}) module_utils.setup_vtk_object_progress(self, self._image_data_streamer, 'Streaming image data') self._current_mode = None self.sync_module_logic_with_config()
rangeStart = expr.expr(globals(), locals(), ["rangeStart", "+", "0.1"]) rangeEnd = expr.expr(globals(), locals(), ["rangeEnd", "+", "0.1"]) if (rangeEnd > 1.0): rangeStart = 0.0 rangeEnd = 0.2 pass LUT.SetHueRange(rangeStart, rangeEnd) LUT.Build() mapToRGBA = vtk.vtkImageMapToColors() mapToRGBA.SetInputConnection(reader.GetOutputPort()) mapToRGBA.SetOutputFormatToRGBA() mapToRGBA.SetLookupTable(LUT) mapToRGBA.AddObserver("EndEvent", changeLUT) imageStreamer = vtk.vtkImageDataStreamer() imageStreamer.SetInputConnection(mapToRGBA.GetOutputPort()) imageStreamer.SetNumberOfStreamDivisions(8) # make sure we get the correct translator. imageStreamer.UpdateInformation() imageStreamer.GetExtentTranslator().SetSplitModeToBlock() # set the window/level to 255.0/127.5 to view full range viewer = vtk.vtkImageViewer() viewer.SetInputConnection(imageStreamer.GetOutputPort()) viewer.SetColorWindow(255.0) viewer.SetColorLevel(127.5) viewer.SetZSlice(50) viewer.Render() #make interface viewer.Render() # --- end of script --
merge = vtk.vtkImageColorMerge() #merge.AddInput(mip1.GetOutput()) #merge.AddInput(mip2.GetOutput()) merge.AddInput(d1) merge.AddInput(d2) merge.AddLookupTable(ctf1) merge.AddLookupTable(ctf2) #merge.DebugOn() #merge.AddIntensityTransferFunction(itf1) #merge.AddIntensityTransferFunction(itf2) #merge.GetOutput().ReleaseDataFlagOn() #merge.Update() streamer = vtk.vtkImageDataStreamer() streamer.SetNumberOfStreamDivisions(1) streamer.SetInput(merge.GetOutput()) streamer.GetExtentTranslator().SetSplitModeToZSlab() streamer.Update() data = streamer.GetOutput() mip = vtk.vtkImageSimpleMIP() mip.SetInput(data) writer=vtk.vtkPNGWriter() writer.SetFileName("Selli_BIG.png") writer.SetInput(mip.GetOutput()) writer.Write() print "Wrote PNG ",elapsed()