Ejemplo n.º 1
0
def poly(ren,obj):
    #@c Display a vtkPolyData object in the given renderer
    #@a ren: renderer
    #@a obj: object name
    try:
        vis.polyRm(ren,obj)
    except:
        pass
    tag = "%s_%s" % (ren[0],obj[0])
    Map = [None]*2
    Map[0] = "p_map_"+tag
    Map[1] = vtk.vtkPolyDataMapper()
    try:
        Map[1].SetInputConnection(obj[1])
    except:
        Map[1].SetInputData(obj[1])
    Map[1].ScalarVisibilityOff()
    
    act = [None]*2
    act[0] = "p_act_"+tag
    act[1] = vtk.vtkActor()
    act[1].SetMapper(Map[1])
    act[1].GetProperty().SetColor(1,0,0)
    vis.renAddActor(ren,act)
    vis.render(ren)
    
    setattr(vis,Map[0], Map)
    setattr(vis,act[0],act)
    
    vis.interact(ren)
    return act
Ejemplo n.º 2
0
def renReset(ren):
    #@c Reset the viewpoint of the renderer.
    #@a ren: renderer

    ren[1].ResetCamera()
    vis.render(ren)
    return
Ejemplo n.º 3
0
def vis_volRm(ren, objName):
    
    caster = getattr(vis, 'vis_vol_caster_'+objName)
    opacityTransferFunction = getattr(vis, 'vis_vol_opacityTransferFunction_'+objName)
    colorTransferFunction = getattr(vis, 'vis_vol_colorTransferFunction_'+objName)
    gradientTransferFunction = getattr(vis, 'vis_vol_gradientTransferFunction_'+objName)
    volumeProperty = getattr(vis, 'vis_vol_volumeProperty_'+objName)
    volumeMapper = getattr(vis, 'vis_vol_volumeMapper_'+objName)
    compositeFunction = getattr(vis, 'vis_vol_compositeFunction_'+objName)
    outline = getattr(vis, 'vis_vol_outline_'+objName)
    outlineMapper = getattr(vis, 'vis_vol_outlineMapper_'+objName)
    outlineProperty = getattr(vis, 'vis_vol_outlineProperty_'+objName)
    lod = getattr(vis, 'vis_vol_lod_'+objName)
    
    if (ren[1].GetViewProps().IsItemPresent(lod[1])>0):
        ren[1].RemoveViewProp(lod[1])
        delattr(vis,caster[0])
        delattr(vis,opacityTransferFunction[0])
        delattr(vis,colorTransferFunction[0])
        delattr(vis,gradientTransferFunction[0])
        delattr(vis,volumeProperty[0])
        delattr(vis,volumeMapper[0])
        delattr(vis,compositeFunction[0])
        delattr(vis,outline[0])
        delattr(vis,outlineMapper[0])
        delattr(vis,outlineProperty[0])
    vis.render(ren)
    
    return
Ejemplo n.º 4
0
def vis_volRm(ren, objName):

    caster = getattr(vis, 'vis_vol_caster_' + objName)
    opacityTransferFunction = getattr(
        vis, 'vis_vol_opacityTransferFunction_' + objName)
    colorTransferFunction = getattr(vis,
                                    'vis_vol_colorTransferFunction_' + objName)
    gradientTransferFunction = getattr(
        vis, 'vis_vol_gradientTransferFunction_' + objName)
    volumeProperty = getattr(vis, 'vis_vol_volumeProperty_' + objName)
    volumeMapper = getattr(vis, 'vis_vol_volumeMapper_' + objName)
    compositeFunction = getattr(vis, 'vis_vol_compositeFunction_' + objName)
    outline = getattr(vis, 'vis_vol_outline_' + objName)
    outlineMapper = getattr(vis, 'vis_vol_outlineMapper_' + objName)
    outlineProperty = getattr(vis, 'vis_vol_outlineProperty_' + objName)
    lod = getattr(vis, 'vis_vol_lod_' + objName)

    if (ren[1].GetViewProps().IsItemPresent(lod[1]) > 0):
        ren[1].RemoveViewProp(lod[1])
        delattr(vis, caster[0])
        delattr(vis, opacityTransferFunction[0])
        delattr(vis, colorTransferFunction[0])
        delattr(vis, gradientTransferFunction[0])
        delattr(vis, volumeProperty[0])
        delattr(vis, volumeMapper[0])
        delattr(vis, compositeFunction[0])
        delattr(vis, outline[0])
        delattr(vis, outlineMapper[0])
        delattr(vis, outlineProperty[0])
    vis.render(ren)

    return
