Differences between revisions 1 and 23 (spanning 22 versions)
Revision 1 as of 2018-05-10 15:41:06
Size: 4600
Editor: EricPalmer
Comment:
Revision 23 as of 2018-06-05 21:03:31
Size: 7506
Editor: EricPalmer
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= 1st Annual PRI Workshop on Image-BAsed Modeling and Navigation for Space Applications = = 1st Annual PRI Workshop on Image-Based Modeling and Navigation for Space Applications =
Line 4: Line 4:
Welcome to the 1st Annual RPI Workshop on Image-Based Modeling and Navigation for Space Applications. This is a persistent webpages (will continue to exists after the training) that contains the information you need to get ready and the lesson info.
Line 7: Line 9:
 Goals
* Bring the students to the "SPC Training Level 2"
  * Provide enough training to new personal to be able to directly and substantively help an experienced person build a shape model
 * Bring the students to the "SPC Training Level 2" [[TrainingLevels]]
  * Provide enough SPC hand-on skills that basic shape models can be built
Line 11: Line 12:
  * Provide a systematic review of key SPC concepts and techniques to aid more experienced users understand subtle, but important, SPC dependencies
  * It will be insufficient to fully train new personal to a level in which they could run the Hayabusa 2 encounter without support, but it will go along way to improving their confidence with the program
  * It will be insufficient to fully train new personal to a level in which they could run an entire mission without support
Line 17: Line 17:
  * Perform tiling   * Perform tiling (both globally and BIGMAP)
Line 20: Line 20:

 * Optional, depending on time and understanding
Line 25: Line 23:
 * Practice
  * Create landmarks
  * Try out error-injected images into the calibration test
 * Practice. A key component of this training is to practice. The practice allows for key concepts to become understood at a sufficient level to allow for more advanced concepts to make sense.
Line 34: Line 30:
 * Stuff to read Because class time is limited, it is important to get the software and data installed before you show up to the conference. I will be available during the conference to help troubleshoot problems and help get your system functional before the class starts Wednesday morning. Once the class starts, I won't be able to ignore everyone else in the class to fix an install.

To maximize your learning in the class, I provide some information that will be beneficial to review.

 * Stuff to read (links below)
Line 36: Line 36:
   * Palmer's basic write up    * Palmer's 2016, sections 2.4 and 5

