From 818333419faced7f615182412f07e22dcb5e28ca Mon Sep 17 00:00:00 2001 From: Yves Gouriou <yves.gouriou@ird.fr> Date: Fri, 13 Feb 2009 15:39:09 +0000 Subject: [PATCH] correction bug : conserve les pentes et offset de la calbiration --- TSGQC_amelioration.xls | Bin 24064 -> 24064 bytes tsg_util/calibration.m | 2 +- tsgqc.m | 51 +++++++++++++++++++++++++++++++---------- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/TSGQC_amelioration.xls b/TSGQC_amelioration.xls index 6b2032b91db35c5af046d286a915d0ab94e4baf8..045276dbd9d42b182f7d9d94da79eec656c13d95 100644 GIT binary patch delta 5018 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 Wws(Cd{m$}d<=FDEtuHPNSpNexB$1B* delta 4786 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 diff --git a/tsg_util/calibration.m b/tsg_util/calibration.m index ffbe13d..283d544 100644 --- a/tsg_util/calibration.m +++ b/tsg_util/calibration.m @@ -28,7 +28,7 @@ for i = 1:3 if ~isempty( tsg.(PARA(i,:)) ) - para1 = [PARA(i,:) '_LINCOEF']; + para1 = [PARA(i,:) '_LINCOEF_NEW']; para2 = [PARA(i,:) '_CAL']; % If the Slope = 1 and the offset = 0 : No calibration diff --git a/tsgqc.m b/tsgqc.m index aee96d8..eacf18a 100644 --- a/tsgqc.m +++ b/tsgqc.m @@ -1518,6 +1518,19 @@ hrbInterpCancel = uicontrol( ... set( hetCalSSJTOffset, 'String', num2str(tsg.SSJT_LINCOEF(2))); set( hetCalSSTPSlope, 'String', num2str(tsg.SSTP_LINCOEF(1))); set( hetCalSSTPOffset, 'String', num2str(tsg.SSTP_LINCOEF(2))); + + % Intermediate variables + % ---------------------- + tsg.CNDC_LINCOEF_NEW(1) = str2num(get( hetCalCNDCSlope, 'String')); + tsg.CNDC_LINCOEF_NEW(2) = str2num(get( hetCalCNDCOffset, 'String')); + tsg.SSJT_LINCOEF_NEW(1) = str2num(get( hetCalSSJTSlope, 'String')); + tsg.SSJT_LINCOEF_NEW(2) = str2num(get( hetCalSSJTOffset, 'String')); + tsg.SSTP_LINCOEF_NEW(1) = str2num(get( hetCalSSTPSlope, 'String')); + tsg.SSTP_LINCOEF_NEW(2) = str2num(get( hetCalSSTPOffset, 'String')); + + % Save tsg application data + % -------------------------- + setappdata( hMainFig, 'tsg_data', tsg ); end @@ -1551,12 +1564,16 @@ hrbInterpCancel = uicontrol( ... % Save the calibration coefficient % -------------------------------- - tsg.CNDC_LINCOEF(1) = str2num(get( hetCalCNDCSlope, 'String')); - tsg.CNDC_LINCOEF(2) = str2num(get( hetCalCNDCOffset, 'String')); - tsg.SSJT_LINCOEF(1) = str2num(get( hetCalSSJTSlope, 'String')); - tsg.SSJT_LINCOEF(2) = str2num(get( hetCalSSJTOffset, 'String')); - tsg.SSTP_LINCOEF(1) = str2num(get( hetCalSSTPSlope, 'String')); - tsg.SSTP_LINCOEF(2) = str2num(get( hetCalSSTPOffset, 'String')); + tsg.CNDC_LINCOEF(1) = tsg.CNDC_LINCOEF_NEW(1); + tsg.CNDC_LINCOEF(2) = tsg.CNDC_LINCOEF_NEW(2); + tsg.SSJT_LINCOEF(1) = tsg.SSJT_LINCOEF_NEW(1); + tsg.SSJT_LINCOEF(2) = tsg.SSJT_LINCOEF_NEW(2); + tsg.SSTP_LINCOEF(1) = tsg.SSTP_LINCOEF_NEW(1); + tsg.SSTP_LINCOEF(2) = tsg.SSTP_LINCOEF_NEW(2); + + tsg.CNDC_LINCOEF_NEW = []; + tsg.SSJT_LINCOEF_NEW = []; + tsg.SSTP_LINCOEF_NEW = []; % Save tsg application data % -------------------------- @@ -1568,6 +1585,7 @@ hrbInterpCancel = uicontrol( ... plot_Validation( hMainFig, hPlotAxes, 2, tsg.plot.parameter{2} ); plot_Validation( hMainFig, hPlotAxes, 3, tsg.plot.parameter{3} ); + end %% CalibrateCallback .......................................... Calibration @@ -1581,12 +1599,12 @@ hrbInterpCancel = uicontrol( ... % Get the calibration coefficients. % They will be used in the function calibration % --------------------------------------------- - tsg.CNDC_LINCOEF(1) = str2num(get( hetCalCNDCSlope, 'String')); - tsg.CNDC_LINCOEF(2) = str2num(get( hetCalCNDCOffset, 'String')); - tsg.SSJT_LINCOEF(1) = str2num(get( hetCalSSJTSlope, 'String')); - tsg.SSJT_LINCOEF(2) = str2num(get( hetCalSSJTOffset, 'String')); - tsg.SSTP_LINCOEF(1) = str2num(get( hetCalSSTPSlope, 'String')); - tsg.SSTP_LINCOEF(2) = str2num(get( hetCalSSTPOffset, 'String')); + tsg.CNDC_LINCOEF_NEW(1) = str2num(get( hetCalCNDCSlope, 'String')); + tsg.CNDC_LINCOEF_NEW(2) = str2num(get( hetCalCNDCOffset, 'String')); + tsg.SSJT_LINCOEF_NEW(1) = str2num(get( hetCalSSJTSlope, 'String')); + tsg.SSJT_LINCOEF_NEW(2) = str2num(get( hetCalSSJTOffset, 'String')); + tsg.SSTP_LINCOEF_NEW(1) = str2num(get( hetCalSSTPSlope, 'String')); + tsg.SSTP_LINCOEF_NEW(2) = str2num(get( hetCalSSTPOffset, 'String')); % Save tsg application data % -------------------------- @@ -1634,6 +1652,15 @@ hrbInterpCancel = uicontrol( ... % Update the Adjusted variables % ----------------------------- % updateAdjustedVariable( hMainFig ); + + % Write the Cal Coef in the Editable uicontrol + % -------------------------------------------- + set( hetCalCNDCSlope, 'String', num2str(tsg.CNDC_LINCOEF(1))); + set( hetCalCNDCOffset, 'String', num2str(tsg.CNDC_LINCOEF(2))); + set( hetCalSSJTSlope, 'String', num2str(tsg.SSJT_LINCOEF(1))); + set( hetCalSSJTOffset, 'String', num2str(tsg.SSJT_LINCOEF(2))); + set( hetCalSSTPSlope, 'String', num2str(tsg.SSTP_LINCOEF(1))); + set( hetCalSSTPOffset, 'String', num2str(tsg.SSTP_LINCOEF(2))); % Refresh plot #1 % --------------- -- GitLab