Ejemplo n.º 5
0
def pRepos(ren,objName):
    tag = "%s_%s" % (ren[0],objName)
    
    try:
        vis.register(ren,objName)
    except:
        vis.polyRm(ren,objName)
        vis.register(ren,objName)
        
    vtkName = Repository.ExportToVtk(objName)
    Map = [None]*2
    Map[0] = "p_map_"+tag
    Map[1] = vtk.vtkPolyDataMapper()
    Map[1].SetInputData(vtkName)
    Map[1].ScalarVisibilityOff()
    
    act = [None]*2
    act[0] = "p_act_"+tag
    act[1] = vtk.vtkActor()
    act[1].SetMapper(Map[1])
    act[1].GetProperty().SetColor(1,0,0)
    
    vis.renAddActor(ren,act)
    vis.render(ren)
    #vis.interact(ren)
    setattr(vis,Map[0], Map)
    setattr(vis,act[0],act)
    return act
Ejemplo n.º 6
0
def polyShowScalars(ren,obj):
    #@c Show scalar values on poly in renderer in grayscale
    #@a ren: renderer
    #@a obj: object name
    if isinstance(obj,list):
        tag = "%s_%s" % (ren[0],obj[0])
    elif isinstance(obj,str):
        tag = "%s_%s" % (ren[0],obj)
    else:
        raise ValueError("Argument type unsupported.")
    lookupGrayscale = [None]*2
    lookupGrayscale[0] = "p_grayscaleLUT_"+tag
    lookupGrayscale[1] = vtk.vtkWindowLevelLookupTable()
    lookupGrayscale[1].SetWindow(1023)
    lookupGrayscale[1].SetLevel(512)
    lookupGrayscale[1].SetWindow(0.5)
    lookupGrayscale[1].SetLevel(0.5)
    lookupGrayscale[1].SetHueRange(0.,0.)
    lookupGrayscale[1].SetSaturationRange(0.,0.)
    lookupGrayscale[1].SetValueRange(0.,1.)
    lookupGrayscale[1].SetNumberOfColors(16384)
    lookupGrayscale[1].Build()
    
    act = polyGetActor(ren,obj)
    act[1].GetMapper().SetLookupTable(lookupGrayscale[1])
    act[1].GetMapper().ScalarVisibilityOn()
    
    Range = act[1].GetMapper().GetInput().GetPointData().GetScalars().GetRange()
    act[1].GetMapper().SetScalarRange(Range[0],Range[1])
    vis.render(ren)
    
    setattr(vis,act[0],act)
    setattr(vis,lookupGrayscale[0],lookupGrayscale)
    return
Ejemplo n.º 7
0
def polyShowColorScalars(ren, obj):

    #@c Show scalar values on poly in renderer in color
    #@a ren: renderer
    #@a obj: object name

    if isinstance(obj,list):
        tag = "%s_%s" % (ren[0],obj[0])
    elif isinstance(obj,str):
        tag = "%s_%s" % (ren[0],obj)
    else:
        raise ValueError("Argument type unsupported.")
    lookupColor = [None]*2
    lookupColor[0] = "p_blueToRedLUT_"+tag
    lookupColor[1] = vtk.vtkLookupTable()
    lookupColor[1].SetHueRange(0.6667 ,0.0)
    lookupColor[1].SetSaturationRange(1.,1.)
    lookupColor[1].SetValueRange(1.,1.)
    lookupColor[1].SetAlphaRange(1.,1.)
    lookupColor[1].SetNumberOfColors(16384)
    lookupColor[1].Build()
    
    act = polyGetActor(ren,obj)
    act[1].GetMapper().SetLookupTable(lookupColor[1])
    act[1].GetMapper().ScalarVisibilityOn()
    
    Range = act[1].GetMapper().GetInput().GetPointData().GetScalars().GetRange()
    act[1].GetMapper().SetScalarRange(Range[0],Range[1])
    vis.render(ren)
    
    setattr(vis,act[0],act)
    setattr(vis,lookupColor[0],lookupColor)
    return 
Ejemplo n.º 8
0
def renParallelProjection(ren):

    #@c Turn on parallel projection for given
    #@c renderer.
    #@a ren: renderer
    ren[1].GetActiveCamera().ParallelProjectionOn()
    vis.render(ren)
    return
