Difference between revisions of "D scan"

From Applied Optics Wiki
Jump to: navigation, search
(Feature requests)
Line 1: Line 1:
 
this is a page to list feature requests, bugs and give usage examples for d_scan.
 
this is a page to list feature requests, bugs and give usage examples for d_scan.
  
 +
d_scan is the next version of c_scan, this version has an important additional feature over c_scan - the ability to nest actions within actions. this allows for some additional functionality which was hard or impossible to achieve with c_scan. Additionally, there is a move to simplify the actions by having single actions for specific tasks, e.g 'scope' or 'scan' where d_scan handles the differences between different hardware without the need of user intervention. this is currently complete for the main scopes found in the labs, and is in progress for scanning actions.
 +
 +
There is a new data format and automatic naming system to make data handling simpler. For scope data a .m metadata file is saved with the data with all the scope settings and data parameters.
  
 
==Feature requests==
 
==Feature requests==

Revision as of 07:48, 9 March 2016

this is a page to list feature requests, bugs and give usage examples for d_scan.

d_scan is the next version of c_scan, this version has an important additional feature over c_scan - the ability to nest actions within actions. this allows for some additional functionality which was hard or impossible to achieve with c_scan. Additionally, there is a move to simplify the actions by having single actions for specific tasks, e.g 'scope' or 'scan' where d_scan handles the differences between different hardware without the need of user intervention. this is currently complete for the main scopes found in the labs, and is in progress for scanning actions.

There is a new data format and automatic naming system to make data handling simpler. For scope data a .m metadata file is saved with the data with all the scope settings and data parameters.

Feature requests

  • save option to force saving in actions for live data plotting options for long scans
  • general scan option, with hardware type select
  • scope to switch to summed mode if averaging is on, then switch back to continuous at end.
  • mirror_pbp action to have restore option (currently leaves at last point of scan, this might not be trivial as needs to probe dac card, for current output voltage)

Completed tasks

  • save scope mode (seg, RT etc) and number of avgs, number of segs to scope meta data file
  • check if files exist - request permission to overwrite, action option to turn off checking

Bugs

Completed Actions List

  • webcam
  • mirror_pbp
  • apt_scan
  • pi_scan
  • scope
  • a2d
  • d2a
  • count
  • delay

Action options / examples

     action webcam 
         camera 1              //camera ID no
         resolution 1280 720   // resolution to open camera with
         grab                  // saves a frame from the camera
         display               // displays a frame from the camera 
     end 
     action scope 
         channels F1,F3       // use name of channel you want separated by commas
         ip 128.243.74.74     // IP address of scope
     end
     action a2d 
         channel 0           // channel to grab
         range 2             // this is card specific voltage range use comedi test to find ranges ./usr/bin/comedi_test
         n_samples 1         // samples to grab
     end
     action mirror_pbp       // mirror scan point by point
         axis 0 -1 1 .1      // axis number, start, stop, increment
         tell_pos 2          // report position
         savedata            // force save data at the end of this loop (useful for live processing scripts)
     end
     action apt_scan
         axis 0              // axis to move
         scan -1 1 0.5       // start stop inc
         restore             // return to original position at end
     end
     action count
          count 10           //loops until it get to count value
     end
     action delay
          delay 1            // time to wait in seconds, useful to help with timings if you need to make sure stages have stopped before grabbing data
     end