Skip to content

Commit 2688690

Browse files
authored
Merge pull request #1316 from AllenInstitute/bugfix/1316-wrong-conversion-pipette-resistance
Bugfix/1316 wrong conversion pipette resistance
2 parents d791016 + f33460a commit 2688690

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+863
-331
lines changed

Packages/MIES/MIES_AmplifierInteraction.ipf

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -132,50 +132,50 @@ Function AI_GetMCCScale(clampMode, func)
132132
if(clampMode == V_CLAMP_MODE)
133133
switch(func)
134134
case MCC_SETHOLDING_FUNC:
135-
return 1e-3
135+
return MILLI_TO_ONE
136136
case MCC_GETHOLDING_FUNC:
137-
return 1e+3
137+
return ONE_TO_MILLI
138138
case MCC_SETPIPETTEOFFSET_FUNC:
139-
return 1e-3
139+
return MILLI_TO_ONE
140140
case MCC_GETPIPETTEOFFSET_FUNC:
141141
case MCC_AUTOPIPETTEOFFSET_FUNC:
142-
return 1e+3
142+
return ONE_TO_MILLI
143143
case MCC_SETRSCOMPBANDWIDTH_FUNC:
144-
return 1e+3
144+
return ONE_TO_MILLI
145145
case MCC_GETRSCOMPBANDWIDTH_FUNC:
146-
return 1e-3
146+
return MILLI_TO_ONE
147147
case MCC_SETWHOLECELLCOMPRESIST_FUNC:
148-
return 1e+6
148+
return ONE_TO_MICRO
149149
case MCC_GETWHOLECELLCOMPRESIST_FUNC:
150-
return 1e-6
150+
return MICRO_TO_ONE
151151
case MCC_SETWHOLECELLCOMPCAP_FUNC:
152-
return 1e-12
152+
return PICO_TO_ONE
153153
case MCC_GETWHOLECELLCOMPCAP_FUNC:
154-
return 1e+12
154+
return ONE_TO_PICO
155155
default:
156156
return 1
157157
break
158158
endswitch
159159
else // IC and I=0
160160
switch(func)
161161
case MCC_SETBRIDGEBALRESIST_FUNC:
162-
return 1e+6
162+
return ONE_TO_MICRO
163163
case MCC_GETBRIDGEBALRESIST_FUNC:
164164
case MCC_AUTOBRIDGEBALANCE_FUNC:
165-
return 1e-6
165+
return MICRO_TO_ONE
166166
case MCC_SETHOLDING_FUNC:
167-
return 1e-12
167+
return PICO_TO_ONE
168168
case MCC_GETHOLDING_FUNC:
169-
return 1e+12
169+
return ONE_TO_PICO
170170
case MCC_SETPIPETTEOFFSET_FUNC:
171-
return 1e-3
171+
return MILLI_TO_ONE
172172
case MCC_GETPIPETTEOFFSET_FUNC:
173173
case MCC_AUTOPIPETTEOFFSET_FUNC:
174-
return 1e+3
174+
return ONE_TO_MILLI
175175
case MCC_SETNEUTRALIZATIONCAP_FUNC:
176-
return 1e-12
176+
return PICO_TO_ONE
177177
case MCC_GETNEUTRALIZATIONCAP_FUNC:
178-
return 1e+12
178+
return ONE_TO_PICO
179179
default:
180180
return 1
181181
break
@@ -718,8 +718,9 @@ static Function AI_MIESAutoPipetteOffset(device, headStage)
718718
clampMode = DAG_GetHeadstageMode(device, headStage)
719719

720720
ASSERT(clampMode == V_CLAMP_MODE || clampMode == I_CLAMP_MODE, "Headstage must be in VC/IC mode to use this function")
721-
//calculate delta current to reach zero
722-
vdelta = (TPResults[%BaselineSteadyState][headstage] * TPResults[%ResistanceSteadyState][headstage]) / 1000 // set to mV
721+
// calculate delta current to reach zero
722+
// @todo check for IC
723+
vdelta = ((TPResults[%BaselineSteadyState][headstage] * PICO_TO_ONE) * (TPResults[%ResistanceSteadyState][headstage] * MEGA_TO_ONE)) * ONE_TO_MILLI
723724
// get current DC V offset
724725
offset = AI_SendToAmp(device, headStage, clampMode, MCC_GETPIPETTEOFFSET_FUNC, nan)
725726
// add delta to current DC V offset
@@ -972,13 +973,13 @@ static Function AI_RetrieveGains(device, headstage, clampMode, ADGain, DAGain)
972973

973974
ASSERT(clampMode == tds.OperatingMode, "Non matching clamp mode from MCC application")
974975

975-
ADGain = tds.ScaleFactor * tds.Alpha / 1000
976+
ADGain = tds.ScaleFactor * tds.Alpha / ONE_TO_MILLI
976977
clampMode = tds.OperatingMode
977978

