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:

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


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

  2. Register the images. Make sure that the center of figure of the model and the images are aligned.
  3. 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.

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

    • 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
      • 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 if available.

    • Install the model. Copy or symbolically relink it
      • 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

limber (last edited 2018-05-05 21:15:56 by BMittan)