ShowPositions improved the memory situation. But the stray dots are
often more interesting than the cloud center. And being so small, those
get lost from view. Might be better to reduce points in the very
center of the cloud and keep the outer strays nice and big.

So, then...can I have OpenDX itself eliminate some data according to a
formula something like...

if SQRT( X^2 + Y^2 + Z^2 ) < some_value

...so as to ignore any data points clustered inside a given sphere
about the origin? Say, put a function like that between the spreadsheet
module and the three mark modules?

One pair of my plots look like this...
http://starling.us/foo/sx01ds_vs_sy01ds_diagonal.tiff
...if any are curious.

At present larger data sets run out of memory. I can manage, if need
be, the extraction in Perl. But it might be instructive to learn how
a module in OpenDX could do it sans the manual step.

I appreciate the suggestion below about the data reduction pre-step. But
I'm kind of stuck with scatter plots which, I am informed, must be float.

TIA,

Gan

Chris Pelkie wrote:
You'll probably save a lot more memory by not using Glyph at all! Just use ShowPositions.

Positions MUST be float, so you can't save there. Data probably can be cast to int() or byte() generally speaking. I don't think any modules would promote it back to float, but I'm not 100% sure on that (it might happen invisibly inside the module for interpolation purposes, i.e., promote, then demote). To get the full advantage of casting down, create a net that does nothing but Import, Compute(int(a)), Export. Process all your data files first. Then use the new small-data files in the actual viz net. Otherwise, all the float data you import takes up space in ADDITION to the new int arrays you create on the fly.

If you have so many points, the ShowPositions cloud will be pretty obvious. If you must have zillions of glyphs, buy a Mac G5 with OS X and put in about 4 Gb. I did, and I ran a job a couple weeks ago that used 1.8Gb of memory (2 being the limit at the present time, per app.) The best I could do on a PC with 2Gb installed was 1.2Gb for DX, which is I believe the process limit in Windows.


On Tuesday, Aug 31, 2004, at 20:53 America/New_York, Gan Uesli Starling wrote:

    The book mentions formulae like byte() with sub-formulae inside
    the brackets. Is there a list of all such possibles? I am running
    out of memory and hoping some such formula as, perchance, integer()
    might do the trick.

    My data are in floating point but such precision exceeds reasonable
    bounds when the diameter of a 3D speedy glyph exceeds it that fineness
    by orders of magnitude. So I am thinking an integer function might
    save me gobbs of memory. Might that possibly be so?

    My purpose is to have paired data sets as 3D scatter graphs for the
    XYZ load signatures of automotive antivibration motor mounts. OpenDX
    is just the thing...but some of the data sets run into megabytes. And
    I can't load a pair of them even on my 512MB NetBSD box at home.

    TIA,

    Gan

--
    Mistera Sturno - Rarest Extinct Bird

    <(+)__ Gan Uesli Starling
    ((__/)=- Kalamazoo, MI, USA
    `||`
    ++ http://starling.us


________________________________
Chris Pelkie
Vice President
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850



--

 Mistera Sturno - Rarest Extinct Bird

 <(+)__       Gan Uesli Starling
  ((__/)=-    Kalamazoo, MI, USA
   `||`
    ++        http://starling.us

Reply via email to