Ejemplo n.º 9
0
def renPerspectiveProjection(ren):

    #@c Turn on perspective projection for
    #@c given renderer
    #@a ren: renderer
    ren[1].GetActiveCamera().ParallelProjectionOff()
    vis.render(ren)
    return
Ejemplo n.º 10
0
def vis_imgSetOrigin(ren, x, y, z):
    try:
        plane = getattr(vis,'vis_img_plane_'+ren[0])
    except:
        return
    plane[1].SetOrigin(x,y,x)
    setattr(vis, plane[0], plane)
    vis.render(ren)
    return
Ejemplo n.º 11
0
def vis_imgUnshow(ren):
    try:
        actor = getattr(vis, "vis_img_actor_"+ren[0])
    except:
        return
        
    if (ren[1].GetActors().IsItemPresent(actor[1])>0):
        ren[1].RemoveActor(actor[1])
    vis.render(ren)
    return
Ejemplo n.º 12
0
def renSetBackground(ren, r, g, b):
    #@c Set the background color of the given
    #@c renderer.
    #@a ren: renderer
    #@a r: red (value between 0 and 1)
    #@a g: green (value between 0 and 1)
    #@a b: blue (value between 0 and 1)
    ren[1].SetBackground(r, g, b)
    vis.render(ren)
    return
Ejemplo n.º 13
0
def vis_imgShow(ren):
    try:
        actor = getattr(vis, 'vis_img_actor_'+ren[0])
    except:
        return
        
    ren[1].AddActor(actor[1])
    ren[1].ResetCamera()
    vis.render(ren)
    
    return
Ejemplo n.º 14
0
def renSetFlatAll(ren):

    #@c Set the interpolation mode of all actors
    #@c displayed by given renderer to flat
    #@a ren: renderer
    actors = ren[1].GetActors()
    actors.InitTraversal()

    for i in range(0, actors.GetNumberOfItems()):
        a = actors.GetNextItem()
        a.GetProperty().SetInterpolationToFlat()
        vis.render(ren)
    return
Ejemplo n.º 15
0
def renSetGouraudAll(ren):

    #@c Set interpolation to Gouraud shading
    #@c for all actors displayed in given renderer.
    #@a ren: renderer
    actors = ren[1].GetActors()
    actors.InitTraversal()

    for i in range(0, actors.GetNumberOfItems()):
        a = actors.GetNextItem()
        a.GetProperty().SetInterpolationToGouraud()
        vis.render(ren)
    return
Ejemplo n.º 16
0
def renSetPhongAll(ren):

    #@c Set interpolation to Phong shading for all
    #@c for all actors in given renderer.
    #@a ren: renderer
    actors = ren[1].GetActors()
    actors.InitTraversal()

    for i in range(0, actors.GetNumberOfItems()):
        a = actors.GetNextItem()
        a.GetProperty().SetInterpolationToPhong()
        vis.render(ren)
    return
Ejemplo n.º 17
0
def polyShow(ren,obj):
    #@c Show object in renderer
    #@a ren: renderer
    if isinstance(obj,list):
        tag = "%s_%s" % (ren[0],obj[0])
    elif isinstance(obj,str):
        tag = "%s_%s" % (ren[0],obj)
    else:
        raise ValueError("Argument type unsupported.")
    vis.polyUnshow(ren,obj)
    actor = getattr(vis, "p_act_"+tag)
    ren[1].AddActor(actor[1])
    vis.render(ren)
    return
Ejemplo n.º 18
0
def polyRmAll(ren):
    #@c Remove all polys from renderer
    #@a ren: renderer
    vis.polyUnshowAll(ren)
    
    delList = ["p_grayscaleLUT_" + ren[0],"p_blueToRedLUT_" + ren[0],"p_nrm_" + 
    ren[0],"p_map_" + ren[0],"p_act_" +ren[0],"p_lmap_" + ren[0],"p_labels_" + ren[0]]
    dic = dir(vis)
    for i in delList:
        for j in dic:
            if i in j:
                delattr(vis,j)
    
    vis.render(ren)
    return
Ejemplo n.º 19
0
def polyDisplayWireframe(ren,obj):
    #@c Display object as wireframe
    #@a ren: renderer
    #@a obj: object name
    if isinstance(obj,list):
        tag = "%s_%s" % (ren[0],obj[0])
    elif isinstance(obj,str):
        tag = "%s_%s" % (ren[0],obj)
    else:
        raise ValueError("Argument type unsupported.")
    actor = getattr(vis, "p_act_"+tag)
    
    actor[1].GetProperty().SetRepresentationToWireframe()
    vis.render(ren)
    return
