New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VTK and Python 3 support in fvtk #6
Comments
From @grlee77 on January 29, 2016 23:25 Actually, I guess These are the CMake flags I had set at compile time. I can provide a conda build recipe if interested.
|
From @Garyfallidis on February 1, 2016 11:40 Hi @grlee77 thank you again for your excellent feedback. First I would like to say that I am very excited about having Python 3 support in VTK that was the only dependency we had in Dipy that was not Python 3 compatible. We need to update our docs. Second, the formely known fvtk module is being slowly replaced with the new dipy.viz system. Have a look at the visualization section of http://nipy.org/dipy/examples_index.html#visualization Now about the order transparency issue. This has been a nightmare for debugging. Order transparency in VTK is very unstable and it depends mostly on the type of the card that you have and what opengl features are supported in your card. There is a large number of extensions that allow for fast order transparency which is what we are trying to support here. There is an alternative but it will make the code much more complicated. So, for now we are planning to support only that and hope that the VTK guys will make it more stable. Now, if that ordered transparency stopped working only when you switched to Python 3/VTK 7 but it was working on Python 2.7 on the same machine we definitely need to report it to the VTK developers. I am happy to help if this is the case. |
From @grlee77 on February 1, 2016 17:17 Hi @Garyfallidis, I am not sure if the same transparency problem is also present in VTK6/Python 2.7. I may be able to check later this week. It seems that VTK7 uses a newer "OpenGL2" backend by default which has some differences in the volume rendering methods that are implemented. The following file indicates which classes will be present depending on various build flags: I am not currently using the volume rendering code, but only some of the point and tube plotting functionality (I was actually making some visualizations of 3D non-Cartesian k-space trajectories unrelated to diffusion imaging!). Matplotlib 3D plotting leaves much to be desired and |
From @Garyfallidis on February 1, 2016 18:23 Cool, thank you for the tips. Most likely you will see the same effect in the same machine. If not I will definitely need to know that and report it to VTK. |
From @grlee77 on February 1, 2016 19:4 Anaconda already has a VTK 6.3 package for Python 2.7, so it was easy to test against that. The result is that I don't know enough to say whether this is a VTK 7 bug or if it could be due to some differences in compilation flags. |
Not sure this issue is still relevant since fury requires vtk8.1 now? |
The Title is not relevant but I think we still have this error. We have to check this error before. |
fix by #40 |
From @grlee77 on January 29, 2016 23:15
It looks like the soon to be released VTK 7 finally supports Python 3! However,
vtkVolumeTextureMapper2D
is now deprecated in VTK7 so it can no longer be used infvtk.volume
(see here: http://www.vtk.org/Wiki/VTK/API_Changes_6_3_0_to_7_0_0 ). I am not sure what is an equivalent replacement if any. The good news is that it seems minimal changes tofvtk
will be required to support VTK 7.I ran many examples and the tests for VTK7 from the current release branch and things are looking pretty good. I propose a few minor fixes (mostly related to Python 3, not VTK 7) in #853
I only got two test failures with VTK 7 / Python 3.4:
That one is avoided via b99d107227058b7e8bc58c8f1f64810f69d74235
However I am not sure what is causing the issue in this one:
The images produced look like this:
green_front.png
red_front.png
Copied from original issue: dipy/dipy#854
The text was updated successfully, but these errors were encountered: