]> jspc29.x-matter.uni-frankfurt.de Git - coral.git/commitdiff
log plot for spectrum possible, isVisible-Event for unfolding divs
authorMaps <maps@ikf>
Tue, 27 Jan 2015 13:42:28 +0000 (14:42 +0100)
committerMaps <maps@ikf>
Tue, 27 Jan 2015 13:42:28 +0000 (14:42 +0100)
user_interface/coral_scanner.js
user_interface/coral_scanner.pm
user_interface/jquery.mwiebusch.js

index 854f2ccfb429e4b989bfe72b6f8ddadc3c90f0a9..8b938ac551c34b9becf5e0a63ba9af4869e0a8c0 100644 (file)
@@ -30,6 +30,11 @@ $(document).ready(function(){
   unfolds($("#show_table_control_settings"),$("#table_control_settings_container"));
   unfolds($("#show_pmt_spectrum"),$("#pmt_spectrum_container"));
   
+  unfolds($("#show_scan_pattern"),$("#scan_pattern_container"));
+  $("#scan_pattern_container").bind('isVisible',function(){
+    get_pattern_svg();
+  });
+  
   $("#button_home").click(function(){
     home();
   });
@@ -191,7 +196,10 @@ function plot_spectrum() {
   if($('#checkbox_log_spectrum').prop('checked')){
       $.extend(options,{
         yaxis: {
-          transform: function (v) { return Math.log(v); },
+          min: 0.1,
+          ticks: [0.001,0.01,0.1,1,10,100,1000,10000,100000,1e6],
+          transform: function(v) { return v == 0 ? Math.log(0.00001) : Math.log(v) },
+//           transform: function (v) { return Math.log(v+0.0001); },
           inverseTransform: function (v) { return Math.exp(v); }
         }
       });
@@ -259,6 +267,21 @@ function get_scan_svg(){
      });
 }
 
+function get_pattern_svg(){
+  $.ajax({
+        url:       "table_control.pl",
+        cache:     false,
+        async:     true,
+        dataType:  "text",
+        data:      {
+          sub        : "scan_pattern_to_svg"
+        },
+        success:   function(answer) {
+          $("#pattern_svg_container").html(answer);
+        }
+     });
+}
+
 function get_scan_meta(){
   $.ajax({
         url:       "coral_scanner.pl",
@@ -416,6 +439,8 @@ function load_settings(url){
   return return_obj;
 }
 
+
+
 function get_spectrum_JSON(){
   var return_obj;
   $.ajax({
index 83ee2e2415c399725f3a03b7b276d8b151c328c0..2c5cfb44310a9333f3466f018b3b03d6d803feb3 100644 (file)
@@ -114,9 +114,7 @@ sub main_html {
   print "<p id='show_main_controls' class='quasibutton' >main controls</p>";
   print "<div id='main_controls_container' class='stylishBox padded'>";
   
-  print '<div style="width: 600px; height: 270px; overflow-x: scroll;">';
-  $self->{table_control}->scan_pattern_to_svg(html_tag => 1);
-  print '</div>';
+
   
   print '<div id="scan_container" style="width: 600px; height: 270px; overflow-x: scroll;">';
 #   $self->scan_to_svg();
@@ -180,6 +178,13 @@ sub main_html {
   print "<input type='button' id='button_record_spectrum' value='record spectrum'>";
   print "</div>";
   
+  print "<p id='show_scan_pattern' class='quasibutton' >scan pattern</p>";
+  print "<div id='scan_pattern_container' class='stylishBox padded hidden_by_default'>";
+  print '<div id="pattern_svg_container" style="width: 600px; height: 270px; overflow-x: scroll;">';
+#   $self->{table_control}->scan_pattern_to_svg(html_tag => 1);
+  print '</div>';
+  print "</div>";
+  
   print "<p id='show_pmt_ro_settings' class='quasibutton' >pmt_ro settings</p>";
   print "<div align=right id='pmt_ro_settings_container' class='stylishBox settings_form hidden_by_default'>";
   $self->{pmt_ro}->settings_form();
@@ -202,17 +207,9 @@ sub scan_sample {
   my %options = @_;
   
   my $tc = $self->{table_control};
-  
   my $ro = $self->{pmt_ro};
   
-  
-  
-  
-
-#   $tc->home();
-#   $tc->scan( eval => 'print("test\n");' );
   my $scan_pattern = $tc->scan_pattern();
-  
   my $ETA = $self->scan_ETA();
   
   $self->{status_shm}->updateShm({
@@ -238,6 +235,8 @@ sub scan_sample {
   };
   $self->{current_scan}->{data} = [];
   
+  my $points_scanned = 0;
+  
   for my $point (@{$scan_pattern->{points}}) {
     $tc->go_xy( x => $point->{x}, y => $point->{y});
     
@@ -247,6 +246,7 @@ sub scan_sample {
     my $counts = $ro->count(delay => $delay, channel => "signal");
     my $col = $point->{col};
     my $row = $point->{row};
+    $points_scanned += 1;
     
     $self->{current_scan}->{data}->[$row]->[$col] = $counts;
     print "counts: $counts\n";
@@ -259,8 +259,8 @@ sub scan_sample {
         %$status,
         action => "aborted",
         abort => 0,
-        current_col => $col,
-        current_row => $row,
+        current_col => ($col+1),
+        current_row => ($row+1),
         seconds_left => 0
       };
       $self->{status_shm}->writeShm($status);
@@ -269,11 +269,12 @@ sub scan_sample {
 #       last; # stop the acquisition loop!
       exit;
     } else {
-      my $seconds_left = floor($status->{ETA} * (1 - $row/$status->{rows}));
+#       my $seconds_left = floor($status->{ETA} * (1 - $row/$status->{rows}));
+      my $seconds_left = floor($status->{ETA} * (1 - $points_scanned/$scan_pattern->{number_points}));
       $status = {
         %$status,
-        current_col => $col,
-        current_row => $row,
+        current_col => ($col+1),
+        current_row => ($row+1),
         seconds_left => $seconds_left
       };
       $self->{status_shm}->writeShm($status);
index a0e88fdad828b4a14a106a475cdcf4fdd3d34456..d27d3dca0bc9645dff99dfda02d93d00dc22bbda 100644 (file)
@@ -6,11 +6,12 @@ function unfold(button,container){
     new_button_text = button_text.replace("[-]","[+]");
   } else {
     new_button_text = button_text.replace("[+]","[-]");
+    container.trigger('isVisible');
   }
   container.fadeToggle();
   $('html, body').animate({
       scrollTop: container.offset().top
-  }, 2000);
+  }, 1000);
   button.html(new_button_text);
 }
 
@@ -29,6 +30,15 @@ function unfolds(button,container){
   
 }
 
+// use unfold with an event trigger:
+
+//   unfolds($("#show_scan_pattern"),$("#scan_pattern_container"));
+//   $("#scan_pattern_container").bind('isVisible',function(){
+//     alert("div becomes visible");
+//     get_pattern_svg();
+//   });
+
+
 function flot_w_selectZoom(id,data,options) {
   $.plot(id, data, options);