Ejemplo n.º 20
0
def polyShowCellIds(ren,obj):

  #@c Show the cell ids of a given poly object in a renderer
  #@a ren: renderer
  #@a obj: object name
  if isinstance(obj,list):
      tag = "%s_%s" % (ren[0],obj[0])
  elif isinstance(obj,str):
      tag = "%s_%s" % (ren[0],obj)
  else:
      raise ValueError("Argument type unsupported.")
  
  try:
      vis.polyUnshowCellIds(ren,obj)
  except:
      pass
    
  lmap = [None]*2
  lmap[0] = "p_lmapc_"+tag
  labels = [None]*2
  labels[0] = "p_labelsc_"+tag  
  ids = [None]*2
  ids[0] = "p_cellids_"+tag
  
  filt = vtk.vtkCellCenters()
  if isinstance(obj,list):
        filt.SetInputDataObject(obj[1])
  else:
        vtkPoly = Repository.ExportToVtk(obj)
        filt.SetInputDataObject(vtkPoly)
  filt.Update()
  ids[1] = filt.GetOutput()
  
  lmap[1] = vtk.vtkLabeledDataMapper()
  lmap[1].SetLabelModeToLabelIds()
  lmap[1].SetInputDataObject(ids[1])
  lmap[1].SetLabelFormat("%g")
  labels[1] = vtk.vtkActor2D()
  labels[1].SetMapper(lmap[1])
  ren[1].AddActor2D(labels[1])
  
  vis.render(ren)
  setattr(vis,lmap[0],lmap)
  setattr(vis,labels[0],labels)
  return 
Ejemplo n.º 21
0
def polyUnshowCellIds(ren,obj):
  #@c Remove the cell ids from the poly in renderer
  #@a ren: renderer
  #@a obj: object name
    if isinstance(obj,list):
        tag = "%s_%s" % (ren[0],obj[0])
    elif isinstance(obj,str):
        tag = "%s_%s" % (ren[0],obj)
    else:
        raise ValueError("Argument type unsupported.")
    
    lmap = getattr(vis,"p_lmapc_"+tag)
    labels = getattr(vis,"p_labelsc_"+tag)
  
    if (ren[1].GetActors2D().IsItemPresent(labels[1])>0):
        ren[1].RemoveActor2D(labels[1])
    
    vis.render(ren)
    setattr(vis,lmap[0],lmap)
    setattr(vis,labels[0],labels)
    return
Ejemplo n.º 22
0
def polyShowScalarValues(ren,obj):

  #@c Show the scalar values for object in renderer
  #@a ren: renderer
  #@a obj: object name
  if isinstance(obj,list):
      tag = "%s_%s" % (ren[0],obj[0])
  elif isinstance(obj,str):
      tag = "%s_%s" % (ren[0],obj)
  else:
      raise ValueError("Argument type unsupported.")
  
  try:
      vis.polyUnshowScalarValues(ren,obj)
  except:
      pass
      
  lmap = [None]*2
  lmap[0] = "p_lmap_"+tag
  labels = [None]*2
  labels[0] = "p_labels_"+tag  
  
  lmap[1] = vtk.vtkLabeledDataMapper()
  lmap[1].SetLabelModeToLabelScalars()
  if isinstance(obj,list):
        lmap[1].SetInputDataObject(obj[1])
  else:
        vtkPoly = Repository.ExportToVtk(obj)
        lmap[1].SetInputDataObject(vtkPoly)
  lmap[1].SetLabelFormat("%g")
  
  labels[1] = vtk.vtkActor2D()
  labels[1].SetMapper(lmap[1])
  ren[1].AddActor2D(labels[1])
  
  vis.render(ren)
  setattr(vis,lmap[0],lmap)
  setattr(vis,labels[0],labels)
  return
Ejemplo n.º 23
0
def polyRm(ren, obj):
    #@c Remove the poly from the given renderer
    #@a ren: renderer
    #@a obj: object name
    if isinstance(obj, list):
        tag = "%s_%s" % (ren[0], obj[0])
    elif isinstance(obj, str):
        tag = "%s_%s" % (ren[0], obj)
    else:
        raise ValueError("Argument type unsupported.")

    try:
        act = getattr(vis, "p_act_" + tag)
    except:
        return

    #if {$act == $::vis::tkvars(PickedAssembly)} {
    #  ::vis::tkDeselectPickedActor
    #}

    try:
        vis.polyUnshow(ren, obj)
    except:
        pass

    delList = [
        "p_grayscaleLUT_" + tag, "p_blueToRedLUT_" + tag, "p_nrm_" + tag,
        "p_map_" + tag, "p_act_" + tag, "p_lmap_" + tag, "p_labels_" + tag
    ]

    for i in delList:
        try:
            delattr(vis, i)
        except:
            pass

    vis.render(ren)
    return
