Datascan – Image analysis
The world is changing fast. Just fifteen years ago, if you had images to analyze then your options were limited. And if you wanted to do scientific research involving images, then you were really out-of-luck. This was my impetus for creating the software application I called Datascan.
To be fair, at the time I wrote Datascan, there was already a Java-based image analysis application, created by the National Institutes of Health and called Image/J. And also to be fair, I could have used that, and it would have fulfilled 95% of my needs. So I don’t want to make any false claims. The fact is, I like a challenge, I think the best way to understand something is to build it yourself, and THAT was my motivation for creating Datascan.
It would never happen today, but in those days the Sun corporation (now Oracle) somehow discovered my Datascan application, and they posted a link to it on their website:
Collaboration in Datascan
Many features in Datascan were implemented at the request of my colleagues at the Max-Planck-Institute, who were interested in analyzing massive amounts of x-ray diffraction data collected using so-called area detectors. The situation is a bit different today, but the new arrival of these detectors on the scene in the early 2000’s – in particular, the sheer volumes of data they collected – led to many challenges for data analysis.
I got a chance to incorporate the hard work and terrific ideas from two other people. First, I have to give credit to an intern, Manual Schlestein. Manual joined the Max-Planck-Institute as an intern, he expressed a real desire to work with computers and programming, and he was thrilled when I gave him the opportunity to expand Datascan with a large variety of functions for analyzing images. I handed him a few books on fractal image analysis, and the rest was history. We finally published a description of our work here:
I am also very thankful to Nathan Funk, who provided me with a recursive descent parser that I integrated into Datascan. If you know anything about recursive descent parsers, then you probably realize there was no real reason for me to have one. But as I discussed elsewhere on this website (Funplot) I had tried myself to create a recursive descent parser (albeit in Fortran) – and failed – so it made me happy to finally have such a parser that worked!