@@ -224,9 +224,11 @@ def open_fit_scan_file(self):
224224 def open_pkl_file (self ):
225225 """ Open pkl file to convert to txt """
226226 try :
227- self .pkl_to_convert = QtWidgets .QFileDialog .getOpenFileName (self )
228- self .filename_for_viewer_launch = self .pkl_to_convert [0 ]
229- self .launch_h5_pkl_viewer ()
227+ self .pkl_to_convert = QtWidgets .QFileDialog .getOpenFileNames (self )
228+ files = self .pkl_to_convert [0 ]
229+ for i in range (len (files )):
230+ self .filename_for_viewer_launch = files [i ]
231+ self .launch_h5_pkl_viewer ()
230232 except :
231233 pass
232234
@@ -792,59 +794,62 @@ def fit_and_plot_scan(self):
792794 """ Pkl conversion functions """
793795 def pkl_data_to_txt (self ):
794796 """ Get data from ocean optics scan pkl file, convert to txt"""
795- folder = os .path .dirname (self .pkl_to_convert [0 ])
796- filename_ext = os .path .basename (self .pkl_to_convert [0 ])
797- filename = os .path .splitext (filename_ext )[0 ] #get filename without extension
798- pkl_file = pickle .load (open (self .pkl_to_convert [0 ], 'rb' ))
799-
800- txt_file = np .zeros (shape = (2048 ,pkl_file ['Intensities' ].shape [0 ] + 1 ))
801-
802- data_array = pkl_file ['Intensities' ]
803- data_array = np .transpose (data_array )
804- wavelength = pkl_file ['Wavelengths' ]
805-
806- txt_file [:,0 ] = wavelength
807-
808- for i in range (pkl_file ['Intensities' ].shape [0 ]):
809- txt_file [:,i + 1 ] = data_array [:,i ]
810-
811- np .savetxt (folder + "/" + filename + "_data.txt" , txt_file , fmt = '%.2f' , delimiter = "\t " , header = "wavelength(nm), Intensities at different points" )
797+ for i in range (len (self .pkl_to_convert [0 ])):
798+ folder = os .path .dirname (self .pkl_to_convert [0 ][i ])
799+ filename_ext = os .path .basename (self .pkl_to_convert [0 ][i ])
800+ filename = os .path .splitext (filename_ext )[0 ] #get filename without extension
801+ pkl_file = pickle .load (open (self .pkl_to_convert [0 ][i ], 'rb' ))
802+
803+ txt_file = np .zeros (shape = (2048 ,pkl_file ['Intensities' ].shape [0 ] + 1 ))
804+
805+ data_array = pkl_file ['Intensities' ]
806+ data_array = np .transpose (data_array )
807+ wavelength = pkl_file ['Wavelengths' ]
808+
809+ txt_file [:,0 ] = wavelength
810+
811+ for i in range (pkl_file ['Intensities' ].shape [0 ]):
812+ txt_file [:,i + 1 ] = data_array [:,i ]
813+
814+ np .savetxt (folder + "/" + filename + "_data.txt" , txt_file , fmt = '%.2f' , delimiter = "\t " , header = "wavelength(nm), Intensities at different points" )
812815
813816 def pkl_params_to_txt (self ):
814817 """ Get scan parameters from ocean optics scan pkl file, convert to txt """
815- folder = os .path .dirname (self .pkl_to_convert [0 ])
816- filename_ext = os .path .basename (self .pkl_to_convert [0 ])
817- filename = os .path .splitext (filename_ext )[0 ] #get filename without extension
818- pkl_file = pickle .load (open (self .pkl_to_convert [0 ], 'rb' ))
819-
820- pkl_scan = pkl_file ['Scan Parameters' ]
821- pkl_oo = pkl_file ['OceanOptics Parameters' ]
822-
823- param_list = []
824- param_list .append (['X scan start (um)' , 'Y scan start (um)' , 'X scan size (um)' , 'Y scan size (um)' ,
825- 'X step size (um)' , 'Y step size (um)' , 'Integration Time (ms)' , 'Scans to Average' , 'Correct Dark Counts' ]) #list of param names
826- param_list .append ([ pkl_scan ['X scan start (um)' ], pkl_scan ['Y scan start (um)' ], pkl_scan ['X scan size (um)' ],
827- pkl_scan ['Y scan size (um)' ], pkl_scan ['X step size (um)' ], pkl_scan ['Y step size (um)' ],
828- pkl_oo ['Integration Time (ms)' ], pkl_oo ['Scans Averages' ], pkl_oo ['Correct Dark Counts' ] ]) #list of param values
829-
830- param_list = list (zip (* param_list )) #transpose so names and values are side-by-side
831- save_to = folder + "/" + filename + "_scan_parameters.txt"
832-
833- with open (save_to , 'w' ) as f :
834- for item in param_list :
835- f .write ("%s\t " % str (item [0 ])) #write name
836- f .write ("%s\n " % str (item [1 ])) #write value
818+ for i in range (len (self .pkl_to_convert [0 ])):
819+ folder = os .path .dirname (self .pkl_to_convert [0 ][i ])
820+ filename_ext = os .path .basename (self .pkl_to_convert [0 ][i ])
821+ filename = os .path .splitext (filename_ext )[0 ] #get filename without extension
822+ pkl_file = pickle .load (open (self .pkl_to_convert [0 ][i ], 'rb' ))
823+
824+ pkl_scan = pkl_file ['Scan Parameters' ]
825+ pkl_oo = pkl_file ['OceanOptics Parameters' ]
826+
827+ param_list = []
828+ param_list .append (['X scan start (um)' , 'Y scan start (um)' , 'X scan size (um)' , 'Y scan size (um)' ,
829+ 'X step size (um)' , 'Y step size (um)' , 'Integration Time (ms)' , 'Scans to Average' , 'Correct Dark Counts' ]) #list of param names
830+ param_list .append ([ pkl_scan ['X scan start (um)' ], pkl_scan ['Y scan start (um)' ], pkl_scan ['X scan size (um)' ],
831+ pkl_scan ['Y scan size (um)' ], pkl_scan ['X step size (um)' ], pkl_scan ['Y step size (um)' ],
832+ pkl_oo ['Integration Time (ms)' ], pkl_oo ['Scans Averages' ], pkl_oo ['Correct Dark Counts' ] ]) #list of param values
833+
834+ param_list = list (zip (* param_list )) #transpose so names and values are side-by-side
835+ save_to = folder + "/" + filename + "_scan_parameters.txt"
836+
837+ with open (save_to , 'w' ) as f :
838+ for item in param_list :
839+ f .write ("%s\t " % str (item [0 ])) #write name
840+ f .write ("%s\n " % str (item [1 ])) #write value
837841
838842 def pkl_to_h5 (self ):
839843 """ Convert raw scan .pkl file to h5 """
840- folder = os .path .dirname (self .pkl_to_convert [0 ])
841- filename_ext = os .path .basename (self .pkl_to_convert [0 ])
842- filename = os .path .splitext (filename_ext )[0 ] #get filename without extension
843- pkl_file = pickle .load (open (self .pkl_to_convert [0 ], 'rb' ))
844-
845- h5_filename = folder + "/" + filename + ".h5"
846- h5_file = h5py .File (h5_filename , "w" )
847- self .traverse_dict_into_h5 (pkl_file , h5_file )
844+ for i in range (len (self .pkl_to_convert [0 ])):
845+ folder = os .path .dirname (self .pkl_to_convert [0 ][i ])
846+ filename_ext = os .path .basename (self .pkl_to_convert [0 ][i ])
847+ filename = os .path .splitext (filename_ext )[0 ] #get filename without extension
848+ pkl_file = pickle .load (open (self .pkl_to_convert [0 ][i ], 'rb' ))
849+
850+ h5_filename = folder + "/" + filename + ".h5"
851+ h5_file = h5py .File (h5_filename , "w" )
852+ self .traverse_dict_into_h5 (pkl_file , h5_file )
848853
849854 def traverse_dict_into_h5 (self , dictionary , h5_output ):
850855 """
0 commit comments