Ejemplo n.º 24
0
def vis_volSetOpacityTransferFunction(ren, objName, values):
    #@c Change opacity transfer function.
    #@a ren: Render Window.
    #@a objName:  Repository StructuredPoints object.
    #@a values: Python n by 2 list of scalar - opacity pairs.
  
    lod = getattr(vis, 'vis_vol_lod_'+objName)
    opacityTransferFunction = getattr(vis, 'vis_vol_opacityTransferFunction_'+objName)
    
    opacityTransferFunction.RemoveAllPoints()
    opacityTransferFunction.PrepareForNewData()
    
    if len(values)==0:
        return
        
    for i in range (0, len(values)):
        if len(values[i])!=2:
            print("Warning:  incorrect scalar-opacity pair %i. Ignored." %i)
        else:
            opacityTransferFunction.AddPoint(values[i][0], values[i][1])
    
    vis.render(ren)
    return
Ejemplo n.º 25
0
def polyUnshow(ren,obj):
    #@c Remove actor from renderer
    #@a ren: renderer
    #@a obj: object name
    try:
        vis.polyUnshowIds(ren,obj)
    except:
        pass
        
    if isinstance(obj,list):
        tag = "%s_%s" % (ren[0],obj[0])
    elif isinstance(obj,str):
        tag = "%s_%s" % (ren[0],obj)
    else:
        raise ValueError("Argument type unsupported.")
        
    actor = getattr(vis, "p_act_"+tag)
    
    if (ren[1].GetActors().IsItemPresent(actor[1])>0):
        ren[1].RemoveActor(actor[1])
        
    vis.render(ren)
    return
Ejemplo n.º 26
0
def polyRm(ren,obj):
    #@c Remove the poly from the given renderer
    #@a ren: renderer
    #@a obj: object name
    if isinstance(obj,list):
        tag = "%s_%s" % (ren[0],obj[0])
    elif isinstance(obj,str):
        tag = "%s_%s" % (ren[0],obj)
    else:
        raise ValueError("Argument type unsupported.")

    try:
        act = getattr(vis,"p_act_"+tag)
    except:
        return
            
    #if {$act == $::vis::tkvars(PickedAssembly)} {
    #  ::vis::tkDeselectPickedActor
    #}
    
    try:
        vis.polyUnshow(ren,obj)
    except:
        pass
        
    delList = ["p_grayscaleLUT_" + tag,"p_blueToRedLUT_" + tag,"p_nrm_" + 
    tag,"p_map_" + tag,"p_act_" + tag,"p_lmap_" + tag,"p_labels_" + tag]
    
    for i in delList:
        try:
            delattr(vis, i)
        except:
            pass
                
    vis.render(ren)
    return
Ejemplo n.º 27
0
def vis_imgSetFile(ren, name, dims, spacing):
    try:
        rdr = getattr(vis, 'vis_img_reader_'+ren[0])
        txt = getattr(vis, 'vis_img_texture_'+ren[0])
        plane = getattr(vis, 'vis_img_plane_'+ren[0])
        actor = getattr(vis, 'vis_img_actor_'+ren[0])
        lookupGrayscale = getattr(vis, 'vis_img_g8bitGrayscaleLUT_'+ren[0])
    except:
        vis_imgInit(ren)

    rdr = getattr(vis, 'vis_img_reader_'+ren[0])
    txt = getattr(vis, 'vis_img_texture_'+ren[0])
    plane = getattr(vis, 'vis_img_plane_'+ren[0])
    actor = getattr(vis, 'vis_img_actor_'+ren[0])
    lookupGrayscale = getattr(vis, 'vis_img_g8bitGrayscaleLUT_'+ren[0])
    xsize = dims[0]*spacing[0]
    ysize = dims[1]*spacing[1]
    
    rdr[1].Modified()
    rdr[1].SetFileName(name)
    rdr[1].SetDataExtent(0, dims[0]-1,0, dims[1]-1, 1,1)
    rdr[1].SetDataSpacing(spacing[0], spacing[1], 1.0)
    rdr[1].Update()
    
    txt[1].SetInputConnection(rdr[1].GetOutputPort())
    txt[1].Render(ren[1])
    txt[1].SetLookupTable(lookupGrayscale[1])
    txt[1].RepeatOff()
    
    plane[1].SetPoint1(xsize, 0.,0.)
    plane[1].SetPoint2(0.,ysize, 0.)
    
    ren[1].AddActor(actor[1])
    vis.render(ren)
    
    return
