Programming Python, VTK, ITK and numpy in Eclipse, the easy way.
I’ve just posted a new screencast that shows how easy it is to starting programming Python with VTK, ITK, numpy, wxpython and more in the Eclipse development environment.
Here’s the screencast:
The accompanying documentation page can be found here.
We’re now using Mercurial distributed version control system
We recently converted the whole of the DeVIDE SVN source code history (around 4000 changesets) to Mercurial distributed version control system (DVCS). DVCS makes it much easier for developers to cooperate, and generally greatly streamlines the source code version control process.
The conversion was surprisingly painless. We made use of hg convert according to this description on Google Code (option 2, full history conversion).
Today we wanted to split out johannes (our super-useful VTK / ITK / wxPython / Qt / PyOt / SIP / DCMTK / GDCM / numpy / python automatic build system) into its own repository. I was expecting pain, but it turned out to be this easy:
hg clone https://code.google.com/p/devide/ hg convert --filemap filemap.txt devide johannes cd johannes hg push https://code.google.com/p/devide.johannes/
filemap.txt contains the following:
include johannes rename johannes . include johannes-extra rename johannes-extra extra
What this did, was go through the whole cloned DeVIDE repository at LIGHTING speed (it’s local right) and strip out all the johannes and johannes-extra bits. It then went and created a new repo containing the johannes bits at top-level, and the johannes-extra bits in a subdir extra of the new repo, all with complete history.
If you want a checkout of johannes, just do:
hg clone https://code.google.com/p/devide.johannes/
How to use Eclipse / PyDev with your DeVIDE / DRE code
I’ve recently added two scripts to the DeVIDE repository that enable one to use Eclipse and PyDev on one’s DeVIDE or even DRE (VTK, ITK, numpy, wxPython) code with full code completion and whatnot. See the newly written help page for more details.
11.x beta versions available!
Today I’ve made test builds (r4026) of the forthcoming 11.x release available for Windows 64 and Linux 64. First check out the snazzy new interface:
Then get the test binaries from the download page under “Test binaries” and please let me know how it goes, either in the comments to this blog, or in the bug tracker. Let me know especially which bugs you really want to see fixed in the next release.
For a compact list of changes, see the summary changelog.
Two new screencasts on using the DRE
I’ve made you two new YouTube screencasts showing how the DRE (DeVIDE Runtime Environment) can be used without DeVIDE. First a simple demonstration of using the DRE to run your VTK Python examples with possibly the least amount of fuss:
Second a slightly less straight-forward demonstration of real-time introspection on a running wxPython / VTK example:
Both of these have been added to the main DRE documentation page. Be warned, these videos, especially the second one having been made after midnight, could be mildly sleep-inducing.
Please let me know in the comments if you would like any other screencasts!
DeVIDE 9.8 released
I am extremely happy to be able to announce the release of DeVIDE 9.8!

Major changes include:
- The DRE: the DeVIDE Runtime Environment is a complete Python distribution including cmake, swig, Python, wxPython, numpy, matplotlib, gdcm, VTK and ITK. The DeVIDE application makes use of this runtime environment, and now you can too!
- WrapITK 0.3.0: The latest generation ITK pure-swig wrappings have been included.
- Multi-threaded VTK wrappings.
- Release on 4 platforms: Linux 32, Linux 64, Windows 32, Windows 64.
Read the 9.8 Release Notes, then go to the downloads page to get yours!
Let me know how it goes in the comments to this blog posting and on the mailing list, or report some bugs using the issue tracker.
9.8 imminent: The Biggest Release Ever
Thanks to the summer quiet, I’ve been able to put a whole lot of work into the next DeVIDE release. This is going to be a biggie, by far the most significantly updated release.
Some highlights:
- The DeVIDE Runtime Environment (DRE): Develop and run your own applications based on the same components as DeVIDE itself.
- WrapITK 0.3.0: Thanks to the great work of Gaëtan Lehman, the new ITK wrappings have been improved in almost all respects.
- VTK Python wrappings now multi-threaded.
Read the current changelog for the 9.8 release by clicking here.
I’m going to branch within the next few days and then iron out the usual pre-release bugs. I’ll release as soon as possible thereafter.
P.S. I almost forgot! For the first time EVAR, there will also be a release on Windows 64! See below for the proof:

DeVIDE 9.1 released

Finally, another release is out the door. The fact that it took this long ( 8.5 was released in June of 2008 ) is a testament to my general level of business the past months.
In any case, 9.1 contains oodles of new goodies, most of which you’ll probably never notice.
Read the release notes for more information and a summary of the changes since the previous release. Then get your source code or binaries (for Windows, Linux x86 or Linux x86_64) from the download page.
Let me know how it goes in the comments to this blog posting and on the mailing list, or report some bugs using the issue tracker.
DVN file format completely overhauled
I prefer posts on this blog with pretty pictures, but I’m going to have to make an exception in this case.
As I was refactoring (mostly renaming) throughout the DeVIDE code base, I got bitten again by the fact that the DVN file format for saving DeVIDE networks is based on Python pickling, and hence each DVN file is to a certain extent dependent on the presence of certain objects in DeVIDE itself. This means that backward compatibility is really hard to maintain. In addition, even the ASCI pickle format (I was using the binary version for cross-platform reasons) is not very human friendly.
As I really like refactoring stuff, I redesigned the DVN file format this afternoon. It is now human-readable and editable, far more robust and well separated from any DeVIDE internals. See the difference in this simple example: before vs. after. Cool eh?
This will be the new default from the next release onwards. Fear not, there is a relatively straight-forward way to convert your old DVN networks to the new format. You will need a DeVIDE 8.5 installation. Simply load up the network you want to convert in DeVIDE 8.5, then run this snippet in the main Python Shell. The DVN file it writes will be compatible with future releases, starting with the up and coming 8.9.

