Changeset eacc0b0 in sasview for src/sas/sasgui/perspectives


Ignore:
Timestamp:
Jul 20, 2017 6:44:05 AM (7 years ago)
Author:
lewis
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
0267d56
Parents:
8bcf866
Message:

Implement ascii2d conversion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/file_converter/converter_panel.py

    red9f872 reacc0b0  
    2424from sas.sascalc.file_converter.otoko_loader import OTOKOLoader 
    2525from sas.sascalc.file_converter.bsl_loader import BSLLoader 
     26from sas.sascalc.file_converter.ascii2d_loader import ASCII2DLoader 
    2627from sas.sascalc.file_converter.nxcansas_writer import NXcanSASWriter 
    2728from sas.sascalc.dataloader.data_info import Detector 
     
    352353            w.write(frame_data, output_path) 
    353354 
     355    def convert_2d_data(self, dataset): 
     356        metadata = self.get_metadata() 
     357        for key, value in metadata.iteritems(): 
     358            setattr(dataset[0], key, value) 
     359 
     360        w = NXcanSASWriter() 
     361        w.write(dataset, self.output.GetPath()) 
     362 
    354363    def on_convert(self, event): 
    355364        """Called when the Convert button is clicked""" 
     
    367376                qdata, iqdata = self.extract_otoko_data(self.q_input.GetPath()) 
    368377                self.convert_1d_data(qdata, iqdata) 
     378            elif self.data_type == 'ascii2d': 
     379                loader = ASCII2DLoader(self.iq_input.GetPath()) 
     380                data = loader.load() 
     381                dataset = [data] # ASCII 2D only ever contains 1 frame 
     382                self.convert_2d_data(dataset) 
    369383            else: # self.data_type == 'bsl' 
    370384                dataset = self.extract_bsl_data(self.iq_input.GetPath()) 
     
    372386                    # Cancelled by user 
    373387                    return 
    374  
    375                 metadata = self.get_metadata() 
    376                 for key, value in metadata.iteritems(): 
    377                     setattr(dataset[0], key, value) 
    378  
    379                 w = NXcanSASWriter() 
    380                 w.write(dataset, self.output.GetPath()) 
     388                self.convert_2d_data(dataset) 
     389 
    381390        except Exception as ex: 
    382391            msg = str(ex) 
     
    399408    def validate_inputs(self): 
    400409        msg = "You must select a" 
    401         if self.q_input.GetPath() == '' and self.data_type != 'bsl': 
     410        if self.q_input.GetPath() == '' and self.data_type != 'bsl' \ 
     411            and self.data_type != 'ascii2d': 
    402412            msg += " Q Axis input file." 
    403413        elif self.iq_input.GetPath() == '': 
     
    472482        dtype = event.GetEventObject().GetName() 
    473483        self.data_type = dtype 
    474         if dtype == 'bsl': 
     484        if dtype == 'bsl' or dtype == 'ascii2d': 
    475485            self.q_input.SetPath("") 
    476486            self.q_input.Disable() 
     
    526536            wx.ALIGN_CENTER_VERTICAL, 5) 
    527537        radio_sizer = wx.BoxSizer(wx.HORIZONTAL) 
    528         ascii_btn = wx.RadioButton(self, -1, "ASCII", name="ascii", 
     538        ascii_btn = wx.RadioButton(self, -1, "ASCII 1D", name="ascii", 
    529539            style=wx.RB_GROUP) 
    530540        ascii_btn.Bind(wx.EVT_RADIOBUTTON, self.datatype_changed) 
    531541        radio_sizer.Add(ascii_btn) 
     542        ascii2d_btn = wx.RadioButton(self, -1, "ASCII 2D", name="ascii2d") 
     543        ascii2d_btn.Bind(wx.EVT_RADIOBUTTON, self.datatype_changed) 
     544        radio_sizer.Add(ascii2d_btn) 
    532545        otoko_btn = wx.RadioButton(self, -1, "BSL 1D", name="otoko") 
    533546        otoko_btn.Bind(wx.EVT_RADIOBUTTON, self.datatype_changed) 
    534547        radio_sizer.Add(otoko_btn) 
    535         input_grid.Add(radio_sizer, (y,1), (1,1), wx.ALL, 5) 
    536548        bsl_btn = wx.RadioButton(self, -1, "BSL 2D", name="bsl") 
    537549        bsl_btn.Bind(wx.EVT_RADIOBUTTON, self.datatype_changed) 
    538550        radio_sizer.Add(bsl_btn) 
     551        input_grid.Add(radio_sizer, (y,1), (1,1), wx.ALL, 5) 
    539552        y += 1 
    540553 
     
    549562        y += 1 
    550563 
    551         iq_label = wx.StaticText(self, -1, "Intensity-Axis Data: ") 
     564        iq_label = wx.StaticText(self, -1, "Intensity Data: ") 
    552565        input_grid.Add(iq_label, (y,0), (1,1), wx.ALIGN_CENTER_VERTICAL, 5) 
    553566 
Note: See TracChangeset for help on using the changeset viewer.