Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
out = fabio.tifimage.tifimage(data=data, header=header)
elif format_ == '*.cbf':
out = fabio.cbfimage.cbfimage(data=data, header=header)
elif format_ in ['*.mar3450', '*.mar2300']:
data = self.padd_mar(data, format_)
out = fabio.mar345image.mar345image(data=data, header=header)
elif format_ == '*.img':
out = fabio.OXDimage.OXDimage(data=data, header=header)
elif format_ == '*.sfrm':
out = fabio.brukerimage.brukerimage(data=data, header=header)
else:
raise Warning("Unknown format: %s" % format_)
template = 'Writing file %s to %s format, please wait...'
self.statusBar().showMessage(template % (fname, format_[2:]))
self.log.appendPlainText('Writing file %s to %s format' % (fname, format_[2:]))
qt.QCoreApplication.processEvents()
out.write(fname)
self.statusBar().clearMessage()
numpy.add(stack, data, stack)
self.progressBar.setValue((float(i + 1) / (subtotal)) * 100.)
self.log.appendPlainText('File number %d stacked' % i)
qt.QCoreApplication.processEvents()
if j == thick - 1:
self.log.appendPlainText('stack number %d summing up' % k)
qt.QCoreApplication.processEvents()
if format_ in ['*.mar3450', '*.mar2300']:
self.header_series[i]["PHI_START"] = '%.3f' % (start_angle + step_angle * (i - thick + 1))
self.header_series[i]["PHI_END"] = '%.3f' % (start_angle + step_angle * (i))
filename = ('%s_%s%s' % (fname, self.counter_format, format_[1:])) % k
self.convert_and_write(filename, format_, stack, self.header_series[i])
stack = numpy.zeros_like(data)
self.progressBar.setValue(0)
self.log.appendPlainText('Downsampling: Complete')
qt.QCoreApplication.processEvents()
else:
if str(info[0]) != '' and str(info[1]) != '':
message = "Could not save image as file if no data have been loaded"
qt.QMessageBox.warning(self, 'Warning', message)
self.sequential_file_dict = {}
self.imagelistWidget.clear()
self.headerTextEdit.clear()
with Nexus(fname, 'r') as nxs:
entry = nxs.get_entries()[0]
nxdata = nxs.get_class(entry, class_type="NXdata")[0]
dataset = nxdata.get("data", numpy.zeros(shape=(1, 1, 1)))
total = dataset.shape[0]
imgDict = {}
extract_fname = os.path.basename(os.path.splitext(fname)[0])
self.images_list.clear()
safeiid = 0
for iid in range(total):
self.progressBar.setValue(((iid + 1.0) / (total)) * 100.)
self.log.appendPlainText('Extracting data from hdf5 archive, image number %d' % iid)
qt.QCoreApplication.processEvents()
self.data_series.append(dataset[iid])
self.header_series += [{'Info': 'No header information available in hdf5 Archive'}]
imgDict[extract_fname + str(iid)] = safeiid
self.images_list.addItem(extract_fname + str(iid))
safeiid += 1
self.statusBar().clearMessage()
self.progressBar.setValue(0)
self.log.appendPlainText('Hdf5 Extraction: Complete')
self.imgDict = imgDict.copy()
if self.data_series:
self.select_new_image(None, imgID=0)
if self.transform_data_series:
tmpdata = self.apply_queued_transformations(img.data)
else:
tmpdata = img.data
filename = ('%s_%s%s' % (fname, self.counter_format, format_[1:])) % ii
self.convert_and_write(filename, format_, tmpdata, img.header)
ii += 1
else:
total = len(self.data_series)
for i in range(len(self.data_series)):
tmpdata = self.data_series[i]
tmpheader = self.header_series[i]
tmpfname = ('%s_%s%s' % (fname, self.counter_format, format_[1:])) % i
self.progressBar.setValue((float(i + 1) / (total)) * 100.)
self.log.appendPlainText('Converting file %s' % i)
qt.QCoreApplication.processEvents()
if self.transform_data_series:
tmpdata = self.apply_queued_transformations(tmpdata)
self.convert_and_write(tmpfname, format_, tmpdata, tmpheader)
self.progressBar.setValue(0)
self.log.appendPlainText('Convertion to %s: Complete' % format_[2:])
def rotation_90(self):
if self.transform_data_series:
if self.sequential_file_mode:
self.transformation_queue.addItem('rotation(+90)')
self.transform_list += ['rotation(+90)']
self.log.appendPlainText('Add + 90 rotation to transformations queue')
qt.QCoreApplication.processEvents()
else:
total = len(self.data_series)
if not total:
message = "Could not transform image if no data have been loaded"
qt.QMessageBox.warning(self, 'Warning', message)
return
for i in range(len(self.data_series)):
self.data_series[i] = numpy.rot90(self.data_series[i])[:]
self.progressBar.setValue((float(i + 1) / (total)) * 100.)
self.log.appendPlainText('Applying + 90 rotation to data series: image %d' % i)
qt.QCoreApplication.processEvents()
iid = self.imgDict[str(self.images_list.currentText())]
self.select_new_image(None, imgID=iid)
else:
if self.data.any():
self.data = numpy.rot90(self.data)[:]
def on_draw(self):
""" Redraws the figure"""
self.statusBar().showMessage('Loading display...')
qt.QCoreApplication.processEvents()
# clear the axes and redraw a new plot
self.axes.clear()
# self.axes.imshow(numpy.log(numpy.clip(self.data,1.0e-12,1.0e260) ),interpolation = 'nearest')
self.axes.imshow(numpy.log(self.data), interpolation='nearest')
self.axes.set_visible(True)
if self.axes.get_ylim()[0] < self.axes.get_ylim()[1]:
self.axes.set_ylim(self.axes.get_ylim()[::-1])
self.canvas.draw()
self.statusBar().clearMessage()
if self.sequential_file_mode:
self.transformation_queue.addItem('horizontal_mirror')
self.transform_list += ['horizontal_mirror']
self.log.appendPlainText('Add horizontal mirror to transformations queue')
qt.QCoreApplication.processEvents()
else:
total = len(self.data_series)
if not total:
message = "Could not transform image if no data have been loaded"
qt.QMessageBox.warning(self, 'Warning', message)
return
for i in range(len(self.data_series)):
self.data_series[i] = numpy.flipud(self.data_series[i])[:]
self.progressBar.setValue((float(i + 1) / (total)) * 100.)
self.log.appendPlainText('Applying horizontal mirror to data series: image %d' % i)
qt.QCoreApplication.processEvents()
iid = self.imgDict[str(self.images_list.currentText())]
self.select_new_image(None, imgID=iid)
else:
if self.data.any():
self.data = numpy.flipud(self.data)[:]
iid = self.imgDict[str(self.images_list.currentText())]
self.data_series[iid] = self.data[:]
self.log.appendPlainText('Applying horizontal mirror to current data')
self.on_draw()
else:
message = "Could not transform image if no data have been loaded"
qt.QMessageBox.warning(self, 'Warning', message)
self.progressBar.setValue(0)
def vertical_mirror(self):
if self.transform_data_series:
if self.sequential_file_mode:
self.transformation_queue.addItem('vertical_mirror')
self.transform_list += ['vertical_mirror']
self.log.appendPlainText('Add vertical mirror to transformations queue')
qt.QCoreApplication.processEvents()
else:
total = len(self.data_series)
if not total:
message = "Could not transform image if no data have been loaded"
qt.QMessageBox.warning(self, 'Warning', message)
return
for i in range(len(self.data_series)):
self.data_series[i] = numpy.fliplr(self.data_series[i])[:]
self.progressBar.setValue((float(i + 1) / (total)) * 100.)
self.log.appendPlainText('Applying vertical mirror to data series: image %d' % i)
qt.QCoreApplication.processEvents()
iid = self.imgDict[str(self.images_list.currentText())]
self.select_new_image(None, imgID=iid)
else:
if self.data.any():
self.data = numpy.fliplr(self.data)[:]