978979
if(tds.OperatingMode == V_CLAMP_MODE)
979-
DAGain = tds.ExtCmdSens * 1000
980+
DAGain = tds.ExtCmdSens * ONE_TO_MILLI
980981
elseif(tds.OperatingMode == I_CLAMP_MODE || tds.OperatingMode == I_EQUAL_ZERO_MODE)
981-
DAGain =tds.ExtCmdSens * 1e12
982+
DAGain = tds.ExtCmdSens * ONE_TO_PICO
982983
endif
983984
End
984985

@@ -1570,15 +1571,15 @@ Function AI_FillAndSendAmpliferSettings(device, sweepNo)
15701571
ampSettingsWave[0][23][i] = tds.ScaleFactor
15711572
ampSettingsWave[0][24][i] = tds.ScaleFactorUnits
15721573
ampSettingsWave[0][25][i] = tds.LPFCutoff
1573-
ampSettingsWave[0][26][i] = tds.MembraneCap * 1e+12 // converts F to pF
1574+
ampSettingsWave[0][26][i] = tds.MembraneCap * ONE_TO_PICO // converts F to pF
15741575
ampSettingsWave[0][27][i] = tds.ExtCmdSens
15751576
ampSettingsWave[0][28][i] = tds.RawOutSignal
15761577
ampSettingsWave[0][29][i] = tds.RawScaleFactor
15771578
ampSettingsWave[0][30][i] = tds.RawScaleFactorUnits
15781579
ampSettingsWave[0][31][i] = tds.HardwareType
15791580
ampSettingsWave[0][32][i] = tds.SecondaryAlpha
15801581
ampSettingsWave[0][33][i] = tds.SecondaryLPFCutoff
1581-
ampSettingsWave[0][34][i] = tds.SeriesResistance * 1e-6 // converts Ω to MΩ
1582+
ampSettingsWave[0][34][i] = tds.SeriesResistance * ONE_TO_MEGA // converts Ω to MΩ
15821583

15831584
ampSettingsTextWave[0][0][i] = tds.OperatingModeString
15841585
ampSettingsTextWave[0][1][i] = tds.ScaledOutSignalString

