@@ -73,19 +73,19 @@ def __init__(self, master, nameList, stop_event):
7373 for name in nameList :
7474 figure = Figure (figsize = (6 , 5.5 ), dpi = 100 ) # The scope figure
7575
76- plot = figure .add_subplot (111 ) # Set-up axis and get plotting area
76+ plot = figure .add_subplot (111 )
7777
7878 frame = tk .Frame (self .globalPwnd )
7979
8080 canvas = FigureCanvasTkAgg (figure ,
8181 master = frame ) # Get the tkinter canvas
8282
8383 # Add the canvas to global NoteBook
84- self .globalPwnd .add (frame , text = name )
84+ self .globalPwnd .add (frame , text = name [ 0 ] )
8585
8686 canvas .get_tk_widget ().pack (fill = tk .BOTH ) # Pack the canvas
8787
88- self .panelsList .append ([plot , canvas ])
88+ self .panelsList .append ([plot , canvas , name [ 1 ] ])
8989 self .bind (self .SCOPE_UPDATE_SEQUENCE , self .reactUpdate )
9090
9191 self .globalPwnd .pack (fill = tk .BOTH ) # Pack the Global Notebook
@@ -103,10 +103,26 @@ def reactUpdate(self, event):
103103 with main_lock :
104104 plotting_area = self .panelsList [tp_instruction [0 ]][0 ]
105105 canvas = self .panelsList [tp_instruction [0 ]][1 ]
106+ plot_type = self .panelsList [tp_instruction [0 ]][2 ]
106107 plotting_area .clear ()
107108 plotting_area .grid ()
108- for spectrum in tp_instruction [1 ]:
109- plotting_area .plot (spectrum .lambdas , spectrum .values )
109+ if plot_type == "2D" :
110+ for spectrum in tp_instruction [1 ]:
111+ plotting_area .plot (spectrum .lambdas , spectrum .values )
112+ else :
113+ for i , spectra in enumerate (tp_instruction [1 ]):
114+ if i == len (tp_instruction [1 ])- 1 :
115+ for spectrum in spectra :
116+ plotting_area .plot (
117+ spectrum .lambdas ,
118+ spectrum .values ,
119+ (1 ,0 ,0 ))
120+ else :
121+ for spectrum in spectra :
122+ plotting_area .plot (
123+ spectrum .lambdas ,
124+ spectrum .values ,
125+ 3 * (i / len (tp_instruction [1 ]),))
110126 canvas .draw ()
111127
112128# %% Application Object, true application is happening here
@@ -421,8 +437,11 @@ def createWidgetsSimple(self, master):
421437 self .pause_live_display = Event ()
422438 self .stop_live_display = Event ()
423439 self .liveDisplay = Scope_Display (scope_fen ,
424- ["Scopes" , "Absorbance" ,
425- "Black" , "White" ],
440+ [("Scopes" , "2D" ),
441+ ("Black" , "2D" ),
442+ ("White" , "2D" ),
443+ ("Experiment raw" , "Superp" ),
444+ ("Experiment abs." , "Superp" )],
426445 self .stop_live_display )
427446 self .liveDisplay .pack (fill = tk .BOTH )
428447 self .after (0 , self .routine_data_sender )
@@ -475,7 +494,7 @@ def set_black(self):
475494 self ._bnc .stop ()
476495 self .black_spectra = self .avh .getScopes ()
477496 experiment_logger .info ("Black set." )
478- self .liveDisplay .putSpectrasAndUpdate (2 , self .black_spectra )
497+ self .liveDisplay .putSpectrasAndUpdate (1 , self .black_spectra )
479498 self .avh .stopAll ()
480499 self .avh .release ()
481500 self .pause_live_display .clear ()
@@ -514,7 +533,7 @@ def set_white(self):
514533 self ._bnc .stop ()
515534 self .white_spectra = self .avh .getScopes ()
516535 experiment_logger .info ("White set." )
517- self .liveDisplay .putSpectrasAndUpdate (3 , self .white_spectra )
536+ self .liveDisplay .putSpectrasAndUpdate (2 , self .white_spectra )
518537 self .avh .stopAll ()
519538 self .avh .release ()
520539 self .pause_live_display .clear ()
@@ -551,6 +570,7 @@ def experiment(self):
551570
552571 self .avh .prepareAll (p_T , True , p_N_c )
553572 totalSpectras = []
573+ totalAbsorbanceSpectras = []
554574
555575 try :
556576 self .black_spectra
@@ -566,6 +586,8 @@ def experiment(self):
566586 self .experiment_on = False
567587 abort = True
568588
589+ correction_spectrum = self .get_selected_absorbance (self .white_spectra )
590+
569591 experiment_logger .info ("Starting observation." )
570592 if not abort and tMsg .\
571593 askokcancel ("Ready" , "Ready to start experiment ?" ):
@@ -611,11 +633,15 @@ def experiment(self):
611633 tp_scopes = self .avh .getScopes ()
612634 self .avh .stopAll ()
613635 totalSpectras .append (tp_scopes )
614- self .liveDisplay .putSpectrasAndUpdate (0 , tp_scopes )
636+ self .liveDisplay .putSpectrasAndUpdate (3 , totalSpectras )
615637
616638 if self .referenceChannel .get () != "" :
617- self .liveDisplay .putSpectrasAndUpdate (
618- 1 , self .get_selected_absorbance (tp_scopes ))
639+ totalAbsorbanceSpectras .append (
640+ self .get_selected_absorbance (tp_scopes )
641+ - correction_spectrum )
642+
643+ self .liveDisplay .putSpectrasAndUpdate (
644+ 4 , totalAbsorbanceSpectras )
619645
620646 pop_up .destroy ()
621647
0 commit comments