예제 #1
0
 def saveStackAsSimplestHDF5(self):
     filename = self._getOutputHDF5Filename()
     if not len(filename):
         return
     view = self._getCroppedView()
     ArraySave.save3DArrayAsHDF5(view, filename,
                                 labels = None, dtype=None, mode='simplest')
예제 #2
0
 def saveStackAsSimpleHDF5(self):
     filename = self._getOutputHDF5Filename()
     if not len(filename):
         return
     ArraySave.save3DArrayAsHDF5(self._stack.data,
                                 filename,
                                 labels=None,
                                 dtype=None,
                                 mode='simple')
예제 #3
0
 def saveStackAsNeXusPlus(self):
     filename = self._getOutputHDF5Filename()
     if not len(filename):
         return
     ArraySave.save3DArrayAsHDF5(self._stack.data,
                                 filename,
                                 labels=None,
                                 dtype=None,
                                 mode='nexus+')
예제 #4
0
 def saveStackAsSimplestHDF5(self):
     filename = self._getOutputHDF5Filename()
     if not len(filename):
         return
     view = self._getCroppedView()
     ArraySave.save3DArrayAsHDF5(view,
                                 filename,
                                 labels=None,
                                 dtype=None,
                                 mode='simplest')
예제 #5
0
    def saveStackAsNeXus(self,
                         dtype=None,
                         interpretation=None,
                         compression=False):
        mcaIndex = self._stack.info.get('McaIndex', -1)
        if interpretation is None:
            if mcaIndex in [0]:
                interpretation = "image"
            else:
                interpretation = "spectrum"
        if interpretation not in ["spectrum", "image"]:
            raise ValueError("Unknown data interpretation %s" % interpretation)
        filename = self._getOutputHDF5Filename()
        if not len(filename):
            return

        # get only the seen stack portion
        view = self._getCroppedView()

        # the current graph axis is saved
        axes = [None] * len(self._stack.data.shape)
        labels = [None] * len(self._stack.data.shape)
        try:
            xLabel = qt.safe_str(self.mcaWidget.graph.getGraphXLabel())
        except:
            xLabel = None
        try:
            xData, y, legend, info = self.mcaWidget.getActiveCurve()[:4]
        except:
            xData = self._mcaData0.x[0]
            xLabel = 'Channels'
        if interpretation == 'image':
            labels[0] = xLabel
            axes[0] = xData
        else:
            labels[-1] = xLabel
            axes[-1] = xData
        try:
            ArraySave.save3DArrayAsHDF5(view,
                                        filename,
                                        axes=axes,
                                        labels=labels,
                                        dtype=dtype,
                                        mode='nexus',
                                        mcaindex=mcaIndex,
                                        interpretation=interpretation,
                                        compression=compression)
        except:
            msg = qt.QMessageBox(self)
            msg.setIcon(qt.QMessageBox.Critical)
            msg.setWindowTitle("Save error")
            msg.setText("An error has occured while saving the data:")
            msg.setInformativeText(qt.safe_str(sys.exc_info()[1]))
            msg.setDetailedText(traceback.format_exc())
            msg.exec_()
예제 #6
0
    def saveStackAsNeXus(self, dtype=None, interpretation=None, compression=False):
        mcaIndex = self._stack.info.get('McaIndex', -1)
        if interpretation is None:
            if mcaIndex in [0]:
                interpretation = "image"
            else:
                interpretation = "spectrum"
        if interpretation not in ["spectrum", "image"]:
            raise ValueError("Unknown data interpretation %s" % interpretation)
        filename = self._getOutputHDF5Filename()
        if not len(filename):
            return

        # get only the seen stack portion
        view = self._getCroppedView()

        # the current graph axis is saved
        axes = [None] * len(self._stack.data.shape)
        labels = [None] * len(self._stack.data.shape)
        try:
            xLabel = qt.safe_str(self.mcaWidget.graph.getGraphXLabel())
        except:
            xLabel = None
        try:
            xData, y, legend, info = self.mcaWidget.getActiveCurve()[:4]
        except:
            xData = self._mcaData0.x[0]
            xLabel = 'Channels'
        if interpretation == 'image':
            labels[0] = xLabel
            axes[0] = xData
        else:
            labels[-1] = xLabel
            axes[-1] = xData
        try:
            ArraySave.save3DArrayAsHDF5(view,
                                    filename,
                                    axes=axes,
                                    labels=labels,
                                    dtype=dtype,
                                    mode='nexus',
                                    mcaindex=mcaIndex,
                                    interpretation=interpretation,
                                    compression=compression)
        except:
            msg = qt.QMessageBox(self)
            msg.setIcon(qt.QMessageBox.Critical)
            msg.setWindowTitle("Save error")
            msg.setText("An error has occured while saving the data:")
            msg.setInformativeText(qt.safe_str(sys.exc_info()[1]))
            msg.setDetailedText(traceback.format_exc())
            msg.exec_()
예제 #7
0
 def saveStackAsSimplestHDF5(self):
     filename = self._getOutputHDF5Filename()
     if not len(filename):
         return
     ArraySave.save3DArrayAsHDF5(self._stack.data, filename,
                                 labels = None, dtype=None, mode='simplest')
예제 #8
0
 def saveStackAsNeXusPlus(self):
     filename = self._getOutputHDF5Filename()
     if not len(filename):
         return
     ArraySave.save3DArrayAsHDF5(self._stack.data, filename,
                                 labels = None, dtype=None, mode='nexus+')