def set_pulses(self): ### Excitation Pulse ### exdata = self.power * pulse_shape.hard_pulse(self.p90, self.samp_rate) #sinc Excitation Pulse #amp = self.power #exdata = pulse_shape.wsinc(self.p90,7.0,0,self.samp_rate)*amp # Set data for triggered vector source named "ex_pulse" tb.ex_pulse.set_data(exdata) # Set pulse delay in flowgraph start = int(self.fudge * self.samp_rate) tb.set_ex_delay(start) pulses.ex = pulse(exdata, start) ### Readout Window ### readdata = 1.0 * pulse_shape.hard_pulse(self.readout_length, self.samp_rate) # Set data for triggered vector source named "readwin" tb.readwin.set_data(readdata) start = int( self.samp_rate * (self.fudge + self.p90 + self.dead_time)) # define pulse timing tb.set_readout_delay(start) # update flow graph pulses.readout = pulse(readdata, start)
def readout_pulse(self): # Readout Window self.readout_length = round(float(self.samp_rate) / self.BW * self.SI) self.readout_time = self.readout_length / self.samp_rate data = pulse_shape.hard_pulse(self.readout_time, self.samp_rate) tb.readwin.set_data(data) # update pulse in flowgraph start = int(self.samp_rate * (self.fudge + self.p90 / 2 + self.TE - (self.readout_time / 2))) tb.set_readout_delay(start) # update pulse delay pulses.readout = pulse(data, start)
def p180_hard_pulse(self): # Refocusing Pulse amp = 2 * self.power_auc / self.p180 data = amp * pulse_shape.hard_pulse(self.p180, self.samp_rate) tb.ref_pulse.set_data(data) # update pulse in flowgraph # update pulse delay start = int(self.samp_rate * (self.fudge + self.p90 / 2 + self.TE / 2 - self.p180 / 2)) tb.set_ref_delay(start) pulses.ref = pulse(data, start)
def p90_hard_pulse(self): # Excitation Pulse amp = self.power_auc * self.samp_rate #self.power_auc/self.p90 foo = pulse_shape.hard_pulse(self.p90, self.samp_rate) data = foo / sum(foo) * amp tb.ex_pulse.set_data(data) start = int(self.fudge * self.samp_rate) # update pulse in flowgraph pulses.ex = pulse(data, start) tb.set_ex_delay(start) # update pulse delay if (self.ischopped == 1): tb.ex_pulse.set_amps(1, -2, 2, self.nav) else: tb.ex_pulse.set_amps(1, 0, 1, 1)