Re: [OpenDX2-users] first try - opendx and plotting angular dependent data

2009-10-19 Thread Joel Richardson

Hi Lars,

First, welcome to OpenDX! Sounds like you've gotten quite a long
way already. You may be interested in the OpenDX forum at
http://www.opendx.org/cgi-bin/forum/YaBB.pl
It gets more readers than the mailing list, I think.

   
 I found that there is the Post module which is supposed to do some 
 interpolation. I just do not know how to use it - where in my net should 
 it appear, just after the Connect module?

I think you want Refine, not Post. And yes, after Connect should do it.

   
 This is where I am completely lost now. I tried to use the positions 
 (a.x, a.y) and the data value (b) with a compute module, to get (x,y,z). 
 However, as a is a field with two scalars, while b contains only one 
 data value, I get an error (Bad paramater: Inputs must be of same 
 length / Input 1 not matching the master (input 0).). So I tried to 
 change my input b by passing it through a second compute module, which 
 was simply to add the second scalar: [(a),(0)] - but this did not work, 
 same error message. So how do I match the two inputs, to be able to 
 modify the position by the data value?
 

The error message refers to the number of positions/data values, not to
their dimensionality. Your original compute expression is probably
correct (at least, it would not be the cause of that error message).
The problem is upstream of Compute. Somehow, the number of positions
received by Compute's a input is different from the number of data
values received by the b input. (You didn't insert a Post, did you?)

--Joel

-- 

===
Joel Richardson, Ph.D.
Sr. Research Scientist
Mouse Genome Informatics
The Jackson Laboratory   Phone: (207) 288-6435
600 Main Street  Fax:   (207) 288-6132
Bar Harbor, Maine 04609  URL:   www.informatics.jax.org
===
___
OpenDX2-users mailing list
OpenDX2-users@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opendx2-users


Re: [OpenDX2-users] Can DX count from 1 instead of 0?

2008-07-16 Thread Joel Richardson
Mark,

OpenDX array indexing always starts at 0.  You can
easily subtract 1 from all the index numbers in the
connections component. To do that, you'll have to
import that array as something other than the connections
component (maybe as a separate object - put the field
and the array in a group and import that). Then inside
of dx, run the array through Compute(a-1) and then
use Replace to put it back into the field as the connections
component. You'll probably also have to set the ref
and element type attributes after the Compute, using
the Options module.

Hope that helps.
Cheers,
Joel

Mark Gesing wrote:
 Hi,
 
 I have some data which is on a grid of cube shaped volume elements.
 The grid is an 8x8 grid (64 elements), made-up of two layers of nodes 
 (9x9x2=162).
 
 My problem is that DX by default numbers the nodes starting at 0-161, 
 whereas the application generating the data (LS-Dyna) numbers the nodes 
 1-162.
 
 Therefore when I try to import the data (following the example on page 
 254 of the user's guide) I get the error:
 
 Begin Execution
 ERROR: Import:  Invalid data: 573rd item in `connections' component 
 (162) is not between 0 and 161  / file 'd3plot.dx' line 14
 
 My .dx file d3plot.dx is as follows:
 
  object 1 class array type float rank 1 shape 3 items 162 lsb binary
  data file d3plot, 260
  attribute dep string positions
  object 2 class array type int rank 1 shape 9 items  64 lsb binary
  data file d3plot,2204
  attribute element type string cubes
  attribute ref string positions
  object 3 class array type float rank 0 items 162 lsb binary
  data file d3plot,4560
  attribute dep string positions
  object irreg positions irreg connections binary file class field
  component positions value 1
  component connections value 2
  component data value 3
  end
 
 (forgive the wierd spacing,  I have written a code to auto-generate the 
 .dx file for d3plots with different sized meshes, and I haven't bothered 
 to tweak the format statements yet)
 
 Can I get DX to number it's nodes from 1-162 instead of 0-161? If not, 
 is there a way to get DX to subtract 1 from each of the numbers in the 
 connectivity list?
 
 I am also open to other solutions.
 
 If anyone would like to try things out on my binary file (d3plot) ask 
 me and I'll e-mail it to you, I would attach it to this e-mail, however, 
 it is 3.6 megabytes and I decided it would be poor form to send a large 
 attachment to a list.
 
 Thank you very much
 
 -- 
 Mark Gesing,
 MASc. Candidate,
 Mechanical and Mechatronics Engineering,
 University of Waterloo
 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
 (519) 888-4567 x32309
 
 
 
 
 ___
 OpenDX2-users mailing list
 OpenDX2-users@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opendx2-users

-- 

===
Joel Richardson, Ph.D.
Sr. Research Scientist
Mouse Genome Informatics
The Jackson Laboratory   Phone: (207) 288-6435
600 Main Street  Fax:   (207) 288-6132
Bar Harbor, Maine 04609  URL:   www.informatics.jax.org
===
___
OpenDX2-users mailing list
OpenDX2-users@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opendx2-users


Re: [opendx-users] Command execution order

2005-12-05 Thread Joel Richardson


AB,

The only way to guarantee that B executes after A is to have
B's input depend on A's output. Since WriteImage has no outputs,
it gets a little complicated - you have to put WriteImage inside
a macro, and have the macro produce an output (e.g., the image
file name) that can flow to the System module.

Cheers,
Joel

Anonymous Bosch wrote:

I am fairly new to openDX, but using the visual program editor I've
managed to do some fairly neat stuff.  However, I have a problem with
the order in which the commands are carried out on a given page.  In my
particular example I'm using writeImage to write an image file to disk
and then modifying it using the System command.  The problem is, the
System command executes before writeImage and so there's no file to
operate on.  I'm sure this is an extremely simple problem, but I haven't
yet figured it out.

Any help appreciated.

AB

_
The new MSN Search Toolbar now includes Desktop search! 
http://toolbar.msn.co.uk/




--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


[opendx-users] [Fwd: string processing modules available]

2005-12-02 Thread Joel Richardson



Hey DX'ers,

I am pleased to announce the availability of a set of free,
open-source modules for OpenDX that provide significantly enhanced
string processing capabilities. These modules define a new category,
bdxStrings, and include functions such as regular expression matching,
substring extraction, and enhanced formatting and parsing. I wrote
them some time ago and have been using them regularly. I decided it
was about time to release them in case others might also find them
useful.

For details and downloads, go here:
 http://www.informatics.jax.org/~jer/biodx

This is a beta release. Please suggest changes and improvements, and
report any bugs to me. Thanks!

Cheers,
Joel


--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] 3-D problem

2005-10-18 Thread Joel Richardson


Samuel,

How are you importing your data, and what happens
downstream of the import? There must be some step
where you are coverting 12.5-17.5 to 0-60...

Joel

samuel verstraete wrote:

Hi,

This only solves my problem in a way... Indeed it's not a sheet of
paper anymore but now the axes are still going from 0 to 60... Is there
any where that i can adjust the labels of the axes?

gr,

Samuel Verstraete

On Tue, 27 Sep 2005 09:12:59 -0400
Joel Richardson [EMAIL PROTECTED] wrote:



Samuel,

Use Scale to adjust the aspect, e.g., give it a scaling
vector of [1, 1, 100]. AutoAxes will show the unscaled
coordinates.

Joel

samuel verstraete wrote:


Hi,

I'm using opendx for 3-d visualisation of a 3-D grid. So basically
the VolumeRendering.net program.
Now i have a small problem. 
The data i work with are only 5 deep (Z) and 500 in X and Y. So what

you basically see is a sheet of paper that has some depth but is
hardly worth looking at. 
The simplest sollution to this is of course to change the unit of

the Z-delta in the Data Prompter (importer). this gives satisfying
results but then the axes are not right anymore. (instead of going
from 12.5 to 17.5 they go from 0 to 60.) I don't want that.

Do you guys know of any better sollution?

Prolly this is quite a simple question but i just started trying
this program and i must say that it's not so easy ;)

gr,

Samuel Verstraete




--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===






--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] 3-D problem

2005-09-27 Thread Joel Richardson


Samuel,

Use Scale to adjust the aspect, e.g., give it a scaling
vector of [1, 1, 100]. AutoAxes will show the unscaled
coordinates.

Joel

samuel verstraete wrote:

Hi,

I'm using opendx for 3-d visualisation of a 3-D grid. So basically the
VolumeRendering.net program.
Now i have a small problem. 
The data i work with are only 5 deep (Z) and 500 in X and Y. So what

you basically see is a sheet of paper that has some depth but is hardly
worth looking at. 
The simplest sollution to this is of course to change the unit of the

Z-delta in the Data Prompter (importer). this gives satisfying results
but then the axes are not right anymore. (instead of going from 12.5 to
17.5 they go from 0 to 60.) I don't want that.

Do you guys know of any better sollution?

Prolly this is quite a simple question but i just started trying this
program and i must say that it's not so easy ;)

gr,

Samuel Verstraete




--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


[opendx-users] Java Explorer question

2005-08-29 Thread Joel Richardson


I've been experimenting with Java Explorer (with a fair
amount of success) and I'm
wondering if there is any way - by hook or by crook - to
make objects in a scene hypertext links - when the user
clicks on one while in Pick mode, the end result is the
object's URL target is opened in a new browser window.

My gut tells me this is not supported, nor will it
be easy to implement. Obviously, my net has to somehow
communicate the URL to the applet, which must open the
new browser window.

Assuming this is not currently possible, I'm willing to
dig in and try to implement it, if that seems like a
good idea. It would sure be useful for the things I'm
trying to do.

Any advice from the experts?

Thanks in advance,
Joel



--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] FEA Grid Visulization

2005-08-26 Thread Joel Richardson


If by number the positions, you mean you want the number 1 to
appear in the scene at the first position, 2 at the second, and
so on, here's one way...

To get n, Extract(positions) and feed to Inquire(items).
Feed this to Enumerate to generate the integer list 1 .. n.
Replace the data in the original field with this list.
Send this to AutoGlyph; set the glyph type to text, and the
ratio to 1.0. Color to taste.

Cheers,
Joel

Jon Pitt wrote:

Hi,

I'm trying to visualize a grid generated by an FEA package.  I can  get 
the connections drawn and change their color, but I would like to  
number the positions.  Does anyone know how to do this?  I would also  
like to further extend this to the faces and cells themselves, but  
starting with the positions would be great!  Thank you,


Jon Pitt
University Park, PA 16802
[EMAIL PROTECTED]






--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] How to exclude part of data

2005-08-10 Thread Joel Richardson


You can run the data through Histogram, then run the histo through 
Include to keep only the bins that have at least N occurrences, then

Statistics to get the min/max pressures. Then feed your original data
through Include, using this min/max.

Joel

Jonathan Matheson wrote:
I can get a good image that way but I am looking for a way to do this 
automatically. I am using it for a computational fluid dynamics 
simulation so the pressure range is always different depending on the 
shape and other parameters. Also, my cfd program calls dx once it writes 
the dx files so the user can immediately see the image. Because the 
pressure range depends on the individual problem you'd have to specify 
the range each time which is not very practical. My range is so big now 
that the good data (data outside the shape surface) appears all one 
colour because it occupies a very small range of the colourmap. If I use 
'statistics' to find the max and min it gives me the garbage values from 
within the shape. I need to somehow use the boundary of the shape dx 
file to exclude the data inside of it and then search for the max and 
min outside. I can't find a way to split up the 'data' or get rid of 
part of it. I can exclude all of it easily enough but that's certainly 
no help.


Thanks,
Jon






Chris Pelkie wrote:

Using only the Colormap Editor (once you install Colormap and a Color, 
double-click the Colormap module), you can modify the normally linear 
colormap to any shape you want. You can also type in min and max 
values right there to constrain what gets colored (it invalidates the 
data outside your range, just like Include). So you can pretty quickly 
trim outliers, or leave them in, but by adding new control points, 
make a colormap that pushes all the colors down and up to wrap around 
the 'good' data.


Note the 'histogram' function of Colormap Editor can help identify 
where the 'good' data is.


To see all the above, you have to run the data flow from your imported 
field into the 1st input of Colormap. Also run this same output to the 
1st input of Color. Then run the 1st output of Colormap to 2nd input 
of Color. Samples show this clearly.



On Aug 9, 2005, at 9:47 PM, Jonathan Matheson wrote:

I am importing 2 3D dx files into my .net program. One of them
contains pressure values in the ‘data’ field. The other shape file
has only ‘positions’ and triangular  ‘connections’ fields with no
data. The pressure values within the shape are garbage and I need
to make my program ignore them. The problem is that outside of the
shape the pressures are all pretty close but inside they are
really high and really low. As a result of this my colour map does
not show the pressure differences outside the shape. I can
manually set the max and min values through the ‘include’ function
but dx is automatically called from another program and that is
not an option. I am looking for a way to search for the max and
min pressure values while ignoring those that are inside the
shape. If I could do that I can set those values in the ‘include’
function and everything will display properly.
 Thanks,
Jon

___
Chris Pelkie
Scientific Visualization Producer
622 Rhodes Hall, Cornell Theory Center
Ithaca, NY 14853 (607) 254-8794





--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] Configuring OpenDX on a Mac

2005-07-20 Thread Joel Richardson


I should have checked more thoroughly. It's only the DX main menu
that fails to recognize the directory setting. Run visual program
and Edit visual program both go to the root (curiously, with a
double slash at the start. I.e., I end up at // not /). However,
the VPE dialogs (open, load macros, file interactors, etc.) all
start at the desired directory.

I tried setting DXHOST to unix and tried adding -host unix to
DXARGS (and I am logging out/in each time), but with the same
behavior - the launcher window goes away, but no dx.

Just curious - what is the ~/.dx-ad config file? Is it safe/recommended
to add parameter settings there? As I said, setting DX*host there
does work.


Thanks again for the help.

Joel


David Thompson wrote:
I tested the DXARGS specifically because this was the most interesting 
and it worked with no problems (changed my directory to my Desktop). Can 
you check it again? Can you check it on the command line and see if it 
works? I guess, I should also know what you mean by it doesn't work 
(mine made all FileSelectors and Open/Save dialogs default to the 
Desktop folder I set it to.)


Remember you have to log out and log in each time you make a change to 
the environment.plist file (its only read once at log in time.)


Can you set the -host localhost okay via the command line? You could 
also try to set DXHOST=unix which will just assume a localhost but not 
even try to look up the machine name.


David



===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] Configuring OpenDX on a Mac

2005-07-19 Thread Joel Richardson


Problem solved...mostly. I stumbled across a config file in my home
directory. The file is named .dx-ad, and is not documented anywhere
that I've been able to find. The VPE uses it to save things like
which module categories are expanded. The settings in this file
take effect whether DX is started from the command line or from the
launcher. By looking at dx source code,
and playing around a bit, I was able to come up with the following.
(This may not be the most robust way to go about this, but it
got me over the hurdle.)

1. To achieve the same effect as setting DXMACROS, you can define the
variable DX*macros.

2. To achieve the same effect as setting DXMDF, you can define the
variable DX*userModuleDescriptionFile.

3. I did not see any way to achieve the same effect as setting
DXMODULES. (DX*modules doesn't do anything.)
As a workaround, the MDF file can give the complete
path to the loadable file.

4. Looking at the dx source code, it seems that setting the variable
DX*directory should set the working directory, but it doesn't. Whenever
I launch dx from the icon, the working directory is always root.

Cheers,
Joel


Joel Richardson wrote:


Hey DXers,

I am running the Vis Inc. distribution of OpenDX 4.3.2 on a Powerbook
G4 running OSX 10.3.9.

I've got a bunch of macros and runtime loadable modules that I'd
like to have available every time I start dx. Similarly, I'd like
the working directory to be set to a particular location.
The standard mechanism (setting env variables) works fine if I
invoke dx from the command line. But if I launch it via the application 
icon or open a .net file, my settings have no effect. The variables

are set in my .bashrc file.

I'm able to make the macros visible by placing them under
${HOME}/Library/Application Support/OpenDX/macros
as described in the distribution notes. But I cannot make
my loadables visible, and the working directory is always /.

Thanks in advance,
Joel




--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] Configuring OpenDX on a Mac

2005-07-19 Thread Joel Richardson

David,

Thanks - this works as advertised ... mostly!

1. Setting DXMDF, DXMODULES, and DXMACROS in ~/.MacOSX/environment.plist
works just fine.
2. Setting DXARGS to change the working directory does not work - I
still end up at the root dir.
3. Also, I'd like to set host to localhost. (Otherwise ssh complains,
and I have to open a connection manually from VPE.)
If I set DXHOST (or add -host localhost to DXARGS) in
environment.plist, dx fails to launch. I see the launcher
progress bar, but it just goes away, and there's no dx main menu.
I *can* set DX*host in ~/.dx-ad, however.

Thanks,
Joel



David Thompson wrote:

Joel,

You can set the following environment variables to override things:

DXMDF=path2mdf/file.mdf
DXMACROS=path2macrosdirectory
DXARGS=-directory /workingpath

.bashrc is not consulted from an app that is not started from a 
terminal. You can follow the thread on Apple's X11 mailing list for more 
information on environment variables and apps, see 
http://lists.apple.com/archives/x11-users/2004/Dec/msg00085.html


Your best bet would be to place these variables in the 
~/.MacOSX/environment.plist as mentioned here 
http://developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/Concepts/EnvironmentVars.html 



By the way, you will need to logoff and login for environment.plist to 
take effect.


A technote from Apple talks about creating this file 
http://developer.apple.com/qa/qa2001/qa1067.html.


I just tried it out to make sure it works and it does as I state. I will 
make sure to add this to the documentation for the next release. It 
really is a nice feature. If you have the Property List Editor from the 
developer tools, it can help to make sure the syntax is correct.


David


Hey DXers,

I am running the Vis Inc. distribution of OpenDX 4.3.2 on a Powerbook
G4 running OSX 10.3.9.

I've got a bunch of macros and runtime loadable modules that I'd
like to have available every time I start dx. Similarly, I'd like
the working directory to be set to a particular location.
The standard mechanism (setting env variables) works fine if I
invoke dx from the command line. But if I launch it via the 
application icon or open a .net file, my settings have no effect. The 
variables

are set in my .bashrc file.

I'm able to make the macros visible by placing them under
${HOME}/Library/Application Support/OpenDX/macros
as described in the distribution notes. But I cannot make
my loadables visible, and the working directory is always /.

Thanks in advance,
Joel


--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===






--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


[opendx-users] Configuring OpenDX on a Mac

2005-07-18 Thread Joel Richardson


Hey DXers,

I am running the Vis Inc. distribution of OpenDX 4.3.2 on a Powerbook
G4 running OSX 10.3.9.

I've got a bunch of macros and runtime loadable modules that I'd
like to have available every time I start dx. Similarly, I'd like
the working directory to be set to a particular location.
The standard mechanism (setting env variables) works fine if I
invoke dx from the command line. But if I launch it via the application 
icon or open a .net file, my settings have no effect. The variables

are set in my .bashrc file.

I'm able to make the macros visible by placing them under
${HOME}/Library/Application Support/OpenDX/macros
as described in the distribution notes. But I cannot make
my loadables visible, and the working directory is always /.

Thanks in advance,
Joel


--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


[opendx-users] JavaDX/MacOSX question

2005-06-29 Thread Joel Richardson



I have just started looking into JavaDX. I've gotten pretty far
but have just run into a wall. Everything is works fine if
I run the web browser on the same machine as JavaDX. I see
the server status on the Status.html page, and the demos
all seem to work. But when I try it from a different machine,
the applet is not able to connect, and the JavaDX console
window shows no traffic (I've got -verbose and -debug both
turned on.) Locally, I'm accessing the pages with http://,
not file://

A possibly related problem is that stopserver also is not
able to connect - it just hangs. I have to kill the server
process manually.

Anyone know of something obvious that might be going on?
Thanks in advance!

Joel


===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] simple plotting

2005-05-24 Thread Joel Richardson


Hi Dan,

I haven't looked at your data, but from your description,
you need to do something like the following:

   tbl = ImportSpreadsheet(...);
   in1 = Mark(tbl, 'x');
   in2 = Mark(tbl, 'y');
   in3 = Mark(tbl, 'z');
   tbl2 = Compute(float([$0, $1, $2]), in1, in2, in3);
   tbl3 = Unmark( tbl2, positions);
   tbl4 = Mark( tbl3, velocity);

At this point, you've got a field with the desired positions
and the velocity column marked as data. You can do further
computations on the data, if needed, and then pass it
to Glyph or AutoGlyph.

Cheers,
Joel

Dan Patnaude wrote:
Maybe this is a fundamental misunderstanding of how DX treats things on my 
part.  I've updated the data so that I now have four columns:

x,y,z,radial velocity

The x, y,  and z positions describe a position in space, and the data at that 
position is the radial velocity. If I assume an age and distance to the remnant, 
I can decompose the radial velocity into components vx, vy, and vz, but I am 
still at a loss. When I read in the spreadsheet, how do I tell DX to associate 
v_radial (or vx,vy,vz) with the position (x,y,z)? 

I don't understand how to tell DX that the 1st three columns denote positions, 
but the 4th column (or 4th, 5th and 6th columns) are data associated with those 
positions; i.e. column 4 is the x component of the velocity at the position 
(x,y,z). 

Moreover, if I do create a three vector for the velocity components, I can't 
seem to pass it to the 4th tab in Construct. It returns the following error:



ERROR: Construct: Invalid data: origin must be a vector or vector list

Here is the layout:
ImportSpreadSheet=Mark(x),Mark(y),Mark(z),Mark(vx),Mark(vy),Mark(vz)
Mark(x,y,z)-Compute([x,y,z])
Mark(vx,vy,vz)-Compute([vx,vy,vz])
[x,y,z]-Construct.origin
[vx,vy,vz]-Construct.data

A little more insight would be helpful. I can't imagine that this is as much of 
a hassle as it seems to be. I've attached the network and data in case anyone 
would be kind enough to play around with it.









On May 20, 2005, at 5:29 PM, Chris Pelkie wrote:

I'm not sure if you mean you want all the arrows to originate at 0,0,0, as if 
you snapshot the 'explosion', or if you want each arrow to originate at its 
x,y,z position, but be directed radially away from 0,0,0. In either case, the 
solution is the same, but the 'positions' are different.


To draw 3-d arrow glyphs in space, you need to have 3-d positions and 3-d data 
(dep on those positions). You didn't specify what you Mark'ed (I assume 
column0, column1, column2), so after creating the 3-vector and (unnecessarily 
Unmark'ing) you have 3-d data on the 1-d positions (a line) autocreated by 
ImportSpreadsheet (and usually, but not always, worthless).


So to emanate all from the origin, compute the 3-vectors as you have already, 
then feed this array to the 4th input of a Construct. Set origin to 0,0,0. 
This creates a field with as many 0,0,0 positions as there are data items in 
the input array. Autoglyph. Color with Autocolor or Color/Colormap. Image. done.


To do the second layout, separately Compute the array of 3-d positions and 
feed it to Construct(origin) and the data array to the same Construct's 4th 
input (which I can't think of the formal name of off the top of my head, 
either data or input). Same net as above. Use Print(rd) to watch how each 
operation changes the data field at the output of each module.


Chris Pelkie
Vice President  (607) 257-8335
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850


On May 19, 2005, at 19:41, Daniel Patnaude wrote:



Hi-

I'm trying to do something which intuitively ought to be quite simple:

I have a data file which looks like:
x_pos,y_pos,v_radial

The data is of ~ 450 ejecta knots in a supernova remnant (3c58 for the 
curious).  I basically want to make a 'kaboom' type 3-d distribution with the 
coords x,y,v_rad, since v_rad is effectively a measure of the z displacement 
from the center. The positions should be marked by an arrow which points 
radially away from (0,0,0), has a length proportional to the data, and 
optionally a color based on the value (bluer for positive, redder for 
negative values). Is this an easy thing to do? So far, all I've been able to 
do is:


ImportSpreadSheet-(Mark x 3, for each value)-Compute (to make a 
vector)-Unmark-Autoglyph-Image


but this only makes a distribution of circles, which looks nice, but isn't 
quite what I have in mind.


Any suggestions?

Thanks,
Dan



Daniel Patnaude
Smithsonian Astrophysical Observatory
60 Garden St
MS-02
Cambridge, MA 02138

[EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
(617) 496-2087







--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL

[opendx-users] random(a,b) function crashes?

2005-02-13 Thread Joel Richardson


Hey DX listers,

I'm running OpenDX 4.3.2 on Solaris 8. The random()
function consistently causes dx to dump core. It does
not seem to be a problem for the Mac version. I have checked the
bug database at opendx.org and there is no mention of
this, although the release note for OpenDX 4.3 mentions
a fix to random() for Windows.

Has anyone else run into this problem? Is there a workaround
or a patch?

Thanks,
Joel
--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


[opendx-users] Plot question

2005-01-20 Thread Joel Richardson


I would like to produce a bar chart that includes
error ranges extending above and below the top
of each bar. I can see how to do the bars using
Plot, but not the error ranges. Does anyone know
how to do this? Thanks.

Joel

--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] Coloring Glyphs with a second parameter

2005-01-04 Thread Joel Richardson


Emmanuelle,

Color the field according to the second parameter before sending
it to AutoGlyph (or Glyph). E.g.,
f1 = Mark(myField, parameter1);
f2 = AutoColor(f1);
f3 = Unmark(f2);
f4 = Mark(f3, parameter2);
f5 = AutopGlyph(f4);
...

Cheers,
Joel

Emmanuelle Lafont wrote:

Hi,


I've created glyphs with a size depending on a parameter.
Now, I'd like to color them according to the value of another parameter.

Is there a way to do that?
It seems to me that there is a sample about it, but I can't find it anymore.

Any help would be welcome.


Thanks!


Emmanuelle Lafont

-
Emmanuelle Lafont
NUMTECH
6 allée Alan Turing
63175 AUBIERE Cedex





--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


Re: [opendx-users] Window focus on Macs

2004-12-19 Thread Joel Richardson

David,

That works perfectly. Thank you so much!

Joel

David Thompson wrote:


Joel,

This is the function of the quartz-wm Window manager. It is a pain 
especially for dx. I've changed my focus policy within the window 
manager so that it focuses on the window that the mouse is over 
immediately. It solves the problem you talk about with the ImageWindow 
always gaining focus. To do that, you need to add the key wm_ffm as 
true to the com.apple.x11.plist file in your ~/Library/Preferences 
file. I've read that it can be set using:


in terminal

defaults write com.apple.x11 xm_ffm true

then to delete the behavior if you don't like it,

defaults write com.apple.x11 delete wm_ffm

I didn't have any luck with this, so I editted the file by hand and 
added it.


Of course you will need to restart X11 whenever you change this file.

David


I've been running OpenDX on my Mac and mostly everything is great.
My one problem is having to first click on a window to make it 
active, before
doing whatever in that window. Since working with OpenDX usually 
requires
frequent switching between windows (control panels, dialog boxes, 
image windows,
etc.) all those extra clicks add up to a real pain. Even worse, focus 
automatically
switches to the image window on every execution, so activities like 
stepping through

values in a control panel becomes a truly frustrating experience.

On my Sun box, this is not an issue, because I have it configured to 
give focus to
whichever window the mouse is over. I cannot find a way to do this on 
a Mac.
(I'm running OS X 10.3.6, using Apple's X11 v.1.0 - based on XFree86 
4.3.)


Does anyone else have this problem, and is there a way around it?

Thanks!
Joel






--

===
Joel Richardson, Ph.D.   Phone: (207) 288-6435
The Jackson Laboratory   Fax:   (207) 288-6132
600 Main Street  URL:   www.informatics.jax.org
Bar Harbor, Maine 04609
===


[opendx-users] Window focus on Macs

2004-12-17 Thread Joel Richardson


I've been running OpenDX on my Mac and mostly everything is great.
My one problem is having to first click on a window to make it active, 
before

doing whatever in that window. Since working with OpenDX usually requires
frequent switching between windows (control panels, dialog boxes, image 
windows,
etc.) all those extra clicks add up to a real pain. Even worse, focus 
automatically
switches to the image window on every execution, so activities like 
stepping through

values in a control panel becomes a truly frustrating experience.

On my Sun box, this is not an issue, because I have it configured to 
give focus to

whichever window the mouse is over. I cannot find a way to do this on a Mac.
(I'm running OS X 10.3.6, using Apple's X11 v.1.0 - based on XFree86 4.3.)

Does anyone else have this problem, and is there a way around it?

Thanks!
Joel


Re: [opendx-users] Coloring points based on one component of a vector

2004-07-23 Thread Joel Richardson

Assuming the data component holds the 4-vectors and
that the 4th vector element holds the internal
variable, you could do this:

 ...-Compute(a.3)-AutoColor()-...
 
Cheers,
Joel

 
 I have a 4-vector on an irregular set of points.  (A collection
 of particles with 3 velocities and one internal variable
 that are at irregular positions in space.)  I can
 easily do the various scatter plot projections that I need
 with all points black.  However, I would like to be able to
 have the point colored depending on the value of the extra
 internal variable.
 
 Can this be done with OpenDX?  Any hints on getting started?
 
 Thanks.John Cary
 
 -- 
   John R. Cary
 Professor, Dept. of Physics, University of Colorado, Boulder, CO 80309-0390
[EMAIL PROTECTED]
 ph. (303) 492-1489fax (303) 492-0642cell (720) 839-5997
 


===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] How to display polydisperse spheres?

2004-07-15 Thread Joel Richardson

Insert Mark(size) before Glyph.
(Or have your program name the component data
instead of size.)

Joel

 
  
 Greetings,
 
 I'm following this list for quite a while (basically since I started
 using dx 3 month ago). I really like this program, but now I've got a
 problem I couldn't solve so far. I'm sure there is a very simple way of
 doing it, but I can't see it right now.
 
 I've created a program that is generating a box filled (not tightly
 packed) with spheres of randoms sizes. Its output is of the following
 structure (assuming 100 spheres):
 
 
 
 object 1 class array type float rank 1 shape 3 items 100 data follows
   -0.6902   -5.5948   0. [x,y,z coordinate]
   ...
 
 object 2 class array type float rank 0 items 100 data follows
   0. [radius]
   ...
 attribute dep string positions
 
 object data class field
 component positions value 1
 component size value 2
 end
 
 
 
 How can I display these spheres on their correct positions and with the
 correct radius according to the size component? At the moment, I'm using
 Import-Glyph-Image which displays the spheres at the correct position
 but with the same radius (r=1 IIRC).
 
 Do I have to choose a diffent output for my program? (Wouldn't be a
 problem if so.)
 
 Thanks for your help,
 Kai


===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] Princeton Ocean Model, calculating depth from Sigma coordinates

2004-05-27 Thread Joel Richardson

Steve,

 
 This just scales the depth back.  What I really want is to feed Depth
 into the Compute module as input B and use the Expression:
 
   [a.x, a.y, a.z * [b.x, b.y] / 22]
 
 When I do this, I get the following in the Message Window:
 
   Error: Compute: Bad parameter: Inputs must be of same length / Input 1
 not matching the master (input 0).  
 

This means that the number of depth values is different from the
number of positions. Compute wants its inputs to be arrays
of the same length. It then computes the expression 
for each set of corresponding elements. As a special case, 
an input can be a single value (array of length 1), in which case
the same value is used throughout.

Your expression also has an error - which Compute will complain
about next, after the inputs are the same length. If what you 
want is to multiply a.z by the length of vector b, try:
[a.x, a.y, a.z * mag(b) / 22 ]

Hope this helps.

Cheers,
Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] Errors importing file into Opendx....please tell me what I am doing wrong!!

2004-05-24 Thread Joel Richardson

Arun,

Have you checked the opendx-users archives? I seem to 
remember other discussions of the bufsize mismatch
problem. 

Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] Execution with SIDE_EFFECTs

2004-05-24 Thread Joel Richardson
David,

Thanks for looking into this. I did read the documentation,
but obviously didn't quite get it.

 
 Going back and reading the documentation a bit on this, it appears 
 that your assumption that adding SIDE_EFFECT results in the module 
 always runs is correct. However, the assumption that the downstream 
 modules assume that the output has changed is incorrect. 

I was assuming that the downstream modules would _detect_
the change, when they tried to lookup the new input in the cache.
I think I must not fully understand how the cache is used
or maybe how the executive does its dataflow analysis (or both!)

I was also assuming a broader definition of side effect,
wherein a module's inputs do not fully define its outputs.
The first couple of sentences of section 4.1 of the User's Guide
gave me this impression.

Cheers,
Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


[opendx-users] Execution with SIDE_EFFECTs

2004-05-19 Thread Joel Richardson

I have written a small inboard module, getTime, that returns the
current system clock, using the gettimeofday() call. The module
is marked as having side effects, so it is called on
every execution, as expected.

The problem is the downstream Compute. I want to use the
time of day as a random number seed. Even though the
time value is changing, the Compute is *not* being reexecuted,
so I'm getting the same random numbers every time.

The following also shows the problem. In this net, the first value 
printed by Echo changes each time, but the second remains fixed.

[getTime]
|
 +--+-+
 ||
 |  [Compute(a)]
 ||
 [Echo]
 
I can force the Compute to execute by setting the output caching
to No results, but I thought that wouldn't be necessary here?

I have verified this behavior in verions 4.3.2 and 4.2.0, both 
on Solaris 8.

Am I missing something?

Thanks,
Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] Execution with SIDE_EFFECTs

2004-05-19 Thread Joel Richardson

I just tried that and it has no effect...

Somehow, the Compute is not being executed, even though
its input is clearly changing. If I change
Compute's output to no caching, it forces execution,
but that shouldn't be necessary, if I'm
understanding things correctly.

Joel

 
 Have you tried setting the output of getTime to cache No results. 
 I'm betting that Compute is seeing getTime as not changing so it 
 cache's the input value.
 
 David
 
 I have written a small inboard module, getTime, that returns the
 current system clock, using the gettimeofday() call. The module
 is marked as having side effects, so it is called on
 every execution, as expected.
 
 The problem is the downstream Compute. I want to use the
 time of day as a random number seed. Even though the
 time value is changing, the Compute is *not* being reexecuted,
 so I'm getting the same random numbers every time.
 
 The following also shows the problem. In this net, the first value
 printed by Echo changes each time, but the second remains fixed.
 
  [getTime]
  |
   +--+-+
  ||
  |  [Compute(a)]
   ||
  [Echo]
 
 I can force the Compute to execute by setting the output caching
 to No results, but I thought that wouldn't be necessary here?
 
 I have verified this behavior in verions 4.3.2 and 4.2.0, both
 on Solaris 8.
 
 Am I missing something?
 
 Thanks,
 Joel
 
 ===
 Joel Richardson, Ph.D.   [EMAIL PROTECTED]
 The Jackson Laboratory   Phone:  (207) 288-6435
 600 Main Street  Fax:(207) 288-6132
 Bar Harbor, Maine 04609  URL:www.informatics.jax.org
 ===
 
 
 -- 
 .
 David L. Thompson   Visualization and Imagery Solutions, Inc.
 mailto:[EMAIL PROTECTED]5515 Skyway Drive, Missoula, MT 59804
  Phone : (406)756-7472


===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] Coordinate trasformation

2004-05-19 Thread Joel Richardson

Mark(positions) - Compute(sqrt(a.x^2 + a.y^2 + a.z^2)) - Unmark(r)

...or something like that.

Joel

 Hi,
 
 I have a vector field written in cartesian coordinate system. I would like 
 to extract from it the radial component in spherical coordinate, and plotting 
 it with opendx. Is there a simple way to do it using opendx?
 
 Thank you in advance,
 
 Marzia 
 


===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] positions precision

2004-04-09 Thread Joel Richardson


 
 That limitation is pretty integral since many modules touch the positions
 component.  The likely workaround with DX out of the box is to introduce
 some coordinate system ransformation (i.e., warping the positions via
 Mark-Compute-Unmark).  These could include logarithmic or removing an
 offset and rescaling.  But thay may not work with the distribution of
 positions.  Perhaps another way is to maintain a private positions as
 doubles, then offset/scale to floats for the portion being rendered and
 Replace the positions.
 
 

That last suggestion makes a lot of sense. Thanks.

Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


[opendx-users] ImportSpreadsheet rounds integers??

2003-06-24 Thread Joel Richardson

Hi,

I am trying to import a small table of genome coordinates
and am getting strange results from ImportSpreadsheet. 
Here's the file (tab-delimited):

group   species genechromosome  start   end
Spry2   mouse   Spry2   14  9692917496933478
Spry2   human   SPRY2   13  7490502774910002
Smad7   mouse   Smad7   18  7582490875853511
Smad7   human   SMAD7   18  4624623446277097

When I import it, the start and end coordinates have
changed a little. For example, the coordinates
for the first row have become 96929176 and 96933480,
respectively. The others have similar differences.
Looks like a rounding error of some kind.

I get the same results from both 4.2.0 on Solaris 8
and Win2000.

Is this a known bug? Is there a workaround? Thanks
for any help.

Cheers,
Joel


===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


[opendx-users] Hanging on startup

2003-04-10 Thread Joel Richardson

Hello,

I'm experiencing a problem that has been discussed before...
OpenDX hangs when a large net is executed from the UI. I have
tried the suggested solution, increasing DX_SOCKET_BUFSIZE.
But even setting it to the maximum allowed (1048576) doesn't
help. So, one question I have is how large is large? My .net
file is small (80k) although it does use a number of macros.
Even so, the total size is well under 1MB. Is there an 
alternative workaround?

Thanks,
Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


[opendx-users] substring function?

2002-10-02 Thread Joel Richardson

Hi - 

In dx, how do I compute a substring, given a string, a starting 
position, and a length?

Thanks,
Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


[opendx-users] General DX Robustness Question

2002-09-25 Thread Joel Richardson

First, I want to say what a fantastic tool I think DX is.
The breadth and depth of its features have been pretty much
boggling my mind since I started using it. It may really BE
the best thing since sliced bread.

That said, the version I'm using crashes a lot, and in
a number of different ways. I'm just wondering if this
is normal, specific to my platform, something I'm doing
wrong (the most like explanation), or what. If anyone can
help me, I'd sure appreciate it. 

The particulars:

I downloaded the binary labelled 
Solaris Sparc v2.8 based on OpenDX 4.1.3 from the OpenDX
web site and installed it in the usual place (/usr/local/dx).
My workstation is a SunBlade 1000, running Solaris 8 and CDE.

The kinds of problems I'm experiencing include:

- VPE crashes a lot. I'm doing a lot of macro
development right now. Quite frequently, operations
like opening/closing a macro window or reloading
macro definitions will cause VPE to die. As a defensive
measure, I've been saving every couple of opertaions, 
and quitting/restarting VPE every couple of saves.

- Mangling a macro's .net file. This only happened once,
but to a large, complicated macro.  
It suddenly started producing 100s of syntax errors when
trying to load it. I looked at the file and it seemed
ok to me (not being a script expert, however). VPE would
show the modules, but none of the connections. I ended up
rewiring the network.

- ImportSpreadsheet causes Signal 11 in the executive.
This seems to be connected with categorization, because 
if I don't categorize any columns, it works fine.

- Sometimes zooming in the Image window causes DX to crash 
and kills my window manager along with my login shell!! 

- Occasional complaints about bad reference counts.


Thanks in advance!

Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] General DX Robustness Question

2002-09-25 Thread Joel Richardson

Greg,

OK, thanks. That's comforting to know. I will try compiling
the source as you suggested and get back to you.

Joel

 
 No, thats not commonly the case at all.  Actually, I can't recall the last
 time the VPE crashed on me.   Needless to say, I don't use Suns, and I do
 remember that, way back when, we did have problems on Solaris - but back in
 product days, we tracked everything we encountered down and fixed it.   Of
 course, both Solaris and OpenDX have drifted since then, so new problems
 can easily arise.
 
 I would encourage you to lend us a hand here.  Download the source (from
 www.research.ibm.com/dx) and build it with debugging options set.  If you
 can give us info like the stack trace from core dumps we can get a clue as
 to whats going wrong.  The ImportSpreadSheet problem ought to be easy to
 track down.  UI/VPE problems can be tougher, since there's X below our
 code.
 
 Greg
 

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


Re: [opendx-users] Newbie computation question

2002-08-27 Thread Joel Richardson


Thanks for the reply. I should have stated my question more
clearly, though. I can see how to compute the density in a
window around a single position, but I need to compute the
density at each of a set of regular positions. I'm using Grid
to obtain the regular positions. Do I have to loop through the
positions explicitly? Is there a way to do this _without_ loops?
I've looked at modules like Sample, Regrid, Map, etc., but to
no avail.

Thanks again!

Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===


[opendx-users] Newbie computation question

2002-08-26 Thread Joel Richardson

Hello all,

I have a field consisting of integer counts at
irregular 1-D positions, e.g.:

positiondata
=
0.0 12
1.0 5
1.357
2.1 10
... ...

I'd like to compute a density function over x, for
a given sliding-window size. Seems trivial, but I can't 
figure out how to do it.

Thanks in advance for any advice!

Joel

===
Joel Richardson, Ph.D.  [EMAIL PROTECTED]
The Jackson Laboratory  Phone:  (207) 288-6435
600 Main Street Fax:(207) 288-6132
Bar Harbor, Maine 04609 URL:www.informatics.jax.org
===