Sfoglia il codice sorgente

fix bugs when aquire area xray

gsp 4 anni fa
parent
commit
4b1accd14f
2 ha cambiato i file con 67 aggiunte e 3 eliminazioni
  1. 64 3
      ExtenderControl/Extender.cs
  2. 3 0
      ExtenderControl/ExtenderInterface.cs

+ 64 - 3
ExtenderControl/Extender.cs

@@ -109,7 +109,9 @@ enum OxfordCommand
         XrayAreaCollectiong = 30,
         BeginMultipleAquisition=31,
         EndMultipleAquisition=32,
-        Exit=100,
+        BeginAreaModeMultipleAquisition = 33,
+        EndAreaModeMultipleAquisition = 34,
+        Exit =100,
 
     }
     public struct GrabImageParam
@@ -313,6 +315,20 @@ enum OxfordCommand
                             myExtender.EndMultipleAquisition();
                             endEvent.Set();
 
+                        }
+                        break;
+                    case OxfordCommand.BeginAreaModeMultipleAquisition:
+                        {
+                            myExtender.BeginAreaModeMultipleAquisition();
+                            endEvent.Set();
+
+                        }
+                        break;
+                    case OxfordCommand.EndAreaModeMultipleAquisition:
+                        {
+                            myExtender.EndAreaModeMultipleAquisition();
+                            endEvent.Set();
+
                         }
                         break;
                     case OxfordCommand.Exit:
@@ -614,6 +630,36 @@ enum OxfordCommand
                 Application.DoEvents();
             }
         }
+
+        public void BeginAreaModeMultipleAquisition()
+        {
+            currentCommand.commandType = OxfordCommand.BeginAreaModeMultipleAquisition;
+            startEvent.Set();
+            while (true)
+            {
+                if (endEvent.WaitOne(0, false))
+                {
+                    break;
+                }
+                Application.DoEvents();
+            }
+
+
+        }
+
+        public void EndAreaModeMultipleAquisition()
+        {
+            currentCommand.commandType = OxfordCommand.EndAreaModeMultipleAquisition;
+            startEvent.Set();
+            while (true)
+            {
+                if (endEvent.WaitOne(0, false))
+                {
+                    break;
+                }
+                Application.DoEvents();
+            }
+        }
     }
     public class Extender : IExtenderControl
     {
@@ -1997,8 +2043,10 @@ enum OxfordCommand
                 Chord chord = new Chord(seg.X, seg.Y, seg.Length);
                 Chords.Add(chord);
             }
-           
-            SetAreaAcquistionRegion(Chords);
+
+            ChordList chordsList = null;
+            chordsList = new ChordList(Chords, m_dImagePixelsize);
+            EdSpectrumSettings.ScanSettings.AcquisitionRegion.CreateChordListRegion(chordsList);
             var edsSpectrumController = CreateChordlistController();
           
             // IEdSpectrumSettings.EdCapabilities will validate settings and hardware availability.
@@ -2058,6 +2106,7 @@ enum OxfordCommand
 
         public void BeginMultipleAquisition()
         {
+
             EdSpectrumAcquisitionController.BeginMultipleAcquisition();
         }
 
@@ -2066,6 +2115,18 @@ enum OxfordCommand
             EdSpectrumAcquisitionController.EndMultipleAcquisition();
         }
 
+        public void BeginAreaModeMultipleAquisition()
+        {
+            var controller = CreateChordlistController();
+            controller.BeginMultipleAcquisition();
+        }
+
+        public void EndAreaModeMultipleAquisition()
+        {
+            var controller = CreateChordlistController();
+            controller.EndMultipleAcquisition();
+        }
+
 
         #endregion
 

+ 3 - 0
ExtenderControl/ExtenderInterface.cs

@@ -163,5 +163,8 @@ namespace Extender
         void CloseExtender();
         void BeginMultipleAquisition();
         void EndMultipleAquisition();
+
+        void BeginAreaModeMultipleAquisition();
+        void EndAreaModeMultipleAquisition();
     }
 }