Does this conversation on the Purdue Cytometry Mail List Mention Donating Licensed code from FREEWARE to develop Commercial Software for SALE?
Re: 3D Graphics for flow data display
This message: [ Message body ] [ More options ]
Related messages: [ Next message ] [ Previous message ] [ Maybe in
reply to ] [ Next in thread ]
From: Adam Treister <a...@treestar.com>
Date: Sun Jan 04 2004 - 13:48:24 EST
David,
We've tried on a couple of occasions to add a "spatial" 3D module to
FlowJo, and it has never turned out well enough to make it into a
release. We've found that using time as the third dimension, as in
our
"data movies," or using several 2D graphs, as in our "multi-graph
overlay" to be more practical solutions.
If you want smoothing or density coloring, that requires binning the
data. Even working at low resolution, you're looking at 256 times as
much time and memory to take the plot into an additional dimension.
You might get a tenfold performance increase with the G5 (which I
think
is quite optimistic, because the G5 adds fast floating point
processing, but binning is a integer operation), but even with that
that, adjusting a gate goes from taking perhaps a second to almost a
half minute. That would make using FlowJo feel like using CellQuest
(just kidding ;) At the full resolution of DiVa files, you're
looking
at another thousand fold increase over the 2D version, or a billion
times (1000 ^ 3) as long as we take to do it now. So, as best I
can
figure it, we can only support 3D at the cost of losing interactivity
with the data (ie, we can make the views, but changing gates or
parameters won't immediately change the 3D visualization).
It would be tough to have contours in 3D as each layer would obscure
the ones inside it. Contours would have to have varying opacity,
which
not only increases the computational time and complexity, but would
make it hard to differentiate populations. And the user interface
for
gating in space would be a real challenge. You could chop thru space
with planes, but that's 1D gating, which doesn't give you more
capability to define populations than you have now. So we'd have to
invent polyhedral gating.
If all you want to do is look at already-gated populations in 3D,
there
are options that exist. Expo32 has this feature, if you can figure
out
how to use Beckman Coulter (actually, ACS wrote it) software to view
BD
files. You can use existing commercial programs (Aabel & JMP are
nice
Mac 3D applications, and I'm sure there are others), or write it
yourself in OpenGL. I think OpenGL would be a better choice than C+
+.
OpenGL is a higher level graphics language, and knows how to access
the
specialized accelerators in the graphics cards, which are actually
faster for this stuff than the G5. That's how the dungeon games do
the
3D shading and rendering.
I'll be happy to donate a considerable amount of code that I've done in this effort (most was taken from an old freeware program called
Rotator, which I no longer could find with Google, but I have
somewhere
in my archives), but we decided this was pretty much a dead end.
Rotator was in C, and quite unreadable. For the investment this task
would take, I think it'd be better to start over in OpenGL. It's
cross-platform too, which is important, as you'll find you want to
port
it to a Cray.
I'd still think you want to use FlowJo to read the DiVa files,
compensate them, transform them, gate them, and then export desired
subpopulations to the 3D viewer. If it were any other instrument,
you
could probably read the files yourself, with R or our free Java
libraries, but the DiVa files are a unique format, and almost always
require compensation and transformation to a lin/log scale, so
there's
a lot of work before you even get to viewing them.
I've promised you 3D graphs in FlowJo in the past, and I've done my
best to deliver them, but the results have been pretty
disappointing.
And the benefit of them has never been demonstrated. If you can show
us how 3D views provide more interpretable data than our current
"compromise solutions," that would help. If you want to pick a
data
file, we'll make you get a spinning, stereoscopic, 3D view of it. If
we find that other scientists are able to make conclusions about the
data better than they can from our existing visualizations, that will
go a long way towards bumping it up on the FlowJo future feature
list.
I hope that helps.
Adam
http://www-wireless.usenet-replayer.com/data/misc/health/aids/47603.html