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
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.