limber

Description

limber is the key tool for creating shape models using image limbs.

Specifically, limber creates LIMBVECS.TXT, which is a list of limb intersections for each image in body fixed coordinates.

These vectors can be used to create a shape model or merged with an existing model.

Input Files

Limber uses the file LIMBER.IN to set parameters. It uses all of the images in PICTLIST.TXT unless a LIMBER.TXT exist. LIMBER.TXT is a list of images to allow using a subset of the image list.

If defined in INIT_LITHOS.TXT, it an use:

BLOOM

SHPSIG

It requires SUMFILES for each image

Output Files

It creates LIMBVECS.TXT, which is a list of all of the vectors. Each image has its own file that lists the limbs, which is stored in LIMBFILES. This directory must be created by hand.

Usage Notes

limber_script_bob

limber_script_daly

bobs_with_Erics_notes

Procedures

Get a starting shape model. You can use triax to build an ICQ for a starting shape model. You only need a Q of about 8 to get started. You can use the distance to target to get a 1st order estimate of the image pixel scale. With that, you can review the first images and measure the a, b and c axis of the object. These you feed into triax to get a starting shape model. It is trivial to estimate the rotation period from the images if you have a rotation movie.

Register the images.

Make sure that the center of figure of the model and the images are aligned.

Get a pole. Use either register with the x option or some other tool to get the RA and Dec for the pole (external source). Right now, I am estimating that the solution needs to be within 10 degrees of the correct value for limber to function well.

Run *Limber Loop* - Perform the following until the shape model is within 2 pixels of the images

Run limber to get LIMBVECS.TXT

Review LIMBVECS.TXT to ensure they are stable.

/!\ You can use gnuplot (deleting the first line) or vecs2shape then shape2maps then view_shape.

Review the coverage of limbs coverage. You can expect to see a reasonable field of white points denoting that the images are generating good limbs. Gaps are okay because concave objects lack portions that display limbs.

Merge with existing shape model. This is not required -- you can just use LIMBVECS.TXT by itself, but you are more likely to get spikes at the beginning of the model.

/!\ You might want to reduce the number of vectors in the old model using dumber. I'd suggest going from 64 to 8 (using a factor of 8) (JRW recommends having the previous shape be the same as the Q of LIMBVECS.TXT. Weird things happen when the previous shape is low res and you have little coverage in LIMBVECS.TXT)

bin/dumber SHAPEFILES/shape-step11.txt SHAPEFILES/dump-step1.TXT 8 y

cat SHAPEFILES/dump-step1.txt LIMBVECS.TXT > vecs-step2.txt

vi vecs-step2.txt

Remove the two Q values and the "END"

Convert a point cloud (list of vectors) into a shape model ICQ

vecs2shape This builds a shape from the vectors using spherical harmonics, so it has smooth edges

vecs2cube The builds a shape using only vectors. It is more accurate, but more likely to have artifacts (spikes). If this method is used, it may be good to dumb that new model down and run it through vecs2shape to generate a more stable model.

Review the model using shape2maps then view_map - or the viewMaps.sh if available.

Install the model.

Copy or symbolically relink it

relink.sh step2-icq.txt SHAPE.TXT

Register the images to the new shape model

Evaluate the registration

evalReg PICTLIST.TXT

Repeat until the model is good.

Good is defined as the agreement between the cyan and magenta shapes are within 2 pixels.

At some point, you can stop merging the old shape model

Useful Things to Know

LIMBVECS.TXT will be a Q size of the installed shapemodel

If dumbing down the previous shape cases vecs2cube or vecs2shape to crash, when you run those programs try using a Q that is the same as the dumb downed version of the previous shape.

When using vecs2cube, use a Q that is equal or less than LIMBVECS.TXT. Sometimes the shape will go unstable if you scale up here.

If you want to go to a higher Q, use vecs2shape.