diff --git a/API/checkIndices.m b/API/checkIndices.m index aeedc79c3..071f30c35 100644 --- a/API/checkIndices.m +++ b/API/checkIndices.m @@ -65,7 +65,7 @@ function checkIndices(problemStruct, customFiles) numDomainRatios = length(problemStruct.domainRatios); for i = 1:length(problemStruct.contrastDomainRatios) index = problemStruct.contrastDomainRatios(i); - if (index < 1 && index ~= -1) || index > numDomainRatios + if index < 1 || index > numDomainRatios throw(exceptions.indexOutOfRange(sprintf('contrastDomainRatios(%i) is %i, which is outside the range of domainRatio', i, index))); end end diff --git a/API/parseClassToStructs.m b/API/parseClassToStructs.m index 540317d5a..2134b644a 100644 --- a/API/parseClassToStructs.m +++ b/API/parseClassToStructs.m @@ -202,7 +202,7 @@ if isa(project, 'domainsClass') problemStruct.domainRatios = inputStruct.domainRatioValues; else - problemStruct.domainRatios = ones(1,0); + problemStruct.domainRatios = zeros(1,1); end if isa(project, 'domainsClass') && isa(project.domainContrasts, 'domainContrastsClass') @@ -210,7 +210,7 @@ problemStruct.domainContrastLayers = inputStruct.domainContrastLayers; else problemStruct.numberOfDomainContrasts = 0; - problemStruct.domainContrastLayers = cell(1, 0); + problemStruct.domainContrastLayers = cell(1,0); end % Initialise the lists of fitting parameters diff --git a/API/projectClass/contrastsClass.m b/API/projectClass/contrastsClass.m index abb6597c9..cebc22fda 100644 --- a/API/projectClass/contrastsClass.m +++ b/API/projectClass/contrastsClass.m @@ -85,7 +85,7 @@ contrastBackgroundActions = cell(1,nContrasts); contrastBulkIns = ones(1,nContrasts); contrastBulkOuts = ones(1,nContrasts); - contrastDomainRatios = zeros(1,nContrasts); + contrastDomainRatios = ones(1,nContrasts); contrastScalefactors = ones(1,nContrasts); contrastResolutions = ones(1,nContrasts); resample = ones(1,nContrasts); @@ -123,8 +123,6 @@ if isfield(thisContrast, 'domainRatio') contrastDomainRatios(i) = obj.findParameterIndex(thisContrast.domainRatio, allowedNames.domainRatioNames, "domain ratio"); - else - contrastDomainRatios(i) = -1; end contrastBackgrounds(i) = obj.findParameterIndex(thisContrast.background, allowedNames.backgroundNames, "background"); diff --git a/targetFunctions/+domainsTF/domainsReflectivity.m b/targetFunctions/+domainsTF/domainsReflectivity.m index df1600a01..82ff486ad 100644 --- a/targetFunctions/+domainsTF/domainsReflectivity.m +++ b/targetFunctions/+domainsTF/domainsReflectivity.m @@ -1,7 +1,6 @@ function [reflectivity,simulation,shiftedData,backgrounds,resolutions,... - domainSldProfiles,domainLayers,domainResampledLayers,qzshifts,... - scalefactors,bulkIns,bulkOuts,subRoughs,chis... - ] = domainsReflectivity(problemStruct,controls) + sldProfiles,layers,resampledLayers,qzshifts,scalefactors,bulkIns,... + bulkOuts,subRoughs,chis] = domainsReflectivity(problemStruct,controls) % This is the main domains reflectivity calculation. % It extracts the required parameters for the contrasts % from the input arrays, then passes the main calculation to @@ -11,13 +10,12 @@ % Extract parameters from problemStruct [numberOfContrasts, geometry, contrastBackgroundIndices,... - contrastResolutionIndices, contrastDomainRatioIndices, backgroundParamValues,... - resolutionParamValues, qzshifts, scalefactors, bulkIns, bulkOuts,... - domainRatioValues, dataPresent, nParams, paramValues, resample,... - contrastBackgroundTypes, contrastBackgroundActions,... + contrastResolutionIndices, backgroundParamValues, resolutionParamValues,... + qzshifts, scalefactors, bulkIns, bulkOuts, domainRatios, dataPresent,... + nParams, paramValues, resample, contrastBackgroundTypes, contrastBackgroundActions,... contrastResolutionTypes, contrastCustomFiles, useImaginary, repeatLayers,... - data, dataLimits, simulationLimits, inputContrastLayers, layersDetails,... - customFiles, domainContrastLayers] = extractProblemParams(problemStruct); + data, dataLimits, simulationLimits, inputContrastLayers, customFiles,... + domainContrastLayers] = extractProblemParams(problemStruct); calcSld = controls.calcSldDuringFit; parallel = controls.parallel; @@ -26,7 +24,6 @@ resampleNPoints = controls.resampleNPoints; % Allocate the memory for the output arrays before the main loop - domainRatios = zeros(numberOfContrasts,1); subRoughs = zeros(numberOfContrasts,1); chis = zeros(numberOfContrasts,1); @@ -35,14 +32,9 @@ shiftedData = cell(numberOfContrasts,1); backgrounds = cell(numberOfContrasts,1); resolutions = cell(numberOfContrasts,1); - - domainSldProfiles = cell(numberOfContrasts,2); - domainLayers = cell(numberOfContrasts,2); - domainResampledLayers = cell(numberOfContrasts,2); - - sldProfiles = cell(numberOfContrasts,1); - layers = cell(numberOfContrasts,1); - resampledLayers = cell(numberOfContrasts,1); + sldProfiles = cell(numberOfContrasts,2); + layers = cell(numberOfContrasts,2); + resampledLayers = cell(numberOfContrasts,2); contrastLayers1 = cell(numberOfContrasts,1); contrastLayers2 = cell(numberOfContrasts,1); @@ -50,6 +42,10 @@ contrastSlds1 = cell(numberOfContrasts,1); contrastSlds2 = cell(numberOfContrasts,1); + domainSldProfiles = cell(numberOfContrasts,1); + domainLayers = cell(numberOfContrasts,1); + domainResampledLayers = cell(numberOfContrasts,1); + for i = 1:numberOfContrasts shiftedData{i} = zeros(1,3); @@ -63,17 +59,12 @@ contrastSlds1{i} = zeros(1,3); contrastSlds2{i} = zeros(1,3); - domainLayers{i,1} = zeros(1,6); - domainLayers{i,2} = zeros(1,6); + layers{i,1} = zeros(1,6); + layers{i,2} = zeros(1,6); - domainResampledLayers{i,1} = zeros(1,6); - domainResampledLayers{i,2} = zeros(1,6); + resampledLayers{i,1} = zeros(1,6); + resampledLayers{i,2} = zeros(1,6); - % Get the domain ratio for this contrast - if isempty(contrastDomainRatioIndices(i)) - contrastDomainRatioIndices(i) = 1; - end - domainRatios(i) = domainRatioValues(contrastDomainRatioIndices(i)); end %% Obtain model specific parameters @@ -86,7 +77,7 @@ % parameters to all the layers in the layers list. This only % needs to be done once, and so is done outside the contrasts % loop - layerValues = allocateParamsToLayers(paramValues, layersDetails); + layerValues = allocateParamsToLayers(paramValues, problemStruct.layersDetails); for i = 1:numberOfContrasts @@ -145,12 +136,13 @@ data{i},dataLimits{i},simulationLimits{i},numSimulationPoints); [reflectivity{i},simulation{i},shiftedData{i},... - sldProfiles{i},layers{i},resampledLayers{i},... - chis(i)] = contrastCustomXYCalculation(bulkIns(i),... - bulkOuts(i),domainRatios(i),shiftedData{i},simulationXData,... - dataIndices,backgrounds{i},resolutions{i},... - contrastBackgroundActions{i},nParams,parallel,resampleMinAngle,... - resampleNPoints,subRoughs(i),contrastSlds1{i},contrastSlds2{i}); + domainSldProfiles{i},domainLayers{i},... + domainResampledLayers{i},chis(i)... + ] = contrastCustomXYCalculation(bulkIns(i),bulkOuts(i),... + domainRatios(i),shiftedData{i},simulationXData,dataIndices,... + backgrounds{i},resolutions{i},contrastBackgroundActions{i},... + nParams,parallel,resampleMinAngle,resampleNPoints,... + subRoughs(i),contrastSlds1{i},contrastSlds2{i}); end @@ -168,12 +160,13 @@ data{i},dataLimits{i},simulationLimits{i},numSimulationPoints); [reflectivity{i},simulation{i},shiftedData{i},... - sldProfiles{i},layers{i},resampledLayers{i},... - chis(i)] = contrastCustomXYCalculation(bulkIns(i),... - bulkOuts(i),domainRatios(i),shiftedData{i},simulationXData,... - dataIndices,backgrounds{i},resolutions{i},... - contrastBackgroundActions{i},nParams,parallel,resampleMinAngle,... - resampleNPoints,subRoughs(i),contrastSlds1{i},contrastSlds2{i}); + domainSldProfiles{i},domainLayers{i},... + domainResampledLayers{i},chis(i)... + ] = contrastCustomXYCalculation(bulkIns(i),bulkOuts(i),... + domainRatios(i),shiftedData{i},simulationXData,dataIndices,... + backgrounds{i},resolutions{i},contrastBackgroundActions{i},... + nParams,parallel,resampleMinAngle,resampleNPoints,... + subRoughs(i),contrastSlds1{i},contrastSlds2{i}); end @@ -195,7 +188,7 @@ data{i},dataLimits{i},simulationLimits{i},numSimulationPoints); [reflectivity{i},simulation{i},shiftedData{i},... - sldProfiles{i},layers{i},resampledLayers{i},... + domainSldProfiles{i},domainLayers{i},domainResampledLayers{i},... chis(i)] = contrastLayersCalculation(bulkIns(i),bulkOuts(i),... domainRatios(i),shiftedData{i},simulationXData,dataIndices,... backgrounds{i},resolutions{i},repeatLayers(i),... @@ -220,7 +213,7 @@ data{i},dataLimits{i},simulationLimits{i},numSimulationPoints); [reflectivity{i},simulation{i},shiftedData{i},... - sldProfiles{i},layers{i},resampledLayers{i},... + domainSldProfiles{i},domainLayers{i},domainResampledLayers{i},... chis(i)] = contrastLayersCalculation(bulkIns(i),bulkOuts(i),... domainRatios(i),shiftedData{i},simulationXData,dataIndices,... backgrounds{i},resolutions{i},repeatLayers(i),... @@ -236,9 +229,9 @@ for i = 1:numberOfContrasts for j = 1:2 - domainSldProfiles{i,j} = sldProfiles{i}{j}; - domainLayers{i,j} = layers{i}{j}; - domainResampledLayers{i,j} = resampledLayers{i}{j}; + sldProfiles{i,j} = domainSldProfiles{i}{j}; + layers{i,j} = domainLayers{i}{j}; + resampledLayers{i,j} = domainResampledLayers{i}{j}; end end @@ -246,8 +239,8 @@ if ~useImaginary for i=1:numberOfContrasts for j = 1:2 - domainLayers{i,j}(:,3) = []; - domainResampledLayers{i,j}(:,3) = []; + layers{i,j}(:,3) = []; + resampledLayers{i,j}(:,3) = []; end end end diff --git a/targetFunctions/+normalTF/normalReflectivity.m b/targetFunctions/+normalTF/normalReflectivity.m index eeb69b79b..1b5856c65 100644 --- a/targetFunctions/+normalTF/normalReflectivity.m +++ b/targetFunctions/+normalTF/normalReflectivity.m @@ -10,12 +10,12 @@ % Extract parameters from problemStruct [numberOfContrasts, geometry, contrastBackgroundIndices,... - contrastResolutionIndices, ~, backgroundParamValues, resolutionParamValues,... + contrastResolutionIndices, backgroundParamValues, resolutionParamValues,... qzshifts, scalefactors, bulkIns, bulkOuts, ~, dataPresent, nParams,... paramValues, resample, contrastBackgroundTypes, contrastBackgroundActions,... contrastResolutionTypes, contrastCustomFiles, useImaginary, repeatLayers,... - data, dataLimits, simulationLimits, contrastLayersIndices, layersDetails,... - customFiles, ~] = extractProblemParams(problemStruct); + data, dataLimits, simulationLimits, contrastLayersIndices, customFiles,... + ~] = extractProblemParams(problemStruct); calcSld = controls.calcSldDuringFit; parallel = controls.parallel; @@ -57,7 +57,7 @@ % parameters to all the layers in the layers list. This only % needs to be done once, and so is done outside the contrasts % loop - layerValues = allocateParamsToLayers(paramValues, layersDetails); + layerValues = allocateParamsToLayers(paramValues, problemStruct.layersDetails); for i = 1:numberOfContrasts diff --git a/targetFunctions/common/extractProblemParams.m b/targetFunctions/common/extractProblemParams.m index 95f47af0c..509bf9bf7 100644 --- a/targetFunctions/common/extractProblemParams.m +++ b/targetFunctions/common/extractProblemParams.m @@ -1,7 +1,9 @@ function [numberOfContrasts, geometry, contrastBackgroundParams,... -contrastResolutionParams, contrastDomainRatios, backgroundParams, resolutionParams, qzshifts, scalefactors, bulkIns, bulkOuts,... -domainRatios, dataPresent, nParams, params, resample, contrastBackgroundTypes, contrastBackgroundActions, contrastResolutionTypes,... -contrastCustomFiles, useImaginary, repeatLayers, data, dataLimits, simulationLimits, contrastLayers, layersDetails, customFiles, domainContrastLayers] = extractProblemParams(problemStruct) +contrastResolutionParams, backgroundParams, resolutionParams, qzshifts,... +scalefactors, bulkIns, bulkOuts, domainRatios, dataPresent, nParams, params,... +resample, contrastBackgroundTypes, contrastBackgroundActions, contrastResolutionTypes,... +contrastCustomFiles, useImaginary, repeatLayers, data, dataLimits, simulationLimits,... +contrastLayers, customFiles, domainContrastLayers] = extractProblemParams(problemStruct) resample = problemStruct.resample; data = problemStruct.data; @@ -17,7 +19,6 @@ contrastBackgroundActions = problemStruct.contrastBackgroundActions; contrastResolutionParams = problemStruct.contrastResolutionParams; contrastResolutionTypes = problemStruct.contrastResolutionTypes; -contrastDomainRatios = problemStruct.contrastDomainRatios; backgroundParams = problemStruct.backgroundParams; resolutionParams = problemStruct.resolutionParams; nParams = length(problemStruct.params); @@ -25,8 +26,6 @@ contrastLayers = problemStruct.contrastLayers; customFiles = problemStruct.customFiles; contrastCustomFiles = problemStruct.contrastCustomFiles; -layersDetails = problemStruct.layersDetails; -domainRatios = problemStruct.domainRatios; domainContrastLayers = problemStruct.domainContrastLayers; @@ -38,15 +37,18 @@ contrastScalefactors = problemStruct.contrastScalefactors; contrastBulkIns = problemStruct.contrastBulkIns; contrastBulkOuts = problemStruct.contrastBulkOuts; +contrastDomainRatios = problemStruct.contrastDomainRatios; scalefactorValues = problemStruct.scalefactors; bulkInValues = problemStruct.bulkIns; bulkOutValues = problemStruct.bulkOuts; +domainRatioValues = problemStruct.domainRatios; % Find the actual values from the indices given in each contrast qzshifts = qzshiftValues(contrastQzshifts)'; scalefactors = scalefactorValues(contrastScalefactors)'; bulkIns = bulkInValues(contrastBulkIns)'; bulkOuts = bulkOutValues(contrastBulkOuts)'; +domainRatios = domainRatioValues(contrastDomainRatios)'; end diff --git a/tests/domainsTFReflectivityCalculation/domainsCustomLayersInputs.mat b/tests/domainsTFReflectivityCalculation/domainsCustomLayersInputs.mat index a92f79655..023253c58 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsCustomLayersInputs.mat and b/tests/domainsTFReflectivityCalculation/domainsCustomLayersInputs.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsCustomLayersOutputs.mat b/tests/domainsTFReflectivityCalculation/domainsCustomLayersOutputs.mat index 891e11bba..307d8f7ba 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsCustomLayersOutputs.mat and b/tests/domainsTFReflectivityCalculation/domainsCustomLayersOutputs.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsCustomLayersTFParams.mat b/tests/domainsTFReflectivityCalculation/domainsCustomLayersTFParams.mat index 89eaa0216..e3672f99e 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsCustomLayersTFParams.mat and b/tests/domainsTFReflectivityCalculation/domainsCustomLayersTFParams.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsCustomXYInputs.mat b/tests/domainsTFReflectivityCalculation/domainsCustomXYInputs.mat index 8e72f2013..2d4832182 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsCustomXYInputs.mat and b/tests/domainsTFReflectivityCalculation/domainsCustomXYInputs.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsCustomXYOutputs.mat b/tests/domainsTFReflectivityCalculation/domainsCustomXYOutputs.mat index 2df1f9ff8..8afe30a4f 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsCustomXYOutputs.mat and b/tests/domainsTFReflectivityCalculation/domainsCustomXYOutputs.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsCustomXYTFParams.mat b/tests/domainsTFReflectivityCalculation/domainsCustomXYTFParams.mat index e8d6752a8..3883a78e9 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsCustomXYTFParams.mat and b/tests/domainsTFReflectivityCalculation/domainsCustomXYTFParams.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsStandardLayersInputs.mat b/tests/domainsTFReflectivityCalculation/domainsStandardLayersInputs.mat index 7570f4d78..21e37a9c0 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsStandardLayersInputs.mat and b/tests/domainsTFReflectivityCalculation/domainsStandardLayersInputs.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsStandardLayersOutputs.mat b/tests/domainsTFReflectivityCalculation/domainsStandardLayersOutputs.mat index 36daa9a8e..feac67b19 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsStandardLayersOutputs.mat and b/tests/domainsTFReflectivityCalculation/domainsStandardLayersOutputs.mat differ diff --git a/tests/domainsTFReflectivityCalculation/domainsStandardLayersTFParams.mat b/tests/domainsTFReflectivityCalculation/domainsStandardLayersTFParams.mat index fe593b0d0..3e04f2b63 100644 Binary files a/tests/domainsTFReflectivityCalculation/domainsStandardLayersTFParams.mat and b/tests/domainsTFReflectivityCalculation/domainsStandardLayersTFParams.mat differ diff --git a/tests/domainsTFReflectivityCalculation/makeDomainsInputsAndOutputs.m b/tests/domainsTFReflectivityCalculation/makeDomainsInputsAndOutputs.m index bedff8057..9510081c1 100644 --- a/tests/domainsTFReflectivityCalculation/makeDomainsInputsAndOutputs.m +++ b/tests/domainsTFReflectivityCalculation/makeDomainsInputsAndOutputs.m @@ -42,7 +42,7 @@ % (c) TF Parameters [reflectivity,simulation,shiftedData,backgrounds,resolutions,sldProfiles,... layers,resampledLayers,qzshifts,scalefactors,bulkIn,bulkOut,subRoughs,chis... - ] = normalTF.normalReflectivity(problemStruct,controls); + ] = domainsTF.domainsReflectivity(problemStruct,controls); TFParams.reflectivity = reflectivity; TFParams.simulation = simulation; @@ -99,7 +99,7 @@ % (c) TF Parameters [reflectivity,simulation,shiftedData,backgrounds,resolutions,sldProfiles,... layers,resampledLayers,qzshifts,scalefactors,bulkIn,bulkOut,subRoughs,chis... - ] = normalTF.normalReflectivity(problemStruct,controls); + ] = domainsTF.domainsReflectivity(problemStruct,controls); TFParams.reflectivity = reflectivity; TFParams.simulation = simulation; @@ -155,7 +155,7 @@ % (c) TF Parameters [reflectivity,simulation,shiftedData,backgrounds,resolutions,sldProfiles,... layers,resampledLayers,qzshifts,scalefactors,bulkIn,bulkOut,subRoughs,chis... - ] = normalTF.normalReflectivity(problemStruct,controls); + ] = domainsTF.domainsReflectivity(problemStruct,controls); TFParams.reflectivity = reflectivity; TFParams.simulation = simulation; diff --git a/tests/domainsTFReflectivityCalculation/testDomainsReflectivityCalculations.m b/tests/domainsTFReflectivityCalculation/testDomainsReflectivityCalculations.m index b73728390..5b256b51a 100644 --- a/tests/domainsTFReflectivityCalculation/testDomainsReflectivityCalculations.m +++ b/tests/domainsTFReflectivityCalculation/testDomainsReflectivityCalculations.m @@ -254,26 +254,26 @@ function testCheckIndices(testCase) end function testExtractProblemParams(testCase) - [numberOfContrasts, geometry, contrastBackgroundParams, contrastResolutionParams, contrastDomainRatios, backgroundParams, resolutionParams,... + [numberOfContrasts, geometry, contrastBackgroundParams, contrastResolutionParams, backgroundParams, resolutionParams,... ~, scalefactors, bulkIns, bulkOuts, domainRatios, dataPresent, nParams, params, resample, backgroundTypes, backgroundActions, resolutionTypes,... - contrastCustomFiles, useImaginary, repeatLayers, data, dataLimits, simulationLimits, contrastLayers, layersDetails, customFiles, domainContrastLayers... + contrastCustomFiles, useImaginary, repeatLayers, data, dataLimits, simulationLimits, contrastLayers, customFiles, domainContrastLayers... ] = extractProblemParams(testCase.problemStruct); testScalefactors = testCase.problemStruct.scalefactors(testCase.problemStruct.contrastScalefactors)'; testBulkIns = testCase.problemStruct.bulkIns(testCase.problemStruct.contrastBulkIns)'; testBulkOuts = testCase.problemStruct.bulkOuts(testCase.problemStruct.contrastBulkOuts)'; + testDomainRatios = testCase.problemStruct.domainRatios(testCase.problemStruct.contrastDomainRatios)'; testCase.verifyEqual(numberOfContrasts, testCase.problemStruct.numberOfContrasts, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(geometry, testCase.problemStruct.geometry, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(contrastBackgroundParams, testCase.problemStruct.contrastBackgroundParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(contrastResolutionParams, testCase.problemStruct.contrastResolutionParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); - testCase.verifyEqual(contrastDomainRatios, testCase.problemStruct.contrastDomainRatios, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(backgroundParams, testCase.problemStruct.backgroundParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(resolutionParams, testCase.problemStruct.resolutionParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(scalefactors, testScalefactors, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(bulkIns, testBulkIns, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(bulkOuts, testBulkOuts, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); - testCase.verifyEqual(domainRatios, testCase.problemStruct.domainRatios, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); + testCase.verifyEqual(domainRatios, testDomainRatios, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(dataPresent, testCase.problemStruct.dataPresent, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(nParams, length(testCase.problemStruct.params), 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(params, testCase.problemStruct.params, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); @@ -288,7 +288,6 @@ function testExtractProblemParams(testCase) testCase.verifyEqual(dataLimits, testCase.problemStruct.dataLimits, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(simulationLimits, testCase.problemStruct.simulationLimits, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(contrastLayers, testCase.problemStruct.contrastLayers, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); - testCase.verifyEqual(layersDetails, testCase.problemStruct.layersDetails, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(customFiles, testCase.problemStruct.customFiles, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(domainContrastLayers, testCase.problemStruct.domainContrastLayers, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); diff --git a/tests/normalTFReflectivityCalculation/absorptionInputs.mat b/tests/normalTFReflectivityCalculation/absorptionInputs.mat index 8a00db80f..08b307928 100644 Binary files a/tests/normalTFReflectivityCalculation/absorptionInputs.mat and b/tests/normalTFReflectivityCalculation/absorptionInputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/absorptionOutputs.mat b/tests/normalTFReflectivityCalculation/absorptionOutputs.mat index bddf587d2..8a172d013 100644 Binary files a/tests/normalTFReflectivityCalculation/absorptionOutputs.mat and b/tests/normalTFReflectivityCalculation/absorptionOutputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/absorptionTFParams.mat b/tests/normalTFReflectivityCalculation/absorptionTFParams.mat index e9d8de617..86f6113b3 100644 Binary files a/tests/normalTFReflectivityCalculation/absorptionTFParams.mat and b/tests/normalTFReflectivityCalculation/absorptionTFParams.mat differ diff --git a/tests/normalTFReflectivityCalculation/customLayersInputs.mat b/tests/normalTFReflectivityCalculation/customLayersInputs.mat index 2e1c66d22..b1b1aa793 100644 Binary files a/tests/normalTFReflectivityCalculation/customLayersInputs.mat and b/tests/normalTFReflectivityCalculation/customLayersInputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/customLayersOutputs.mat b/tests/normalTFReflectivityCalculation/customLayersOutputs.mat index c453dc97b..8a8e059a4 100644 Binary files a/tests/normalTFReflectivityCalculation/customLayersOutputs.mat and b/tests/normalTFReflectivityCalculation/customLayersOutputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/customLayersTFParams.mat b/tests/normalTFReflectivityCalculation/customLayersTFParams.mat index a72e03167..76e63401e 100644 Binary files a/tests/normalTFReflectivityCalculation/customLayersTFParams.mat and b/tests/normalTFReflectivityCalculation/customLayersTFParams.mat differ diff --git a/tests/normalTFReflectivityCalculation/customXYInputs.mat b/tests/normalTFReflectivityCalculation/customXYInputs.mat index 51c1f451f..8b80d0191 100644 Binary files a/tests/normalTFReflectivityCalculation/customXYInputs.mat and b/tests/normalTFReflectivityCalculation/customXYInputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/customXYOutputs.mat b/tests/normalTFReflectivityCalculation/customXYOutputs.mat index 5d77a3551..09c4f687e 100644 Binary files a/tests/normalTFReflectivityCalculation/customXYOutputs.mat and b/tests/normalTFReflectivityCalculation/customXYOutputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/customXYTFParams.mat b/tests/normalTFReflectivityCalculation/customXYTFParams.mat index cd048abec..199f9f4ab 100644 Binary files a/tests/normalTFReflectivityCalculation/customXYTFParams.mat and b/tests/normalTFReflectivityCalculation/customXYTFParams.mat differ diff --git a/tests/normalTFReflectivityCalculation/standardLayersInputs.mat b/tests/normalTFReflectivityCalculation/standardLayersInputs.mat index e2a20f695..c0dc309d2 100644 Binary files a/tests/normalTFReflectivityCalculation/standardLayersInputs.mat and b/tests/normalTFReflectivityCalculation/standardLayersInputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/standardLayersOutputs.mat b/tests/normalTFReflectivityCalculation/standardLayersOutputs.mat index 656a8f60d..ab70b970d 100644 Binary files a/tests/normalTFReflectivityCalculation/standardLayersOutputs.mat and b/tests/normalTFReflectivityCalculation/standardLayersOutputs.mat differ diff --git a/tests/normalTFReflectivityCalculation/standardLayersTFParams.mat b/tests/normalTFReflectivityCalculation/standardLayersTFParams.mat index af763905e..5eb429f74 100644 Binary files a/tests/normalTFReflectivityCalculation/standardLayersTFParams.mat and b/tests/normalTFReflectivityCalculation/standardLayersTFParams.mat differ diff --git a/tests/normalTFReflectivityCalculation/testReflectivityCalculations.m b/tests/normalTFReflectivityCalculation/testReflectivityCalculations.m index 8b7fe0858..becced31b 100644 --- a/tests/normalTFReflectivityCalculation/testReflectivityCalculations.m +++ b/tests/normalTFReflectivityCalculation/testReflectivityCalculations.m @@ -268,26 +268,26 @@ function testCheckIndices(testCase) end function testExtractProblemParams(testCase) - [numberOfContrasts, geometry, contrastBackgroundParams, contrastResolutionParams, contrastDomainRatios, backgroundParams, resolutionParams,... + [numberOfContrasts, geometry, contrastBackgroundParams, contrastResolutionParams, backgroundParams, resolutionParams,... ~, scalefactors, bulkIns, bulkOuts, domainRatios, dataPresent, nParams, params, resample, backgroundTypes, backgroundActions, resolutionTypes,... - contrastCustomFiles, useImaginary, repeatLayers, data, dataLimits, simulationLimits, contrastLayers, layersDetails, customFiles, domainContrastLayers... + contrastCustomFiles, useImaginary, repeatLayers, data, dataLimits, simulationLimits, contrastLayers, customFiles, domainContrastLayers... ] = extractProblemParams(testCase.problemStruct); testScalefactors = testCase.problemStruct.scalefactors(testCase.problemStruct.contrastScalefactors)'; testBulkIns = testCase.problemStruct.bulkIns(testCase.problemStruct.contrastBulkIns)'; testBulkOuts = testCase.problemStruct.bulkOuts(testCase.problemStruct.contrastBulkOuts)'; + testDomainRatios = testCase.problemStruct.domainRatios(testCase.problemStruct.contrastDomainRatios)'; testCase.verifyEqual(numberOfContrasts, testCase.problemStruct.numberOfContrasts, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(geometry, testCase.problemStruct.geometry, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(contrastBackgroundParams, testCase.problemStruct.contrastBackgroundParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(contrastResolutionParams, testCase.problemStruct.contrastResolutionParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); - testCase.verifyEqual(contrastDomainRatios, testCase.problemStruct.contrastDomainRatios, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(backgroundParams, testCase.problemStruct.backgroundParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(resolutionParams, testCase.problemStruct.resolutionParams, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(scalefactors, testScalefactors, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(bulkIns, testBulkIns, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(bulkOuts, testBulkOuts, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); - testCase.verifyEqual(domainRatios, testCase.problemStruct.domainRatios, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); + testCase.verifyEqual(domainRatios, testDomainRatios, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(dataPresent, testCase.problemStruct.dataPresent, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(nParams, length(testCase.problemStruct.params), 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(params, testCase.problemStruct.params, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); @@ -302,7 +302,6 @@ function testExtractProblemParams(testCase) testCase.verifyEqual(dataLimits, testCase.problemStruct.dataLimits, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(simulationLimits, testCase.problemStruct.simulationLimits, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(contrastLayers, testCase.problemStruct.contrastLayers, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); - testCase.verifyEqual(layersDetails, testCase.problemStruct.layersDetails, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(customFiles, testCase.problemStruct.customFiles, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); testCase.verifyEqual(domainContrastLayers, testCase.problemStruct.domainContrastLayers, 'RelTol', testCase.tolerance, 'AbsTol', testCase.absTolerance); end diff --git a/tests/testProjectConversion/DSPCBilayerProjectClass.mat b/tests/testProjectConversion/DSPCBilayerProjectClass.mat index a31bce1dd..d62df1d4c 100644 Binary files a/tests/testProjectConversion/DSPCBilayerProjectClass.mat and b/tests/testProjectConversion/DSPCBilayerProjectClass.mat differ diff --git a/tests/testProjectConversion/monolayerVolumeModelProjectClass.mat b/tests/testProjectConversion/monolayerVolumeModelProjectClass.mat index 5e75451ef..642c543db 100644 Binary files a/tests/testProjectConversion/monolayerVolumeModelProjectClass.mat and b/tests/testProjectConversion/monolayerVolumeModelProjectClass.mat differ