Ejemplo n.º 28
0
def vis_volSetOpacityTransferFunction(ren, objName, values):
    #@c Change opacity transfer function.
    #@a ren: Render Window.
    #@a objName:  Repository StructuredPoints object.
    #@a values: Python n by 2 list of scalar - opacity pairs.

    lod = getattr(vis, 'vis_vol_lod_' + objName)
    opacityTransferFunction = getattr(
        vis, 'vis_vol_opacityTransferFunction_' + objName)

    opacityTransferFunction.RemoveAllPoints()
    opacityTransferFunction.PrepareForNewData()

    if len(values) == 0:
        return

    for i in range(0, len(values)):
        if len(values[i]) != 2:
            print("Warning:  incorrect scalar-opacity pair %i. Ignored." % i)
        else:
            opacityTransferFunction.AddPoint(values[i][0], values[i][1])

    vis.render(ren)
    return
Ejemplo n.º 29
0
def vis_volRepos(ren, objName):
    if Repository.Exists(objName) == 0:
        raise ValueError("ERROR:  Object does not exist.")
        return
    if Repository.Type(objName) != "StructuredPts":
        raise TypeError("Incorrect object type.")
        return
    caster = [None] * 2
    opacityTransferFunction = [None] * 2
    colorTransferFunction = [None] * 2
    gradientTransferFunction = [None] * 2
    volumeProperty = [None] * 2
    volumeMapper = [None] * 2
    compositeFunction = [None] * 2
    outline = [None] * 2
    outlineMapper = [None] * 2
    outlineProperty = [None] * 2
    lod = [None] * 2

    caster[0] = "vis_vol_caster_" + objName
    opacityTransferFunction[0] = "vis_vol_opacityTransferFunction_" + objName
    colorTransferFunction[0] = "vis_vol_colorTransferFunction_" + objName
    gradientTransferFunction[0] = "vis_vol_gradientTransferFunction_" + objName
    volumeProperty[0] = "vis_vol_volumeProperty_" + objName
    volumeMapper[0] = "vis_vol_volumeMapper_" + objName
    compositeFunction[0] = "vis_vol_compositeFunction_" + objName
    outline[0] = "vis_vol_outline_" + objName
    outlineMapper[0] = "vis_vol_outlineMapper_" + objName
    outlineProperty[0] = "vis_vol_outlineProperty_" + objName
    lod[0] = "vis_vol_lod_" + objName

    caster[1] = vtk.vtkImageCast()
    caster[1].SetOutputScalarTypeToUnsignedShort()
    caster[1].SetInputDataObject(Repository.ExportToVtk(objName))
    caster[1].Update()

    # Create transfer functions for opacity and color
    opacityTransferFunction[1] = vtk.vtkPiecewiseFunction()
    opacityTransferFunction[1].AddPoint(0, 0.)
    opacityTransferFunction[1].AddPoint(80, 0.)
    opacityTransferFunction[1].AddPoint(128, 0.5)
    opacityTransferFunction[1].AddPoint(150, 0.9)
    opacityTransferFunction[1].AddPoint(350, 1.0)

    colorTransferFunction[1] = vtk.vtkColorTransferFunction()
    colorTransferFunction[1].AddRGBPoint(0, 0, 0, 0)
    colorTransferFunction[1].AddRGBPoint(350, 1, 1, 1)

    gradientTransferFunction[1] = vtk.vtkPiecewiseFunction()
    gradientTransferFunction[1].AddPoint(0, 1.0)
    gradientTransferFunction[1].AddPoint(1, 1.0)
    gradientTransferFunction[1].AddPoint(255, 1.0)
    gradientTransferFunction[1].AddPoint(512, 1.0)

    # Create properties, mappers, volume actors, and ray cast function
    volumeProperty[1] = vtk.vtkVolumeProperty()
    volumeProperty[1].SetColor(colorTransferFunction[1])
    volumeProperty[1].SetScalarOpacity(opacityTransferFunction[1])
    volumeProperty[1].SetGradientOpacity(gradientTransferFunction[1])
    volumeProperty[1].SetInterpolationTypeToLinear()

    volumeMapper[1] = vtk.vtkSmartVolumeMapper()
    volumeMapper[1].SetInputDataObject(caster[1].GetOutput())

    lod[1] = vtk.vtkVolume()
    lod[1].SetProperty(volumeProperty[1])
    lod[1].SetMapper(volumeMapper[1])

    ren[1].AddViewProp(lod[1])

    setattr(vis, caster[0], caster)
    setattr(vis, opacityTransferFunction[0], opacityTransferFunction)
    setattr(vis, colorTransferFunction[0], colorTransferFunction)
    setattr(vis, gradientTransferFunction[0], gradientTransferFunction)
    setattr(vis, volumeProperty[0], volumeProperty)
    setattr(vis, volumeMapper[0], volumeMapper)
    setattr(vis, compositeFunction[0], compositeFunction)
    setattr(vis, outline[0], outline)
    setattr(vis, outlineMapper[0], outlineMapper)
    setattr(vis, outlineProperty[0], outlineProperty)
    setattr(vis, lod[0], lod)
    vis.render(ren)
    return lod
