# BCAM_Demonstrator, and Acquisifier Script # Copyright 2009, Kevan Hashemi, Brandeis University acquisifier: name: Initialize post_processing: { set config(run_result) "" set config(run_results) "~/Desktop/Run_Results.txt" } config: end. default: name: BCAM_Defaults instrument: BCAM default_post_processing: { append config(run_result) " [lindex $result 1] [lindex $result 7]" } config: daq_device_element 2 ambient_exposure_seconds 0 intensify exact end. acquire: name: Left_Sources instrument: BCAM config: daq_ip_addr 129.64.37.44 daq_adjust_flash 1 daq_driver_socket 00E00000:2 daq_source_driver_socket 00E00000:1 daq_source_device_element "3 4" analysis_num_spots 2 analysis_enable 1 daq_flash_seconds 0.001 end. acquisifier: name: Calculate post_processing: { set right_camera \ "20MABNDB000411 20090429113119 -12.632 -13.178 0.168 2.143 -3.890 1 73.360 -6.209" set right_sources \ "20MABNDB000411 20090429112812 -20.679 -13.162 -4.599 -13.171 0.360" set left_camera \ "20MABNDA000322 20090430112557 -12.643 13.151 0.977 -2.689 4.401 1 75.017 3132.281" set left_sources \ "20MABNDA000322 20090430112752 -20.725 13.168 -4.650 13.132 0.360" set is [expr abs( [lindex $config(run_result) 0] - [lindex $config(run_result) 1] )] set ss [expr abs( [lindex $left_sources 4] - [lindex $left_sources 2] )] set range [expr $ss / $is * [lindex $right_camera 8] * 1000.0] set range [expr $range - [lindex $right_camera 4] - [lindex $left_sources 6]] set range [format %.1f $range] set separation [format %.1f [expr $range + 20.6 - 65.8]] LWDAQ_print $info(text) "This Measurement:" LWDAQ_print $info(text) "Cone Ball Separation = $range mm" LWDAQ_print $info(text) "Front Edge Separation = $separation mm" set ave_ix [expr ( [lindex $config(run_result) 0] + [lindex $config(run_result) 1] ) / 2] set net_ix [expr $ave_ix - 1720.0] set net_x [expr $net_ix / [lindex $right_camera 8] * $range / 1000] set net_x [format %.3f $net_x] LWDAQ_print $info(text) "Lateral X Position = $net_x mm" LWDAQ_print $config(run_results) "$range $separation $net_x [lrange $config(run_result) 0 1]" set f [open $config(run_results) r] set data [split [string trim [read $f]] \n] close $f set ave 0 set count 0 foreach d $data { set ave [expr $ave + [lindex $d 2]] incr count } set ave [expr $ave / $count] set stdev 0 foreach d $data { set stdev [expr $stdev + ([lindex $d 2]-$ave)*([lindex $d 2]-$ave)] } set stdev [expr sqrt($stdev / $count)] LWDAQ_print $info(text) "\nAll Measurements:" LWDAQ_print $info(text) "Num Data Points = $count" LWDAQ_print $info(text) "Average x = [format %.3f $ave] mm" LWDAQ_print $info(text) "Stdev x = [format %.3f $stdev] mm" set ave 0 foreach d $data { set ave [expr $ave + [lindex $d 1]] } set ave [expr $ave / $count] set stdev 0 foreach d $data { set stdev [expr $stdev + ([lindex $d 1]-$ave)*([lindex $d 1]-$ave)] } set stdev [expr sqrt($stdev / $count)] LWDAQ_print $info(text) "Average x = [format %.1f $ave] mm" LWDAQ_print $info(text) "Stdev x = [format %.1f $stdev] mm" } config: end.