Can now change the number of acquired points. This, with the ability to change the acquisition length, allows one to control dwell time indirectly

This commit is contained in:
2025-08-12 11:23:35 +02:00
parent 904db04447
commit 7e5b47d45f
3 changed files with 24 additions and 7 deletions

View File

@@ -95,6 +95,7 @@ class ProgrammedSequence(fc.Drivable): # Drivable only for kill() funcitonality
# final details
acquisition_time = fc.Parameter('acquisition_time', fc.FloatRange(unit='usecs'), readonly=False, group='sequence_editor', default=204.8) # this is a limit set by the dwell limit and number of acquisition points
num_acq_points = fc.Parameter('num_acq_points', fc.IntRange(), readonly=False, group='sequence_editor', default=1024)
ringdown_time = fc.Parameter('ringdown_time', fc.FloatRange(unit='usecs'), readonly=False, group='sequence_editor', default=1)
pre_acquisition_time = fc.Parameter('pre_acquisition_time', fc.FloatRange(unit='usecs'), readonly=False, group='sequence_editor', default=1)
post_acquisition_time = fc.Parameter('post_acquisition_time', fc.FloatRange(unit='msecs'), readonly=False, group='sequence_editor', default=500)
@@ -224,6 +225,12 @@ class ProgrammedSequence(fc.Drivable): # Drivable only for kill() funcitonality
self.status = ('IDLE', 'ok - uncompiled')
return self.read_num_acqs()
def write_num_acq_points(self, t):
if(self.status[0] != 'BUSY'):
self.status = ('IDLE', 'ok - uncompiled')
self.num_points = t
return self.read_num_acq_points()
def read_obs_freq(self):
return self.tnmr().get_nmrparameter('Observe Freq.')
@@ -294,7 +301,8 @@ class ProgrammedSequence(fc.Drivable): # Drivable only for kill() funcitonality
str(self.pre_acquisition_time) + 'u',
str(self.acquisition_time) + 'u',
str(self.post_acquisition_time) + 'm',
str(self.acq_phase_cycle)))
str(self.acq_phase_cycle),
str(self.num_acq_points)))
self.approx_sequence_length += float(self.acquisition_time)*1e-6
self.approx_sequence_length += float(self.post_acquisition_time)*1e-6
@@ -316,6 +324,7 @@ class ProgrammedSequence(fc.Drivable): # Drivable only for kill() funcitonality
self.compiled_parameters['post_acquisition_time'] = self.post_acquisition_time
self.compiled_parameters['acq_phase_cycle'] = self.acq_phase_cycle
self.compiled_parameters['num_acqs'] = self.read_num_acqs()
self.compiled_parameters['num_acq_points'] = self.read_num_acq_points()
self.compiled_parameters['obs_freq'] = self.read_obs_freq()
self.compiled_parameters['title'] = self.read_title()
self.compiled_parameters['comments'] = self.read_comments()