Ejemplo n.º 30
0
def vis_volRepos(ren, objName):
    if Repository.Exists(objName)==0:
        raise ValueError("ERROR:  Object does not exist.")
        return
    if Repository.Type(objName) != "StructuredPts":
        raise TypeError("Incorrect object type.")
        return
    caster = [None]*2
    opacityTransferFunction = [None]*2
    colorTransferFunction = [None]*2
    gradientTransferFunction = [None]*2
    volumeProperty = [None]*2
    volumeMapper = [None]*2
    compositeFunction = [None]*2
    outline = [None]*2
    outlineMapper = [None]*2
    outlineProperty = [None]*2
    lod = [None]*2
    
    caster[0] = "vis_vol_caster_"+objName
    opacityTransferFunction[0] = "vis_vol_opacityTransferFunction_"+objName
    colorTransferFunction[0] = "vis_vol_colorTransferFunction_"+objName
    gradientTransferFunction[0] = "vis_vol_gradientTransferFunction_"+objName
    volumeProperty[0] = "vis_vol_volumeProperty_"+objName
    volumeMapper[0] = "vis_vol_volumeMapper_"+objName
    compositeFunction[0] = "vis_vol_compositeFunction_"+objName
    outline[0] = "vis_vol_outline_"+objName
    outlineMapper[0] = "vis_vol_outlineMapper_"+objName
    outlineProperty[0] = "vis_vol_outlineProperty_"+objName
    lod[0] = "vis_vol_lod_" + objName
    
    caster[1] = vtk.vtkImageCast()
    caster[1].SetOutputScalarTypeToUnsignedShort()
    caster[1].SetInputDataObject(Repository.ExportToVtk(objName))
    caster[1].Update()
    
    # Create transfer functions for opacity and color
    opacityTransferFunction[1] = vtk.vtkPiecewiseFunction()
    opacityTransferFunction[1].AddPoint(0,0.)
    opacityTransferFunction[1].AddPoint(80,0.)
    opacityTransferFunction[1].AddPoint(128,0.5)
    opacityTransferFunction[1].AddPoint(150,0.9)
    opacityTransferFunction[1].AddPoint(350,1.0)
    
    colorTransferFunction[1] = vtk.vtkColorTransferFunction()
    colorTransferFunction[1].AddRGBPoint(0,0,0,0)
    colorTransferFunction[1].AddRGBPoint(350,1,1,1)
    
    gradientTransferFunction[1] = vtk.vtkPiecewiseFunction()
    gradientTransferFunction[1].AddPoint(0,1.0)
    gradientTransferFunction[1].AddPoint(1,1.0)
    gradientTransferFunction[1].AddPoint(255,1.0)
    gradientTransferFunction[1].AddPoint(512,1.0)
    
    # Create properties, mappers, volume actors, and ray cast function
    volumeProperty[1] = vtk.vtkVolumeProperty()
    volumeProperty[1].SetColor(colorTransferFunction[1])
    volumeProperty[1].SetScalarOpacity(opacityTransferFunction[1])
    volumeProperty[1].SetGradientOpacity(gradientTransferFunction[1])
    volumeProperty[1].SetInterpolationTypeToLinear()
    
    volumeMapper[1] = vtk.vtkSmartVolumeMapper()
    volumeMapper[1].SetInputDataObject(caster[1].GetOutput())
    
    lod[1] = vtk.vtkVolume()
    lod[1].SetProperty(volumeProperty[1])
    lod[1].SetMapper(volumeMapper[1])
    
    ren[1].AddViewProp(lod[1])
    
    setattr(vis, caster[0], caster)
    setattr(vis, opacityTransferFunction[0], opacityTransferFunction)
    setattr(vis, colorTransferFunction[0], colorTransferFunction)
    setattr(vis, gradientTransferFunction[0], gradientTransferFunction)
    setattr(vis, volumeProperty[0], volumeProperty)
    setattr(vis, volumeMapper[0], volumeMapper)
    setattr(vis, compositeFunction[0], compositeFunction)
    setattr(vis, outline[0], outline)
    setattr(vis, outlineMapper[0], outlineMapper)
    setattr(vis, outlineProperty[0], outlineProperty)
    setattr(vis, lod[0], lod)
    vis.render(ren)
    return lod
