Skip to content

Commit 08e43eb

Browse files
committed
new cases in place. this refs #241
1 parent 8f465d9 commit 08e43eb

File tree

3 files changed

+110
-26
lines changed

3 files changed

+110
-26
lines changed

notebooks/__code/normalization_tof/normalization_for_timepix.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def load_data_using_multithreading(list_tif: list = None, combine_tof: bool = Fa
7777
if combine_tof:
7878
return np.array(data).sum(axis=0)
7979
else:
80-
return np.array(data)
80+
return np.array(data, dtype=np.float32)
8181

8282

8383
def retrieve_list_of_tif(folder: str) -> list:
@@ -223,7 +223,7 @@ def normalization_with_list_of_runs(sample_run_numbers: list = None,
223223
if verbose:
224224
display(HTML(f"Normalization of run {_sample_run_number}"))
225225

226-
_sample_data = np.array(sample_master_dict[_sample_run_number][MasterDictKeys.data], dtype=np.float32)
226+
_sample_data = sample_master_dict[_sample_run_number][MasterDictKeys.data]
227227

228228
# get statistics of sample data
229229
data_shape = _sample_data.shape
@@ -269,11 +269,13 @@ def normalization_with_list_of_runs(sample_run_numbers: list = None,
269269
# _sample_data = np.divide(_sample_data, ob_data_combined, out=np.zeros_like(_sample_data), where=ob_data_combined!=0)
270270
# _sample_data = np.divide(_sample_data, ob_data_combined, out=np.zeros_like(_sample_data))
271271
# _sample_data = np.divide(_sample_data, ob_data_combined, out=np.zeros_like(_sample_data), where=ob_data_combined!=0)
272-
_normalized_data = np.zeros_like(_sample_data, dtype=np.float32)
273-
index = 0
274-
for _sample, _ob in zip(_sample_data, ob_data_combined):
275-
_normalized_data[index] = np.divide(_sample, _ob)
276-
index += 1
272+
# _normalized_data = np.zeros_like(_sample_data, dtype=np.float32)
273+
# index = 0
274+
_normalized_data = np.divide(_sample_data, ob_data_combined)
275+
276+
# for _sample, _ob in zip(_sample_data, ob_data_combined):
277+
# _normalized_data[index] = np.divide(_sample, _ob)
278+
# index += 1
277279

278280
normalized_data[_sample_run_number] = _normalized_data
279281

@@ -479,7 +481,7 @@ def normalization(sample_folder=None, ob_folder=None, output_folder="./", verbos
479481

480482

481483
def make_tiff(data: list, filename: str = "", metadata: dict = None) -> None:
482-
new_image = Image.fromarray(np.array(data))
484+
new_image = Image.fromarray(np.array(data), mode='F')
483485
if metadata:
484486
new_image.save(filename, tiffinfo=metadata)
485487
else:
@@ -754,8 +756,8 @@ def combine_ob_images(ob_master_dict: dict,
754756
logging.info(f"{temp_ob_data.shape = }")
755757
ob_data = temp_ob_data.copy()
756758

757-
ob_data_combined = np.array(ob_data).mean(axis=0)
758-
logging.info(f"{ob_data_combined.shape = }")
759+
# ob_data_combined = np.array(ob_data).mean(axis=0)
760+
# logging.info(f"{ob_data_combined.shape = }")
759761

760762
# remove zeros
761763
if replace_ob_zeros_by_nan:
@@ -778,8 +780,10 @@ def combine_ob_images(ob_master_dict: dict,
778780
full_ob_data_corrected.append(ob_data)
779781
logging.info(f"{np.shape(full_ob_data_corrected) = }")
780782

783+
logging.info(f"Combining all ob images is done!")
784+
logging.info(f"\tbefore: {len(full_ob_data_corrected) = }")
781785
ob_data_combined = np.array(full_ob_data_corrected).mean(axis=0)
782-
logging.info(f"{ob_data_combined.shape = }")
786+
logging.info(f"\tafter: {ob_data_combined.shape = }")
783787

784788
# remove zeros
785789
if replace_ob_zeros_by_nan:

notebooks/__code/rename_files/rename_files.py

Lines changed: 94 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def define_new_naming_schema(self):
6363
self.o_schema.show()
6464

6565

66-
class NamingSchemaDefinition(object):
66+
class NamingSchemaDefinition:
6767
ext = ''
6868
list_files = []
6969
working_dir = ''
@@ -100,12 +100,16 @@ def new_naming_schema(self):
100100
else:
101101
prefix = self.basename_selected_by_user.value
102102

103-
post_index_separator = self.box5.children[1].value
104103
nbr_digits = self.box7.children[1].value
104+
if self.suffix_box2.children[1].value:
105+
suffix = self.suffix_box2.children[2].value
106+
else:
107+
suffix = nbr_digits * '#'
105108

106109
ext = self.box9.children[1].value
107110

108-
schema = prefix + post_index_separator + nbr_digits * '#' + ext
111+
post_index_separator = self.box5.children[1].value
112+
schema = prefix + post_index_separator + suffix + ext
109113
return schema
110114

111115
def pre_index_text_changed(self, sender):
@@ -130,6 +134,20 @@ def changed_use_new_prefix_name(self, value=[]):
130134
self.new_prefix_text_widget.disabled = not _value
131135
self.post_text_changed(None)
132136

137+
def changed_use_digit_suffix_name(self, value=[]):
138+
self.user_new_suffix_widget.value = not value['new']
139+
self.new_suffix_text_widget.disabled = value['new']
140+
self.post_text_changed(None)
141+
142+
def changed_use_new_suffix_name(self, value=[]):
143+
if value == []:
144+
_value = self.user_new_suffix_widget.value
145+
else:
146+
_value = value['new']
147+
self.use_digit_suffix_widget.value = not _value
148+
self.new_suffix_text_widget.disabled = not _value
149+
self.post_text_changed(None)
150+
133151
def get_basename_of_current_dropdown_selected_file(self, is_with_ext=False):
134152
full_file_name = self.random_input_checkbox.value
135153
if is_with_ext:
@@ -193,15 +211,15 @@ def show(self):
193211
# new naming schema
194212
box_text_width = '10%'
195213
self.box1 = widgets.HBox([widgets.Label("New prefix File Name",
196-
layout=widgets.Layout(width='10%')),
214+
layout=widgets.Layout(width='20%')),
197215
widgets.Checkbox(value=True,
198216
description='Use previous prefix name',
199217
layout=widgets.Layout(width='30%'))])
200218
self.use_previous_prefix_widget = self.box1.children[1]
201219
self.box1.children[1].observe(self.changed_use_previous_prefix_name, names='value')
202220

203221
self.box1b = widgets.HBox([widgets.Label("",
204-
layout=widgets.Layout(width='10%')),
222+
layout=widgets.Layout(width='20%')),
205223
widgets.Checkbox(value=False,
206224
description='Use new prefix',
207225
layout=widgets.Layout(width='20%')),
@@ -213,6 +231,30 @@ def show(self):
213231
self.user_new_prefix_widget = self.box1b.children[1]
214232
self.user_new_prefix_widget.observe(self.changed_use_new_prefix_name, names='value')
215233

234+
235+
236+
237+
self.suffix_box1 = widgets.HBox([widgets.Label("New suffix File Name",
238+
layout=widgets.Layout(width='20%')),
239+
widgets.Checkbox(value=True,
240+
description='Use digit suffix',
241+
layout=widgets.Layout(width='30%'))])
242+
self.use_digit_suffix_widget = self.suffix_box1.children[1]
243+
self.suffix_box1.children[1].observe(self.changed_use_digit_suffix_name, names='value')
244+
245+
self.suffix_box2 = widgets.HBox([widgets.Label("",
246+
layout=widgets.Layout(width='20%')),
247+
widgets.Checkbox(value=False,
248+
description='Use new suffix',
249+
layout=widgets.Layout(width='20%')),
250+
widgets.Text(value='',
251+
disabled=True,
252+
layout=widgets.Layout(width='25%'))])
253+
self.suffix_box2.children[2].observe(self.changed_use_new_suffix_name, names='value')
254+
self.user_new_suffix_widget = self.suffix_box2.children[1]
255+
self.new_suffix_text_widget = self.suffix_box2.children[2]
256+
self.user_new_suffix_widget.observe(self.changed_use_new_suffix_name, names='value')
257+
216258
self.box5 = widgets.HBox([widgets.Label("New Index Separator",
217259
layout=widgets.Layout(width='15%')),
218260
widgets.Text(value='_',
@@ -245,7 +287,8 @@ def show(self):
245287
self.box8.children[1].on_trait_change(self.post_text_changed, 'value')
246288
self.box9.children[1].on_trait_change(self.post_text_changed, 'value')
247289

248-
after = widgets.VBox([self.box1, self.box1b, self.box5, self.box7, self.box8, self.box9, self.box6])
290+
after = widgets.VBox([self.box1, self.box1b, self.suffix_box1, self.suffix_box2,
291+
self.box5, self.box7, self.box8, self.box9, self.box6])
249292

250293
accordion = widgets.Accordion(children=[before, after])
251294
accordion.set_title(0, 'Current Schema Name')
@@ -276,6 +319,12 @@ def demo_output_file_name(self):
276319
input_file = self.get_basename_of_current_dropdown_selected_file(is_with_ext=False)
277320
self.output_ui_2.children[1].value = input_file
278321

322+
323+
new_name = self.box6.children[1].value
324+
self.output_ui_3.children[1].value = new_name
325+
326+
return
327+
279328
old_index_separator = self.get_old_index_separator()
280329
new_prefix_name = self.get_new_prefix_name()
281330
new_index_separator = self.get_new_index_separator()
@@ -284,6 +333,11 @@ def demo_output_file_name(self):
284333
ext = self.box9.children[1].value
285334
[start_index, end_index] = self.int_range_slider.value
286335

336+
print(f"{old_index_separator=}, {new_prefix_name=}")
337+
print(f"{new_index_separator=}, {new_number_of_digits=}, {offset=}, {ext=}")
338+
print(f"{start_index=}, {end_index=}")
339+
340+
287341
try:
288342
display(HTML("""
289343
<style>
@@ -342,32 +396,47 @@ def get_new_number_of_digits(self):
342396
return self.box7.children[1].value
343397

344398
def generate_new_file_name(self, old_file_name,
399+
file_index,
345400
start_index,
346401
end_index,
347402
old_index_separator,
348403
new_prefix_name,
349404
new_index_separator,
350405
new_number_of_digits,
351406
offset,
407+
suffix_flag,
408+
suffix,
352409
ext):
353410

411+
file_index += offset
412+
354413
[_pre_extension, _] = os.path.splitext(old_file_name)
355-
_name_separated = _pre_extension.split(old_index_separator)
414+
# _name_separated = _pre_extension.split(old_index_separator)
415+
# print(f"Name separated: {_name_separated}")
356416

357417
if self.user_new_prefix_widget.value == True:
358418
prefix = new_prefix_name
359419
else:
360420
prefix = old_file_name[start_index: end_index + 1]
361421

362-
try:
363-
_index = int(_name_separated[-1]) + offset
422+
# try:
423+
# print(f"Trying to parse index from {_name_separated[-1]}")
424+
# _index = int(_name_separated[-1]) + offset
425+
# print(f"Parsed index: {_index}")
426+
if suffix_flag:
364427
new_name = prefix + new_index_separator + \
365-
'{:0{}}'.format(_index, new_number_of_digits) + \
366-
ext
367-
except ValueError:
368-
_index = _name_separated[-1]
428+
'{:0{}}'.format(file_index, new_number_of_digits) + \
429+
new_index_separator + suffix + ext
430+
else:
369431
new_name = prefix + new_index_separator + \
370-
_index + ext
432+
'{:0{}}'.format(file_index, new_number_of_digits) + ext
433+
434+
# except ValueError:
435+
# # print(f"Could not parse index from {_name_separated[-1]}")
436+
# # _index = _name_separated[-1]
437+
# new_name = prefix + new_index_separator + \
438+
# _index + ext
439+
# print(f"New name without index: {new_name}")
371440

372441
return new_name
373442

@@ -386,19 +455,30 @@ def get_dict_old_new_filenames(self):
386455
offset = self.box8.children[1].value
387456
ext = self.box9.children[1].value
388457

458+
suffix_flag = self.suffix_box2.children[1].value
459+
if suffix_flag:
460+
suffix = self.suffix_box2.children[2].value
461+
else:
462+
suffix = ""
463+
389464
list_of_input_basename_files = [os.path.basename(_file) for _file in list_of_input_files]
390465

391466
new_list = {}
392467
for _file_index, _file in enumerate(list_of_input_basename_files):
468+
393469
new_name = self.generate_new_file_name(_file,
470+
_file_index,
394471
start_index,
395472
end_index,
396473
old_index_separator,
397474
new_prefix_name,
398475
new_index_separator,
399476
new_number_of_digits,
400477
offset,
478+
suffix_flag,
479+
suffix,
401480
ext)
481+
402482
new_list[list_of_input_files[_file_index]] = new_name
403483
renaming_result.append("{} \t --> \t {}".format(_file, new_name))
404484

notebooks/rename_files.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@
152152
"metadata": {
153153
"anaconda-cloud": {},
154154
"kernelspec": {
155-
"display_name": "Python 3 (ipykernel)",
155+
"display_name": "python310",
156156
"language": "python",
157157
"name": "python3"
158158
},

0 commit comments

Comments
 (0)