Skip to content

Commit

Permalink
Merge pull request #257 from HEXRD/remember-un-agg-imgs
Browse files Browse the repository at this point in the history
Remember un-aggregated images
  • Loading branch information
bnmajor authored Feb 20, 2020
2 parents e0f7c77 + 7227742 commit efd24a3
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 7 deletions.
3 changes: 1 addition & 2 deletions hexrd/ui/hexrd_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,8 +306,7 @@ def current_images_dict(self):

return ret

def save_imageseries(self, name, write_file, selected_format, **kwargs):
ims = self.imageseries(name)
def save_imageseries(self, ims, name, write_file, selected_format, **kwargs):
hexrd.imageseries.save.write(ims, write_file, selected_format,
**kwargs)

Expand Down
10 changes: 9 additions & 1 deletion hexrd/ui/load_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import glob
import re
import numpy as np
import copy

from hexrd import imageseries

Expand Down Expand Up @@ -35,7 +36,9 @@ def __init__(self, parent=None):
loader = UiLoader()
self.ui = loader.load_file('load_panel.ui', parent)

self.parent_dir = HexrdConfig().images_dir
self.ims = HexrdConfig().imageseries_dict
self.parent_dir = HexrdConfig().images_dir if HexrdConfig().images_dir else ''
self.unaggregated_images = None

self.files = []
self.omega_min = []
Expand Down Expand Up @@ -125,6 +128,8 @@ def detectors_changed(self):

def agg_changed(self):
self.state['agg'] = self.ui.aggregation.currentIndex()
if self.ui.aggregation.currentIndex() == 0:
self.unaggregated_images = None

def trans_changed(self):
self.state['trans'][self.idx] = self.ui.transform.currentIndex()
Expand Down Expand Up @@ -638,6 +643,9 @@ def get_range(self, ims):
return range(self.empty_frames, len(ims))

def display_aggregation(self, ims_dict):
# Remember unaggregated images
self.unaggregated_images = copy.copy(ims_dict)

# Display aggregated image from imageseries
for key in ims_dict.keys():
if self.state['agg'] == 1:
Expand Down
13 changes: 9 additions & 4 deletions hexrd/ui/main_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,17 +283,22 @@ def on_action_save_imageseries_triggered(self):
QMessageBox.warning(self.ui, 'HEXRD', msg)
return

if len(HexrdConfig().imageseries_dict) > 1:
if self.load_widget.unaggregated_images:
ims_dict = self.load_widget.unaggregated_images
else:
ims_dict = HexrdConfig().imageseries_dict

if len(ims_dict) > 1:
# Have the user choose an imageseries to save
names = list(HexrdConfig().imageseries_dict.keys())
names = list(ims_dict.keys())
name, ok = QInputDialog.getItem(self.ui, 'HEXRD',
'Select ImageSeries', names, 0,
False)
if not ok:
# User canceled...
return
else:
name = list(HexrdConfig().imageseries_dict.keys())[0]
name = list(ims_dict.keys())[0]

selected_file, selected_filter = QFileDialog.getSaveFileName(
self.ui, 'Save ImageSeries', HexrdConfig().working_dir,
Expand Down Expand Up @@ -324,7 +329,7 @@ def on_action_save_imageseries_triggered(self):
# to be the same as the file name...
kwargs['cache_file'] = selected_file

HexrdConfig().save_imageseries(name, selected_file,
HexrdConfig().save_imageseries(ims_dict.get(name), name, selected_file,
selected_format, **kwargs)

def on_action_save_materials_triggered(self):
Expand Down

0 comments on commit efd24a3

Please sign in to comment.