On Mon, 6 Jun 2005, Tim Lister wrote:
> Ok there is a slight excitement. On the existing USSC machines we have
> /star/include/cnf_par but on my CVS Starlink I have
> /star64/include/CNF_PAR and an include of one version will break on the
> other... Is there a way to make it automagically work on both Starlink
> versions or should I just symlink CNF_PAR to cnf_par on my Opteron ?
Hi Tim,
yes, you need a softlink. Under the old-style system there's a command:
cnf_dev
designed to do this job for you (or you can do the same job from your
Makefile).
> > Well, if you do find it needs more, then clearly you'll need to take more
> > care with how it handles memory, but you may run into problems with
> > NDF/HDS before that happens (depends on the size of your images and how
> > you access them and use temporary files). We are developing a 64bit
> > version of the HDS data file format to fix that.
>
> Well I'm sure Keith would like to read in 6 months worth of flatfields,
> but that's just crazy talk ;-) At the minute we are using FIGARO's
> GROWXY to grow the flats into the cube and that goes bang on 32bit USSC
> Starlink with more than 25 flats and bang straight away on 64bit
That would be expected. The current HDS starts to croak at data files of
around 512Mb (seemed a large number sometime back). Not sure why you're
putting all these into a single cube (rather than keeping the images
separate, which memory-wise is a better idea).
> (Although I see from all the CVS commits that Malcolm is doing a really
> great job on dragging the FIGARO monster into the 64bit age which must
> be a herculean task...).
Yes, it actually turns out that FIGARO is also broken using the
DYNAMIC_MEMORY tricks too, these also require sorting out.
> So we would need to replace GROWXY with something else (NDFCOPY??) first.
Actually, I cannot think of an easy way to create an NDF cube from a stack
of images (using KAPPA commands). All I came up with is the following
method:
1) create a template cube from an existing NDF (ten planes):
cp existing.sdf cube.sdf
setbound cube'(,,1:10)'
2) make each input 2D NDF (say called image1...n) 3D by adding a dummy
third dimension and then set the origin to position it within cube:
setbound image1'(,,1)'
setbound image2'(,,1)'
setbound image3'(,,1)'
...
setorigin image1 '[1,1,1]'
setorigin image2 '[1,1,2]'
setorigin image3 '[1,1,3]'
...
3) paste images into cube NDF.
paste cube image1 image2 image3 out=newcube
There may be better ways to do that. Anyone?
Cheers,
Peter.
|