From Terik Daly on 29 Nov 2017.

How to run limber to create a starting shape model

  1. Make a LIMBFILES directory if one doesn’t already exist in the moon’s directory (e.g., HELENE).

  2. Make a list of images to tuck, called “TUCKER.TXT”.
    1. Make a text file called “TUCKER.TXT” in the moon’s directory (e.g., HELENE).
    2. Take a look at the images on the Planetary Atlas or using ISIS and populate this text file with a list of unhelpful images that you want tucked away so that they are not included in the model (e.g., overlapping limbs with other moons, etc.).
    3. The last line of the file must be END.
  3. Run “TUCKER”. This creates a lithos script. Copy and paste the script (two lines) into the command line. Doing so updates PICTLIST.TXT and puts a ! in front the tucked images.

  4. Erase contents of TUCKER.TXT (leave "END"). Otherwise if you run TUCKER again, it will untuck the images in the list.
  5. Create LIMBER.IN in the moon’s directory. Copy this over from another body (e.g., Helene) on which limber has already been run.

    1. You may need to update the shape to SHAPE.TXT in the first line.

    2. This will need to be updated each time you run limber so that you don’t overwrite the previous shapes (e.g., SHAPEL.TXT for the first limber shape).
    3. Some rows in LIMBER.IN may need adjusted for different objects, and these will change as you iterate through limber and register.

      1. For Calypso: Bob changed max search range in pixels down to 10 (from 100) because Calypso is so tiny.
      2. For Calypso: Bob changed the max phase for terminators to 10, then 20, then 30 because he wasn’t liking the results.
      3. For Calypso: Bob changed the max height wrt shape down to 10, then up to 15
      4. For Calypso: Bob also changed the scaling factor up to 4, then down to 3.
  6. Make a list of images to use in limber, called LIMBER.TXT

    1. Make a text file called LIMBER.TXT in the moon’s directory (e.g., HELENE).

    2. Populate the text file with the image numbers of the images you want to use to make the limber model.
    3. The format of this list is the same as PICTLIST.TXT — a space before the image name, and END as the last line. END does not have a preceding space.

    4. Make sure these images have been registered as best they can to a triax, Stooke, or Thomas shape before running limber.
  7. Run limber.

    1. limber will extend vectors from the shape until it hits a limb in the image.

    2. Running limber populates LIMBVECS.TXT and the LIMBFILES directory.

  8. Use DUMBER to dumb down the shape model a bit.

    1. Input infile: SHAPEFILES/SHAPEL.TXT (or whatever the shape was)
    2. Input outfile: SHAPEFILES/SHAPEX.TXT
    3. Input m: 4
    4. Trim albedo: y
  9. Combine the limb vectors and shape vectors into a single file.
    1. Copy LIMBVECS.TXT to a new file called VECS.txt.

    2. Delete the first line (e.g., 64, 512, etc.)
    3. Copy the shape vectors from SHAPEX.TXT into the temporary file VECS.TXT.
    4. Once again, delete the first line (e.g., 64, 512, etc.)
  10. Run vecs2cube. This will change SHAPEX.

    1. This doesn’t use any spherical harmonics, just the vectors, to make a crude shape model.
    2. Input vectorfile: VECS.TXT
    3. q: 16
    4. Input shapefile: SHAPEFILES/SHAPEX.TXT
  11. Run shape2maps to see what the shape model looks like.

    1. Input shapefile: SHAPEFILES/SHAPEX.TXT.
    2. To actually visualize the shape, ./view_shape.txt
    3. (EEP - Run view_shape to get an image)

  12. Save new shape as VECS.TXT, removing the first line.
    1. Copy SHAPEFILES/SHAPEX.TXT to VECS.TXT, then remove the first line.
  13. Run vecs2shape to smooth model. This will update SHAPEX.

    1. This translates VECS.TXT into a format that SPC can read/visualize.
    2. Input vector file: VECS.TXT
    3. Input q, lmax: 512, 13
      1. q is the resolution of the model
      2. lmax is the max l for the spherical harmonic fit. Odd ones tend to work better.
      3. You’ll fiddle with these values a lot as you iterate through limber/register later.
    4. Input shapefile: SHAPEFILES/SHAPEX.TXT (or whatever the file is you are working with, e.g., SHAPEL.TXT, etc.)
  14. Use dumber to dumb down the shape model a bit.

    1. Input infile: SHAPEFILES/SHAPEX.TXT (or whatever the shape was)
    2. Input outfile: SHAPEFILES/SHAPEL.TXT
    3. Input m: 8
    4. Trim albedo: y
  15. Run shape2maps to see what the shape model looks like.

    1. Input shapefile: SHAPEFILES/SHAPEL.TXT (or whatever shape you are on)
    2. To actually visualize the shape, ./view_shape.txt
  16. Run register and spot check how images compare to the shape.

  17. Use display to spot check how well limber identified the limbs on those same images.

    1. If the limbs weren’t identified correctly, then adjust parameters in LIMBER.IN until the images’ limbs are ID’ed correctly.

    2. Using the ORIGIN landmark in ROCKER provides a really easy way to view how well the shape aligns with the images at a glance.
    3. (EEP rocker is an old program that is being used to show the origin and provide a general-health-of-the-model evaluation)
  18. You can also use coverage to see how good the limb coverage is.

    1. All maps
    2. Scale: 0/100
    3. Add limb vectors? y
  19. Iterate through the process until you are happy with the shape. You’ll end up re-running LIMBER, DUMBER, VECS2CUBE, VECS2SHAPE, and REGISTER a lot, probably making some tweaks to LIMBER.IN along the way. Bob cycled through this at least 5 times for Calypso.

    1. Before re-running LIMBER, make a copy of SHAPE.TXT (e.g., SHAPEL.TXT) so that you don’t lose the intermediate shape when you re-run LIMBER.

    2. In LIMBER.IN, you need to update the shape in the first line to whatever shape you’ve been working on (e.g., SHAPEL.TXT) if you want to re-run/iterate.


limber_script_daly (last edited 2017-12-08 12:38:19 by EricPalmer)