code: def on_btn_thellier_gui(self, event):
          
          if not self.check_for_meas_file():
              return
          if not self.check_for_uncombined_files():
              return
          outstring = "thellier_gui.py -WD %s"%self.WD
          print("-I- running python script:\n %s"%(outstring))
          if self.data_model_num == 2.5:
              thellier_gui.main(self.WD, standalone_app=False, parent=self, DM=self.data_model_num)
          else:
              # disable and hide Pmag GUI mainframe
              self.Disable()
              self.Hide()
              # show busyinfo
              wait = wx.BusyInfo('Compiling required data, please wait...')
              wx.SafeYield()
              # create custom Thellier GUI closing event and bind it
              ThellierGuiExitEvent, EVT_THELLIER_GUI_EXIT = newevent.NewCommandEvent()
              self.Bind(EVT_THELLIER_GUI_EXIT, self.on_analysis_gui_exit)
              # make and show the Thellier GUI frame
              thellier_gui_frame = thellier_gui.Arai_GUI(self.WD, self,
                                                         standalone=False,
                                                         DM=self.data_model_num,
                                                         evt_quit=ThellierGuiExitEvent)
              if not thellier_gui_frame: print("Thellier GUI failed to start aborting"); del wait; return
              thellier_gui_frame.Centre()
              thellier_gui_frame.Show()
              del wait
docs: Open Thellier GUI