scikit-surgeryvtk icon indicating copy to clipboard operation
scikit-surgeryvtk copied to clipboard

Outline renderer.... a bit difficult to use.

Open MattClarkson opened this issue 1 year ago • 0 comments

I ran into several problems when integrating the outline renderer into SmartLiver, and had to abandon it. So, it could do with a bit of work.

  • Firstly, it appears to work with camera based interactor (vtkInteractorStyleTrackballCamera), but not Actor based interactors (vtkInteractorStyleTrackballActor), and then I tried numerous methods to try and force updates, to no avail. With Actor-based interactors the camera often doesn't move, so you see a default set of contours from whatever the initial position of the camera was and then no further updates???
  • The class hierarchy is odd, with now a base class called VTKBaseActor, extended by VTKBaseModel, and a Model contains a VTKActor.... and the outline actor ends up with an internal member variable called an actor.
  • It may be better to make the outline actor a "first class citizen", and not hide it within a model. I know it is dependent on another model, but you need access to the vtkPolyDataSource, and it would have to be up to each derived subclass to know which is the most appropriate filter to connect it to.
  • The silhouette pipeline isn't stored as member variables, which means it's difficult to work with after it's constructed.
  • The silhouette is using an outdated way of connecting to the pipeline, which may be the reason for it not updating properly, e.g. using a PolyData instead of GetOutputConnection etc.
  • There is no way to control properties of the outline after the construction.

MattClarkson avatar Feb 24 '24 09:02 MattClarkson