Beispiel #1
0
    def loadIFTMs(self, filename_list):
        """Load GNOM .ift/.out files."""
        print('Please wait while loading files...', file=self._stdout)
        iftm_list = []

        try:
            for each_filename in filename_list:
                file_ext = os.path.splitext(each_filename)[1]
                if file_ext == '.ift' or file_ext == '.out':
                    iftm, _ = SASFileIO.loadFile(each_filename,
                                                 self._raw_settings)
                    if isinstance(iftm, list):
                        iftm_list.extend(iftm)
                    else:
                        iftm_list.append(iftm)

        except (SASExceptions.UnrecognizedDataFormat,
                SASExceptions.WrongImageFormat) as error:
            self.error_printer.showDataFormatError(
                os.path.split(each_filename)[1])
            raise error
        except SASExceptions.HeaderLoadError as error:
            print(
                str(error), 'Error Loading Headerfile:'
                'Please check that the header file is in the directory with the data.',
                file=self._stdout)
            raise error
        except SASExceptions.MaskSizeError as error:
            print(str(error),
                  'Saved mask does not fit loaded image',
                  file=self._stdout)
            raise error
        except SASExceptions.HeaderMaskLoadError as error:
            print(str(error),
                  'Mask information was not found in header',
                  file=self._stdout)
            raise error

        return iftm_list
Beispiel #2
0
    def loadSASMs(self, filename_list):
        """Load image or dat files."""
        print('Please wait while loading files...', file=self._stdout)
        sasm_list = []
        do_auto_save = self._raw_settings.get('AutoSaveOnImageFiles')

        try:
            for each_filename in filename_list:
                # file_ext = os.path.splitext(each_filename)[1]
                sasm, img = SASFileIO.loadFile(each_filename,
                                               self._raw_settings)

                if img is not None:
                    # qrange = sasm.getQrange()
                    start_point = self._raw_settings.get('StartPoint')
                    end_point = self._raw_settings.get('EndPoint')

                    if isinstance(sasm, list):
                        qrange = (start_point,
                                  len(sasm[0].getBinnedQ()) - end_point)
                        for each_sasm in sasm:
                            each_sasm.setQrange(qrange)
                    else:
                        qrange = (start_point,
                                  len(sasm.getBinnedQ()) - end_point)
                        sasm.setQrange(qrange)

                    if do_auto_save:
                        save_path = self._raw_settings.get('ProcessedFilePath')
                        try:
                            if isinstance(sasm, list):
                                for each in sasm:
                                    self.saveSASM(each, '.dat', save_path)
                            else:
                                self.saveSASM(sasm, '.dat', save_path)
                        except IOError as error:
                            self._raw_settings.set('AutoSaveOnImageFiles',
                                                   False)
                            do_auto_save = False

                if isinstance(sasm, list):
                    sasm_list.extend(sasm)
                else:
                    sasm_list.append(sasm)

        except (SASExceptions.UnrecognizedDataFormat,
                SASExceptions.WrongImageFormat) as error:
            self.error_printer.showDataFormatError(
                os.path.split(each_filename)[1])
            raise error
        except SASExceptions.HeaderLoadError as error:
            print(
                str(error), 'Error Loading Headerfile:'
                'Please check that the header file is in the directory with the data.',
                file=self._stdout)
            raise error
        except SASExceptions.MaskSizeError as error:
            print(str(error),
                  'Saved mask does not fit loaded image',
                  file=self._stdout)
            raise error
        except SASExceptions.HeaderMaskLoadError as error:
            print(str(error),
                  'Mask information was not found in header',
                  file=self._stdout)
            raise error

        return sasm_list