== Required Tasks To Complete Before Class Starts ==

 * Sign the Licensing Agreement. This must be on file before the software can be distributed. //Complete//
 * Download SPC software -- encrypted link will be sent only to class attendees
 * Compile and install SPC. [[https://oort.psi.edu/public/1a09b8/dl/spc_v3.1B2.zip]] (password will be sent via a separate email)
   * [[Installing SPC Instructions]]
 * Download sample data. The data volume is large, so it is important to do it ahead of time. Some of the files need to be expanded and moved.

   * Starting directory & SPICE (600MB)
     * You can put this directory anywhere (called topSPC). It is the base directory for the SPC work.
     * https://oort.psi.edu/public/98a344
     * You can go into the topSPC/ORex/DATA directory and uncompress the files using "gunzip *.gz"

   * Images:
     * I've broken them up into two parts to make them easier to download and compressed them. These <filename>.DAT files need to be moved into the topSPC/IMAGEFILES directory.
     * Approach (300MB): https://oort.psi.edu/public/1b733b
     * Preliminary Survey (1GB): https://oort.psi.edu/public/d0e1ec
     * You can uncompress the files using "uncompress *.Z"

   * Support Tools:
     * Over time, I have found that there are many nice helpers for SPC that do well if organized into its own area. They include scripts, programs and image lists. I've included some here. I suggest putting these two directories in /opt/local/spc/
     * https://oort.psi.edu/public/67588b



== Extra software that is useful ==
Line 39: Line 66:
   * XCode - Apple's main compiler for OS X. It has many libraries you need. - https://developer.apple.com/xcode/
   * gfortran - https://gcc.gnu.org/wiki/GFortranBinaries#MacOS
   * spicelib - http://naif.jpl.nasa.gov/naif/toolkit_FORTRAN.html
Line 46: Line 70:




== Activities ==
 * Day 1, Wednesday

  * Introductions and facilities
   * [[attachment:NDA.doc]]
   * Check the install the software and test cases
   * Introduce SPC and Bob

  * Intro SPC [[attachment:Lesson_1.pdf]]
   * Show wiki
   * Provide documentations, unix help

  * Theory of SPC

  * Basic SPC operation
   * Build landmarks [[Lesson 2]]
   * Fixing landmarks
   * Landmark management
   * [[Notes from day 1]]

 * Day 2, Thursday
  * Discuss training levels [[Training_Notes#Training_levels]]

  * Review SPC from yesterday
   * Make more landmarks [[Notes Day 2]]
   * Manual shift
   * Global shift

  * Install spc_tools and [[updateDisplay]]
   * Batch shift

  * Introduce Lat/Lon tiling
   * [[make_scriptT]]
   * [[find_nofitT]]

  * Show
   *"find" in lithos
   * Show [[register]]

 * Day 3, Thursday

  * [[Notes for Day 3]]

  * Work with the new model
   * Correct landmarks that threw errors
   * Build the Shape model
   * [[bigmap]]
     * Define a big map
     * Show how to generate
     * Show how to display

  * Setup and run a Standard_iteration [[Block 5 - Iterate]]
   * [[make_scriptP]]
   * [[find_nofitP]]

  * [[bigmap]] part 2
   * [[coverage_p]]
   * Build maplets using a map
   * Overlaps

  * Practice
   * Register
   * Fixing landmarks

  * Introduce [[autoregister]]


 * [[Notes, Day 4]]

 * Iteration (continuation from yesterday)
   * Fix landmarks from the iterate
   * Clean up the directory using rem_script.b

 * Build shape model -- Call it H2-Test2-
  * Change the support/buildShape.sh file
  * Install the shape model

 * Add Preliminary Survey images to the shape model
  * Register -- done
  * Autoregister the new images -- see notes
  * Iterate over the north pole landmarks
  * Build shape model -- Call it H2-Test3-

 * Tile the TAG site at 75 cm -- see notes
 
  * Review tools and technique to describe errors
   * CompareOBJ
   * Other tools

  * Error analysis
   * residuals
   * Shape model evaluation criteria [[Processing States]]



== Information Needed ==
 * [[TAG site definition]]
 * [[standard_build_topography_script]]
 * [[standard_register_script]]
 * [[standard_autoregister_script]]
 * [[tile_120cm_seed]] - the seed file to tile at 120cm
 * [[tile_75cm_seed]] - the seed file to tile at 75cm
 * [[tile_30cm_seed]] - the seed file to tile at 30cm
 * [[make_scriptT_120.in]] - the list of latitude/longitudes needed to tile at the 120 cm level
 * [[make_scriptT_075.in]] - the list of latitude/longitudes needed to tile at the 75 cm level
 * [[make_scriptT_030.in]] - the list of latitude/longitudes needed to tile at the 30 cm level
 * SPC tools - This is a suite of tools that make measuring pixel/line locations and offsets easier. This is not required and class time won't be used for installing this. Install instructions are coming soon
   * apache -- The is installed as default for most UNIX (and Mac) systems.
   * spc_tool javascript libraries
   * updateDisplay.sh - script to convert SPC output to a web-accessible format
   * How to install and run - [[SPC-GUI-tools]]
  
----
= Itinerary =


== Day 1 ==

 * Introductions

 *Discussion of the Wiki/User’s manual
 *Unix file layout and paths -- [[File System Setup]]
 * executables
 * source code
 * helpers
 * scripts
 * support
 
 * SPC files
 * working
 * mapfile/landmark files
 * kernels
 * images

 * Show Theory of SPC

== Day 1 Practical - It's all about LITHOS ==

 * Topics
 * display landmark
 * landmark management
  * create
  * delete
  * rename
 * images
  * add images
  * remove images - auto and manual
  * select useable, correlation and manual
  * adjust image position, auto, manual
 * global shift
 * build template
 * find height
  * options


The core of SPC is [[lithos]]. That tool lets you create landmarks, associate images, align images, determine the 3D position of the landmark and create topography.


Fixing landmarks, using [[Input landmark]]

 * START1 - nominal
 * START2 - simple autoalign [[Align landmarks]]
 * START3 - align with an images [[Align landmarks]]
 * START4 - manually align a single image [[Align landmarks]]

Building a landmark [[Create new landmark]] and [[How To Build A Landmark]]
 * Name: START5
 * Lat/Lon: -10/350
 * Res: 0.001
 * Q-size: 49

=== Template ===

 * START6 - using correlation and template [[Find template]]

=== Topography ===

Once all the images are aligned (the center pixel of every image is at the exact same feature of the surface), then you can build topography using photoclinometry with some conditions. [[Find heights]]

[[toposcript]]



=== Tile 120 ===
Tiling is the process of batch creating landmarks in a systamatic order around the surface. Unlike "features", which I use to describe regions of the surface that is selected because of its topographic characteristics, landmarks cover the surface at a set interval to create an overlapping grid over the surface.

 * [[make_scriptT.in]]
        * scripts/XXX120.seed -- [[make_scriptT.seed]]
 * [[make_scriptT]]
 * sh [[run_script.b]]
 * [[find_nofit]]
 * [[TESTFILES]], [[TESTFILES1]]
 



== Day 2 ==

Let's talk about images

 * IMAGEFILES
 * format -- 16bit, 32bit
 * SPC options

 * Describe NOMINALS, SUMFILES

 * Overview of adding images
 * process_fits
 * make_sumfiles
 * make_sumfiles.txt
 * make_sumfilex.in

 * Register
 * Demo
 * Practice
 * Batch

 * Autoregister
 * Demo
 * Practice
 * Batch


 * <Lunch>

 * Iteration
 * Setup
  * cp LMRKLIST.TXT make_script.in
  * ln -s <whatever> make_scriptP.seed
  * make_scriptP > run.sh
 * Running
  * sh run.sh
 * Evaluation
  * find_nofitP

 * Tile 75
 * Setup
  * ln -s make_scriptT_75.seed make_scriptT.in
  * make_script
 * Running
  * sh run_script.b


== Day 3 ==

 * Clean up from 75cm tiling

 * SPC Technical Info - Gaskell
 * Discussion of SPC Design
 * Technical details
 * Issues and complexities

 * Evaluation
 * RESIDUALS, *INFO


 * <LUNCH>

 * Tiling by BIGMAP
 * Making a bigmap
 * Criteria for size, scale
 * Setup
 * Running
 * Evaluation

 * More evaluation
 * Error evaluation
 * Questions






----
= Support Files =
 * {{attachment:gaskell-2008-paper.pdf}}
 * {{attachment:Palmer-2016.pdf}}

1st Annual PRI Workshop on Image-Based Modeling and Navigation for Space Applications

  • June 6-8 Short Course

Welcome to the 1st Annual RPI Workshop on Image-Based Modeling and Navigation for Space Applications. This is a persistent webpages (will continue to exists after the training) that contains the information you need to get ready and the lesson info.

Goals

  • Bring the students to the "SPC Training Level 2" TrainingLevels

    • Provide enough SPC hand-on skills that basic shape models can be built
    • Provides enough background so that additional practice and instruction can occur
    • It will be insufficient to fully train new personal to a level in which they could run an entire mission without support
  • Specific things to learn
    • Be able to create landmarks and add images
    • Basic trouble shooting and fixing mis-registration
    • Perform tiling (both globally and BIGMAP)
    • Do iterations
    • Run residuals, geometry
    • Register images to shape model or maps
    • Autoregister
  • Practice. A key component of this training is to practice. The practice allows for key concepts to become understood at a sufficient level to allow for more advanced concepts to make sense.

Student Prep

Because class time is limited, it is important to get the software and data installed before you show up to the conference. I will be available during the conference to help troubleshoot problems and help get your system functional before the class starts Wednesday morning. Once the class starts, I won't be able to ignore everyone else in the class to fix an install.

To maximize your learning in the class, I provide some information that will be beneficial to review.

  • Stuff to read (links below)
    • Gaskell's 2008
    • Palmer's 2016, sections 2.4 and 5

Required Tasks To Complete Before Class Starts

  • Sign the Licensing Agreement. This must be on file before the software can be distributed. //Complete//
  • Download SPC software -- encrypted link will be sent only to class attendees
  • Compile and install SPC. https://oort.psi.edu/public/1a09b8/dl/spc_v3.1B2.zip (password will be sent via a separate email)

  • Download sample data. The data volume is large, so it is important to do it ahead of time. Some of the files need to be expanded and moved.
    • Starting directory & SPICE (600MB)

      • You can put this directory anywhere (called topSPC). It is the base directory for the SPC work.
      • https://oort.psi.edu/public/98a344

      • You can go into the topSPC/ORex/DATA directory and uncompress the files using "gunzip *.gz"
    • Images:
    • Support Tools:
      • Over time, I have found that there are many nice helpers for SPC that do well if organized into its own area. They include scripts, programs and image lists. I've included some here. I suggest putting these two directories in /opt/local/spc/
      • https://oort.psi.edu/public/67588b

Extra software that is useful


Itinerary

Day 1

  • Introductions
  • Discussion of the Wiki/User’s manual
  • Unix file layout and paths -- File System Setup

    • executables
    • source code
    • helpers
    • scripts
    • support
  • SPC files
    • working
    • mapfile/landmark files
    • kernels
    • images
  • Show Theory of SPC

Day 1 Practical - It's all about LITHOS

  • Topics
    • display landmark
    • landmark management
      • create
      • delete
      • rename
    • images
      • add images
      • remove images - auto and manual
      • select useable, correlation and manual
      • adjust image position, auto, manual
    • global shift
    • build template
    • find height
      • options

The core of SPC is lithos. That tool lets you create landmarks, associate images, align images, determine the 3D position of the landmark and create topography.

Fixing landmarks, using Input landmark

Building a landmark Create new landmark and How To Build A Landmark

  • Name: START5
  • Lat/Lon: -10/350
  • Res: 0.001
  • Q-size: 49

Template

Topography

Once all the images are aligned (the center pixel of every image is at the exact same feature of the surface), then you can build topography using photoclinometry with some conditions. Find heights

toposcript

Tile 120

Tiling is the process of batch creating landmarks in a systamatic order around the surface. Unlike "features", which I use to describe regions of the surface that is selected because of its topographic characteristics, landmarks cover the surface at a set interval to create an overlapping grid over the surface.

Day 2

Let's talk about images

  • IMAGEFILES
    • format -- 16bit, 32bit
    • SPC options
  • Describe NOMINALS, SUMFILES
  • Overview of adding images
    • process_fits
    • make_sumfiles
    • make_sumfiles.txt
    • make_sumfilex.in
  • Register
    • Demo
    • Practice
    • Batch
  • Autoregister
    • Demo
    • Practice
    • Batch
  • <Lunch>

  • Iteration
    • Setup
      • cp LMRKLIST.TXT make_script.in
      • ln -s <whatever> make_scriptP.seed

      • make_scriptP > run.sh

    • Running
      • sh run.sh
    • Evaluation
      • find_nofitP
  • Tile 75
    • Setup
      • ln -s make_scriptT_75.seed make_scriptT.in
      • make_script
    • Running
      • sh run_script.b

Day 3

  • Clean up from 75cm tiling
  • SPC Technical Info - Gaskell
    • Discussion of SPC Design
    • Technical details
    • Issues and complexities
  • Evaluation
    • RESIDUALS, *INFO
  • <LUNCH>

  • Tiling by BIGMAP
    • Making a bigmap
    • Criteria for size, scale
    • Setup
    • Running
    • Evaluation
  • More evaluation
  • Error evaluation
  • Questions


Support Files

  • gaskell-2008-paper.pdf

  • Palmer-2016.pdf

Image-Based-Modeling (last edited 2018-06-19 09:03:48 by EricPalmer)