Model visualization

Dear community,

I imported a model by python scripting with the following lines:

inputModel = slicer.util.loadModel(model_path)
inputModel.SetDisplayVisibility(1)
inputModel.GetDisplayNode().SetOpacity(0.25)
inputModel.GetDisplayNode().SetColor(1,1,1)

then I did some operations in it and now I want to see if my pipeline worked well. I have a vtkpolydata object as output and, starting from here Script repository — 3D Slicer documentation, I import my result back in Slicer with the following function:

def slicer_model_node(model, node_name, visibility=0, opacity=1, color=(255,0,0)):
model_Node = slicer.modules.models.logic().AddModel(model)
model_Node.SetName(node_name)
model_Node.SetDisplayVisibility(visibility)
model_Node.GetDisplayNode().SetOpacity(opacity)
model_Node.GetDisplayNode().SetColor(color)
model_Node.GetDisplayNode().SetLighting(1)#
model_Node.GetDisplayNode().SetAmbient(0.0)#
model_Node.GetDisplayNode().SetDiffuse(1)#
model_Node.GetDisplayNode().SetPower(1)#
model_Node.GetDisplayNode().SetLighting(1)#
model_Node.GetDisplayNode().SetInterpolation(1)#
model_Node.GetDisplayNode().SetShading(1)#
return model_Node

However the result is the following: left=new model, right=input model

Could you please tell me which lines I miss or which I wrongly wrote? (Lines with “#” at the end were added later to verify if they were the missing ones). I think it is a problem of shading or lighting but I didn’t manage to find the right way.

Thank you in advance

1 Like

Solved: color components must be between 0 and 1, not 0-255

1 Like