Ejemplo n.º 31
0
def actor2DRm(ren, actor):
    if(ren[1].GetActors2D().IsItemPresent(actor[1])):
        ren[1].RemoveActor2D(actor[1])
    vis.render(ren)
    return
Ejemplo n.º 32
0
def actorRmAll(ren):
    actorAll = ren[1].GetActors()
    for i in range(0,actorAll.GetNumberOfItems()):
        ren[1].RemoveActor2D(actorAll.GetNextActor())
    vis.render(ren)
    return
Ejemplo n.º 33
0
def actor2DRm(ren, actor):
    if (ren[1].GetActors2D().IsItemPresent(actor[1])):
        ren[1].RemoveActor2D(actor[1])
    vis.render(ren)
    return
Ejemplo n.º 34
0
def actorRmAll(ren):
    actorAll = ren[1].GetActors()
    for i in range(0, actorAll.GetNumberOfItems()):
        ren[1].RemoveActor2D(actorAll.GetNextActor())
    vis.render(ren)
    return
Ejemplo n.º 35
0
def vis_imgRepos(ren , imgObj):
    try:
        vis_imgRm(ren)
    except:
        pass
    vis_imgInit(ren)
    if Repository.Type(imgObj) != "StructuredPts":
        raise ValueError("Object is not an imgae")
    vimg = Repository.ExportToVtk(imgObj)
    vorig = vimg.GetOrigin()
    vspc = vimg.GetSpacing()
    vdims = vimg.GetExtent()
    irng = vimg.GetScalarRange()
    
    if (vdims[4]!=vdims[5]+vdims[0]!=vdims[1]+vdims[2]!=vdims[3]):
        raise ValueError("image is not planar")
        return
        
    #logical image dims:
    ldims = []    
    ldims.append(vdims[1]-vdims[0]+1)
    ldims.append(vdims[3]-vdims[2]+1)
    ldims.append(vdims[5]-vdims[4]+1)
    
    #Physical image dimensions (spatial extent covered by pixels):
    pdims = []
    pdims.append(ldims[0]*vspc[0])
    pdims.append(ldims[1]*vspc[1])
    pdims.append(ldims[2]*vspc[2])
    
    # Physical origin of the physical extent:
    porig = []
    porig.append(vorig[0]-0.5*vspc[0])
    porig.append(vorig[1]-0.5*vspc[1])
    porig.append(vorig[2]-0.5*vspc[2])
        
    txt = getattr(vis, 'vis_img_texture_'+ren[0])
    plane = getattr(vis, 'vis_img_plane_' + ren[0])
    vmap = getattr(vis, 'vis_img_map_' + ren[0])
    actor = getattr(vis, 'vis_img_actor_'+ren[0])
    lookupGrayscale = getattr(vis, 'vis_img_g8bitGrayscaleLUT_'+ren[0])
    lookupColor = getattr(vis, 'vis_img_gBlueToRedLUT_'+ren[0])
    

    txt[1].SetInputDataObject(vimg)
    txt[1].SetLookupTable(lookupGrayscale[1])
    txt[1].RepeatOff()
    
    
    plane[1].SetOrigin(porig[0],porig[1],0.)
    plane[1].SetPoint1(porig[0]+pdims[0],porig[1],0.)       
    plane[1].SetPoint2(porig[0], pdims[1]+porig[1],0.)
    
    plane[1].SetNormal(0.,0.,1.)
    plane[1].Push(-0.01)
        
    vmap[1].SetScalarRange(irng[0], irng[1])
    lookupGrayscale[1].SetTableRange(irng[0], irng[1])
    lookupColor[1].SetTableRange(irng[0], irng[1])
    
    ren[1].AddActor(actor[1])
    vis.render(ren)
    
    return