I’d like to restore the crosshairs I placed on an image with vtkSeedWidget; But I’m not sure the best way. It seems to be oriented only for user interaction, which works fine, but I’d like to restore the seeds the user placed.
We were struggling with trying to make vtkSeedWidget work in 3D Slicer for exactly this kind of tasks (restore from file, display in multiple views, etc) for about 10 years, wasting hundreds of thousands of dollars. A few years ago we decided to give up on VTK widgets and redesigned from scratch (just taking a few useful concepts, such as separation of data, behavior and representation; event translations; etc). With these new classes we could implement everything that we wanted in a few years. We will consider contributing this back to VTK in a couple of years, but until then I would recommend to use widgets in 3D Slicer.
You can load point positions from csv or json file and display them using crosshairs in slice and 3D views without any programming. If you have any Python or C++ code then you can run it directly in Slicer without much if any change.
The new Slicer widgets use MRML library for data representation (instead of just plain VTK data objects) and there are a few other smaller dependencies. If you just need single-view 2D representation of point sets and you are sure the you will never ever need multi-view, multi-slice, 3D, interaction with more than 50 points, different markup types, dynamic transformation, projection mode, highly customizable display, etc. then it may not worth the effort to remove the dependencies, but instead you can clone and change the VTK seed widget and associated representations.