diff --git a/Applications/relax2/Relax2_main.py b/Applications/relax2/Relax2_main.py index b5128602..f1e10d64 100644 --- a/Applications/relax2/Relax2_main.py +++ b/Applications/relax2/Relax2_main.py @@ -489,6 +489,9 @@ def __init__(self, parent=None): self.RX1_radioButton.toggled.connect(self.update_params) self.RX2_radioButton.toggled.connect(self.update_params) + self.RF_Rec_Carrier_radioButton.toggled.connect(self.update_params) + self.RF_Rec_Carrier_radioButton.setToolTip('Sets the RF carrier waveform from sine wave to rectengular. This is an experimental implementation.') + def frequency_center(self): params.frequency = params.centerfrequency self.Frequency_doubleSpinBox.setValue(params.frequency) @@ -583,6 +586,8 @@ def load_params(self): if params.rx1 == 1: self.RX1_radioButton.setChecked(True) if params.rx2 == 1: self.RX2_radioButton.setChecked(True) + if params.RFreccarrier == 1: self.RF_Rec_Carrier_radioButton.setChecked(True) + def update_flippulselength(self): params.flipangletime = self.Flipangle_Time_spinBox.value() @@ -856,7 +861,10 @@ def update_params(self): params.rxmode = 3 print('\033[1m' + 'Please select RX1 or RX2!' + '\033[0m') - print('RX mode: ',params.rxmode) + #print('RX mode: ',params.rxmode) + + if self.RF_Rec_Carrier_radioButton.isChecked(): params.RFreccarrier = 1 + else: params.RFreccarrier = 0 params.saveFileParameter() diff --git a/Applications/relax2/parameter_handler.py b/Applications/relax2/parameter_handler.py index 3b7807b8..64b9a198 100644 --- a/Applications/relax2/parameter_handler.py +++ b/Applications/relax2/parameter_handler.py @@ -36,6 +36,7 @@ def var_init(self): self.sequencefile = '' self.datapath = '' self.frequency = 11.3 + self.RFreccarrier = 0 self.autorecenter = 0 self.frequencyoffset = 0 self.frequencyoffsetsign = 0 @@ -185,6 +186,7 @@ def saveFileParameter(self): self.sequencefile, \ self.datapath, \ self.frequency, \ + self.RFreccarrier, \ self.autorecenter, \ self.frequencyoffset, \ self.frequencyoffsetsign, \ @@ -342,6 +344,7 @@ def loadParam(self): self.sequencefile, \ self.datapath, \ self.frequency, \ + self.RFreccarrier, \ self.autorecenter, \ self.frequencyoffset, \ self.frequencyoffsetsign, \ diff --git a/Applications/relax2/sequence_handler.py b/Applications/relax2/sequence_handler.py index fa84388e..366f17cb 100644 --- a/Applications/relax2/sequence_handler.py +++ b/Applications/relax2/sequence_handler.py @@ -79,6 +79,7 @@ def __init__(self): def sequence_upload(self): self.RXconfig_upload() + self.TXconfig_upload() self.Gradients_upload() self.Frequency_upload() self.RFattenuation_upload() @@ -373,12 +374,19 @@ def initVariables(self): self.freq_old = 0 self.att_old = 0 self.rxmode_old = 1 + self.RFreccarrier_old = 0 def RXconfig_upload(self): if params.rxmode != self.rxmode_old: socket.write(struct.pack(' 0 + + + + + 200 + 30 + + + + + 200 + 30 + + + + Phase + + + false + + + + + + + + 200 + 30 + + + + + 200 + 16777215 + + + + Time + + + false + + + + + + + + 200 + 30 + + + + + 200 + 30 + + + + + true + + + + Imaging + + + Qt::AlignCenter + + + @@ -694,34 +765,6 @@ - - - - - 150 - 30 - - - - - 150 - 30 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - -31.000000000000000 - - - -1.000000000000000 - - - 0.250000000000000 - - - @@ -862,37 +905,6 @@ - - - - - 150 - 30 - - - - - 150 - 30 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 0 - - - 8500 - - - 100 - - - 1500 - - - @@ -955,33 +967,6 @@ - - - - - 200 - 30 - - - - - 200 - 30 - - - - - true - - - - Gradients - - - Qt::AlignCenter - - - @@ -1106,50 +1091,6 @@ - - - - - 150 - 30 - - - - - 150 - 30 - - - - Set to Tool Ref - - - false - - - - - - - - 200 - 30 - - - - - 200 - 30 - - - - GPE Step [mA] - - - Qt::AlignCenter - - - @@ -1184,59 +1125,6 @@ - - - - - 200 - 30 - - - - - 200 - 30 - - - - GS Amplitude [mA] - - - Qt::AlignCenter - - - - - - - - 150 - 30 - - - - - 150 - 30 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 0 - - - 300 - - - 5 - - - 60 - - - @@ -1387,9 +1275,9 @@ - - - + + + 200 30 @@ -1402,15 +1290,15 @@ - Readout BW Scaler + Z Qt::AlignCenter - - + + 200 @@ -1423,21 +1311,16 @@ 30 - - - true - - - Imaging + X Qt::AlignCenter - - + + 200 @@ -1450,21 +1333,16 @@ 30 - - - 11 - - - GRO Prephaser Length Scaler + Angle [°] Qt::AlignCenter - - + + 150 @@ -1477,22 +1355,16 @@ 30 - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 2.000000000000000 - - - 0.010000000000000 + + - - 1.000000000000000 + + false - - + + 200 @@ -1505,16 +1377,21 @@ 30 + + + true + + - GRO Amplitude [mA] + On Angle (Image Plane) Qt::AlignCenter - - + + 150 @@ -1530,22 +1407,35 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - 0 - - 4250 + 359 - - 100 + + + + + + + 150 + 30 + - - 2000 + + + 150 + 30 + + + + + + + false - - + + 200 @@ -1558,41 +1448,43 @@ 30 + + + true + + - Auto Gradients + On Axis Qt::AlignCenter - - + + - 150 + 200 30 - 150 + 200 30 - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 1 + + Auto Frequency Offset - - 4 + + Qt::AlignCenter - - + + 150 @@ -1605,46 +1497,38 @@ 30 - - - 12 - - - - Qt::RightToLeft - - ln (k-Space Mag) + false - - + + - 150 + 200 30 - 150 + 200 30 - + Y - - false + + Qt::AlignCenter - - + + 150 @@ -1660,19 +1544,41 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - 8500 + + 2 - - 100 + + 1000 - 5000 + 10 - - + + + + + 150 + 30 + + + + + 150 + 30 + + + + + + + false + + + + + 200 @@ -1685,16 +1591,22 @@ 30 + + + 75 + true + + - Spoiler Amplitude [mA] + Projections Qt::AlignCenter - - + + 200 @@ -1708,15 +1620,15 @@ - Crusher Amplitude [mA] + Slice / Slab Offset [mm] Qt::AlignCenter - - + + 150 @@ -1732,19 +1644,16 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - 8500 - - - 100 + + 1 - - 3000 + + -100.000000000000000 - - + + 200 @@ -1758,15 +1667,15 @@ - Shim X [mA] + RF Frequency Offset [Hz] Qt::AlignCenter - - + + 150 @@ -1783,15 +1692,18 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - -1000 + -100000 + 100000 + + 1000 - - + + 200 @@ -1805,15 +1717,15 @@ - Shim Y [mA] + Radial Angle Step [°] Qt::AlignCenter - - + + 150 @@ -1829,41 +1741,63 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - -1000 - - 1000 + 359 + + + 45 - - + + - 150 + 200 30 - 150 + 200 30 - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + RF Phase Offset [°] - - -1000 + + Qt::AlignCenter + + + + + + + + 150 + 30 + + + + + 150 + 30 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - 1000 + 359 + + + 1 - - + + 200 @@ -1877,15 +1811,43 @@ - Shim Z [mA] + 3D Slab Steps Qt::AlignCenter - - + + + + + 150 + 30 + + + + + 150 + 30 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 2 + + + 128 + + + 4 + + + + + 200 @@ -1898,16 +1860,21 @@ 30 + + + true + + - Shim Z² [mA] + Undersampling Qt::AlignCenter - - + + 150 @@ -1920,19 +1887,26 @@ 30 - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - -1000 + + + + + + + 150 + 30 + - - 1000 + + + 150 + 30 + - - + + 200 @@ -1945,16 +1919,46 @@ 30 + + + true + + - 3D GS Slab Step [mA] + k-Space Cut Qt::AlignCenter - - + + + + + 200 + 30 + + + + + 200 + 30 + + + + Qt::RightToLeft + + + Outside to 0 [%] + + + false + + + + + 150 @@ -1970,18 +1974,152 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + 1 + - 8500 + 100 - - 2 + + 10 + + + + + + + + 150 + 30 + + + + + 150 + 30 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 100 - 60 + 10 - + + + + + 200 + 30 + + + + + 200 + 30 + + + + Qt::RightToLeft + + + Center to 0 [%] + + + false + + + + + + + 0 + + + + + + 75 + 30 + + + + + 75 + 30 + + + + Circ + + + false + + + + + + + + 75 + 30 + + + + + 75 + 30 + + + + Rec + + + false + + + + + + + + + + 200 + 30 + + + + + 200 + 30 + + + + + 11 + + + + Qt::RightToLeft + + + Auto-Recenter (Imaging) + + + false + + + + @@ -2003,8 +2141,8 @@ - - + + 150 @@ -2027,12 +2165,12 @@ 100 - 2000 + 5000 - - + + 200 @@ -2046,15 +2184,15 @@ - Z + Auto Gradients Qt::AlignCenter - - + + 200 @@ -2067,19 +2205,69 @@ 30 - - Qt::RightToLeft - - Average + Crusher Amplitude [mA] - - false + + Qt::AlignCenter - - + + + + + 150 + 30 + + + + + 150 + 30 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 8500 + + + 100 + + + 3000 + + + + + + + + 150 + 30 + + + + + 150 + 30 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + -1000 + + + 1000 + + + + + 200 @@ -2093,15 +2281,74 @@ - X + Shim Z [mA] Qt::AlignCenter - - + + + + + 150 + 30 + + + + + 150 + 30 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 0 + + + 4250 + + + 100 + + + 2000 + + + + + + + + 150 + 30 + + + + + 150 + 30 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 8500 + + + 100 + + + 2000 + + + + + 200 @@ -2114,38 +2361,43 @@ 30 + + + 11 + + - Angle [°] + GRO Prephaser Length Scaler Qt::AlignCenter - - + + - 150 + 200 30 - 150 + 200 30 - + Readout BW Scaler - - false + + Qt::AlignCenter - - + + 200 @@ -2158,21 +2410,16 @@ 30 - - - true - - - On Angle (Image Plane) + 3D GS Slab Step [mA] Qt::AlignCenter - - + + 150 @@ -2189,34 +2436,40 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - 359 + 2.000000000000000 + + + 0.010000000000000 + + + 1.000000000000000 - - + + - 150 + 200 30 - 150 + 200 30 - + Shim Z² [mA] - - false + + Qt::AlignCenter - - + + 200 @@ -2229,21 +2482,16 @@ 30 - - - true - - - On Axis + Shim X [mA] Qt::AlignCenter - - + + 200 @@ -2257,15 +2505,15 @@ - Auto Frequency Offset + Shim Y [mA] Qt::AlignCenter - - + + 150 @@ -2286,8 +2534,8 @@ - - + + 200 @@ -2301,15 +2549,15 @@ - Y + GS Amplitude [mA] Qt::AlignCenter - - + + 150 @@ -2326,40 +2574,15 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - 2 + -1000 1000 - - 10 - - - - - - - - 150 - 30 - - - - - 150 - 30 - - - - - - - false - - - + + 200 @@ -2372,44 +2595,41 @@ 30 - - - 75 - true - - - Projections + GRO Amplitude [mA] Qt::AlignCenter - - + + - 200 + 150 30 - 200 + 150 30 - - Slice / Slab Offset [mm] - - Qt::AlignCenter + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + -1000 + + + 1000 - - + + 150 @@ -2425,38 +2645,44 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - 1 - - -100.000000000000000 + -1000 + + + 1000 - - + + - 200 + 150 30 - 200 + 150 30 - - RF Frequency Offset [Hz] - - Qt::AlignCenter + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 8500 + + + 2 + + + 60 - - + + 150 @@ -2473,18 +2699,21 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - -100000 + 0 - 100000 + 8500 - 1000 + 100 + + + 1500 - - + + 200 @@ -2498,15 +2727,15 @@ - Radial Angle Step [°] + GPE Step [mA] Qt::AlignCenter - - + + 150 @@ -2522,16 +2751,16 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - 359 + + 1 - - 45 + + 4 - - + + 200 @@ -2545,15 +2774,15 @@ - RF Phase Offset [°] + Spoiler Amplitude [mA] Qt::AlignCenter - - + + 150 @@ -2569,16 +2798,22 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + 0 + - 359 + 300 - 1 + 5 + + + 60 - - + + 200 @@ -2591,93 +2826,74 @@ 30 - - 3D Slab Steps - - - Qt::AlignCenter - - - - - - - - 150 - 30 - - - - - 150 - 30 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 2 + + Qt::RightToLeft - - 128 + + Average - - 4 + + false - - + + - 200 + 150 30 - 200 + 150 30 - - - true - + + Qt::LeftToRight - Undersampling + - - Qt::AlignCenter + + false - - + + - 200 + 150 30 - 200 - 16777215 + 150 + 30 + + + 12 + + + + Qt::LeftToRight + - Time + false - - + + 150 @@ -2690,26 +2906,41 @@ 30 + + Qt::LeftToRight + + + + + + false + - - + + - 150 + 200 30 - 150 + 200 30 + + Individual Plots + + + Qt::AlignCenter + - - + + 200 @@ -2723,15 +2954,15 @@ - Phase + Image Filter - - false + + Qt::AlignCenter - - + + 200 @@ -2744,21 +2975,16 @@ 30 - - - true - - - k-Space Cut + log k-Space Magnitude Qt::AlignCenter - - + + 200 @@ -2771,15 +2997,20 @@ 30 + + + true + + - RF Attenuation [dB] + Gradients Qt::AlignCenter - + 0 @@ -2830,30 +3061,8 @@ - - - - - 200 - 30 - - - - - 200 - 30 - - - - Outside to 0 [%] - - - false - - - - - + + 150 @@ -2866,22 +3075,16 @@ 30 - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 1 - - - 100 + + Set to Tool Ref - - 10 + + false - - + + 150 @@ -2898,18 +3101,18 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - 1 + -31.000000000000000 - 100 + -1.000000000000000 - - 10 + + 0.250000000000000 - - + + 200 @@ -2923,66 +3126,15 @@ - Center to 0 [%] + RF Attenuation [dB] - - false + + Qt::AlignCenter - - - - 0 - - - - - - 75 - 30 - - - - - 75 - 30 - - - - Circ - - - false - - - - - - - - 75 - 30 - - - - - 75 - 30 - - - - Rec - - - false - - - - - - - + + 200 @@ -2995,53 +3147,16 @@ 30 - - - 11 - - - Auto-Recenter (Imaging) + Rec RF Carrier (Exp.) - - false + + Qt::AlignCenter - - - - 0 - - - - - - 150 - 30 - - - - - 150 - 30 - - - - Qt::RightToLeft - - - Individual Plots - - - false - - - - - - - + + 150 @@ -3050,15 +3165,12 @@ - 150 + 1500 30 - - Qt::RightToLeft - - Image Filter + false