Packages/MIES/MIES_AnalysisBrowser.ipf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1852,7 +1852,7 @@ static Function AB_LoadSweepFromNWBgeneric(h5_groupID, nwbVersion, channelList,
18521852

18531853
configSweep[numEntries][%type] = p.channelType
18541854
configSweep[numEntries][%number] = p.channelNumber
1855-
configSweep[numEntries][%timeMS] = trunc(DimDelta(loaded, ROWS) * 1000)
1855+
configSweep[numEntries][%timeMS] = trunc(DimDelta(loaded, ROWS) * ONE_TO_MILLI)
18561856
configSweep[numEntries][3] = -1 // -1 for faked Config_Sweeps Waves
18571857

18581858
// set unit in config_wave from WaveNote of loaded dataset

Packages/MIES/MIES_AnalysisFunctions.ipf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ Function SetDAScale(device, headstage, [absolute, relative, offset, roundTopA])
959959
ctrl = GetPanelControl(DAC, CHANNEL_TYPE_DAC, CHANNEL_CONTROL_SCALE)
960960

961961
if(!ParamIsDefault(absolute))
962-
amps = absolute / 1e-12
962+
amps = absolute * ONE_TO_PICO
963963
elseif(!ParamIsDefault(relative))
964964
lbl = GetSpecialControlLabel(CHANNEL_TYPE_DAC, CHANNEL_CONTROL_SCALE)
965965
amps = DAG_GetNumericalValue(device, lbl, index = DAC) * relative

Packages/MIES/MIES_AnalysisFunctions_Dashboard.ipf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,10 +1000,10 @@ Function AD_PlotBounds(string browser, variable sweepNo)
10001000
Make/O/N=2 dfr:chirpBoundLowerMin/WAVE=lowerMin
10011001

10021002
// V -> mV
1003-
upperMax[] = baselineVoltage * 1e3 + outerRelativeBound
1004-
upperMin[] = baselineVoltage * 1e3 + innerRelativeBound
1005-
lowerMax[] = baselineVoltage * 1e3 - innerRelativeBound
1006-
lowerMin[] = baselineVoltage * 1e3 - outerRelativeBound
1003+
upperMax[] = baselineVoltage * ONE_TO_MILLI + outerRelativeBound
1004+
upperMin[] = baselineVoltage * ONE_TO_MILLI + innerRelativeBound
1005+
lowerMax[] = baselineVoltage * ONE_TO_MILLI - innerRelativeBound
1006+
lowerMin[] = baselineVoltage * ONE_TO_MILLI - outerRelativeBound
10071007

10081008
GetAxis/W=$graph/Q bottom
10091009
lastX = V_max

Packages/MIES/MIES_AnalysisFunctions_MultiPatchSeq.ipf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -766,7 +766,7 @@ Function MSQ_FastRheoEst(device, s)
766766
key = CreateAnaFuncLBNKey(MSQ_FAST_RHEO_EST, MSQ_FMT_LBN_STEPSIZE, query = 1)
767767
WAVE stepSize = GetLastSettingSCI(numericalValues, s.sweepNo, key, s.headstage, UNKNOWN_MODE)
768768
WAVE DAScale = GetLastSetting(numericalValues, s.sweepNo, STIMSET_SCALE_FACTOR_KEY, DATA_ACQUISITION_MODE)
769-
DAScale[] *= 1e-12
769+
DAScale[] *= PICO_TO_ONE
770770

771771
totalOnsetDelay = GetTotalOnsetDelay(numericalValues, s.sweepNo)
772772
WAVE statusHSIC = DAG_GetActiveHeadstages(device, I_CLAMP_MODE)
@@ -827,7 +827,7 @@ Function MSQ_FastRheoEst(device, s)
827827

828828
ASSERT(IsFinite(newDAScaleValue), "Unexpected newDAScaleValue")
829829

830-
maxDAScale = AFH_GetAnalysisParamNumerical("MaximumDAScale", s.params) * 1e-12
830+
maxDAScale = AFH_GetAnalysisParamNumerical("MaximumDAScale", s.params) * PICO_TO_ONE
831831

832832
if(IsFinite(maxDAScale) && newDAScaleValue > maxDAScale)
833833
rangeExceededNew[i] = 1
@@ -931,9 +931,9 @@ Function MSQ_FastRheoEst(device, s)
931931
if(WaveExists(finalDAScaleAll))
932932
WAVE finalDAScale = ZapNaNs(finalDAScaleAll)
933933
ASSERT(DimSize(finalDAScale, ROWS) == 1, "Unexpected finalDAScale")
934-
val = max(postDAQDAScaleFactor * finalDAScale[0], minRheoOffset * 1e-12 + finalDAScale[0])
934+
val = max(postDAQDAScaleFactor * finalDAScale[0], minRheoOffset * PICO_TO_ONE + finalDAScale[0])
935935
else
936-
val = AFH_GetAnalysisParamNumerical("PostDAQDAScaleForFailedHS", s.params) * 1e-12
936+
val = AFH_GetAnalysisParamNumerical("PostDAQDAScaleForFailedHS", s.params) * PICO_TO_ONE
937937
endif
938938

939939
SetDAScale(device, i, absolute=val)
@@ -999,7 +999,7 @@ static Function/WAVE MSQ_DS_GetDAScaleOffset(device, headstage)
999999

10001000
WAVE numericalValues = GetLBNumericalValues(device)
10011001

1002-
values[0, NUM_HEADSTAGES - 1] = MSQ_GetLBNEntryForHeadstageSCI(numericalValues, sweepNo, MSQ_FAST_RHEO_EST, MSQ_FMT_LBN_FINAL_SCALE, p) * 1e12
1002+
values[0, NUM_HEADSTAGES - 1] = MSQ_GetLBNEntryForHeadstageSCI(numericalValues, sweepNo, MSQ_FAST_RHEO_EST, MSQ_FMT_LBN_FINAL_SCALE, p) * ONE_TO_PICO
10031003

10041004
return values
10051005
End
@@ -1299,7 +1299,7 @@ Function MSQ_DAScale(device, s)
12991299
index = mod(DAScalesIndex[i], DimSize(DAScales, ROWS))
13001300

13011301
ASSERT(isFinite(daScaleOffset[i]), "DAScale offset is non-finite")
1302-
SetDAScale(device, i, absolute=(DAScales[index] + daScaleOffset[i]) * 1e-12)
1302+
SetDAScale(device, i, absolute=(DAScales[index] + daScaleOffset[i]) * PICO_TO_ONE)
13031303
DAScalesIndex[i] += 1
13041304
endfor
13051305
endif

Packages/MIES/MIES_AnalysisFunctions_MultiPatchSeq_SpikeControl.ipf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,9 @@ static Function [WAVE/T spikeNumbersLBN, WAVE/T spikePositionsLBN] SC_GetSpikeNu
319319

320320
if(numSpikes > 0)
321321
// convert spike positions to 0-100 coordinates (aka pulse active coordinate system)
322-
Make/FREE/D/N=(numSpikes) spikePositionsPUCrd = (spikePositions[p] - pulseStart) / (pulseEnd - pulseStart) * 100
322+
Make/FREE/D/N=(numSpikes) spikePositionsPUCrd = (spikePositions[p] - pulseStart) / (pulseEnd - pulseStart) * ONE_TO_PERCENT
323323
// round to one decimal digit
324-
spikePositionsPUCrd[] = round(spikePositionsPUCrd[p] * 10) / 10
324+
spikePositionsPUCrd[] = round(spikePositionsPUCrd[p] * 10) / 10 // NOLINT
325325

326326
SC_AddPulseRegionLBNEntries(spikePositionsLBN, pulseIndex, region, headstageProp, data = spikePositionsPUCrd)
327327
endif

0 commit comments

Comments
 (0)