Skip to content

Commit c6d636b

Browse files
committed
GUI simplification
Disables Initialise, Environs, Acquire and Offsets buttons during Initialisation Forces user to Apply changes if Raw or Process dataset(s) changed Pixel grid size now always updated from json file when loaded Adds support for frameReceiver reset functionality Tidies up/hides extra controls from GUI in HTML Improves GUI progress bars behaviour.
1 parent fff77b1 commit c6d636b

File tree

7 files changed

+188
-262
lines changed

7 files changed

+188
-262
lines changed

control/src/hexitec/HexitecDAQ.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@ def hdf_closing_loop(self):
428428
# print(" DAQ Waiting, hdf_closing_loop()")
429429
IOLoop.instance().call_later(0.5, self.hdf_closing_loop)
430430
else:
431+
self.frames_received = self.get_total_frames_received()
431432
self.hdf_file_location = self.file_dir + self.file_name + '.h5'
432433
self.prepare_hdf_file()
433434

@@ -758,7 +759,7 @@ def get_total_frames_received(self):
758759
received = fr_status.get("frames", None).get("received", None)
759760
if received > 0:
760761
total_received = total_received + received
761-
# print(" *** FR total received frames: {}".format(total_received))
762+
# print(" {0} *** FR total received frames: {0}".format(total_received))
762763
return total_received
763764

764765
def _is_od_connected(self, status=None, adapter=""):
@@ -868,6 +869,7 @@ def set_number_frames(self, number_frames):
868869
self.number_frames = number_frames
869870
self.frames_expected = number_frames
870871
self.frames_processed = 0
872+
self.frames_received = 0
871873
self.processed_remaining = self.number_frames - self.frames_processed
872874

873875
def set_number_nodes(self, nodes):

control/src/hexitec/HexitecFem.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -675,10 +675,11 @@ def initialise_hardware(self, msg=None):
675675
self.initialise_system()
676676
except HexitecFemError as e:
677677
self.flag_error("Failed to initialise camera", str(e))
678+
self.hardware_busy = False
678679
except Exception as e:
679680
error = "Camera initialisation failed"
680681
self.flag_error(error, str(e))
681-
self.hardware_busy = False
682+
self.hardware_busy = False
682683

683684
def collect_data(self, msg=None):
684685
"""Acquire data from camera."""
@@ -845,9 +846,9 @@ def acquire_data_completed(self):
845846
stop_ = datetime.strptime(self.acquire_stop_time, HexitecFem.DATE_FORMAT)
846847
self.acquire_time = (stop_ - start_).total_seconds()
847848

848-
logging.debug("Capturing {} frames took {} seconds".format(str(self.number_frames),
849+
logging.debug("Sending {} frames took {} seconds".format(str(self.number_frames),
849850
self.acquire_time))
850-
duration = "Requested {} frame(s), took {} seconds".format(self.number_frames,
851+
duration = "Requested {} frames, sending took {} seconds".format(self.number_frames,
851852
self.acquire_time)
852853
self._set_status_message(duration)
853854
# Save duration to separate parameter tree entry:

control/src/hexitec/adapter.py

+18
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,19 @@ def _get_od_status(self, adapter):
377377
finally:
378378
return response
379379

380+
# def _get_fp_status(self):
381+
# """Get status from adapter."""
382+
# adapter = "fp"
383+
# try:
384+
# request = ApiAdapterRequest(None, content_type="application/json")
385+
# response = self.adapters[adapter].get("status/error/", request)
386+
# response = response.data["value"]
387+
# except KeyError:
388+
# logging.warning("%s Adapter Not Found" % adapter)
389+
# response = [{"Error": "Adapter {} not found".format(adapter)}]
390+
# finally:
391+
# return response
392+
380393
def connect_hardware(self, msg):
381394
"""Connect with hardware."""
382395
self.software_state = "Connecting"
@@ -563,6 +576,11 @@ def acquisition(self, put_data=None):
563576
request.body = "{}".format(1)
564577
self.adapters["fp"].put(command, request)
565578

579+
# # Reset FR(s) statistics
580+
# command = "command/reset_statistics"
581+
# request = ApiAdapterRequest("", content_type="application/json")
582+
# self.adapters["fr"].put(command, request)
583+
566584
self.daq_target = time.time()
567585
self.daq.prepare_daq(self.number_frames)
568586
# Acquisition starts here

0 commit comments

Comments
 (0)