diff --git a/License.txt b/License.txt index 3cf6b1d..68547f6 100644 --- a/License.txt +++ b/License.txt @@ -1,4 +1,4 @@ - Copyright (C) 2009-2017, Thomas Braun, thomas braun byte physics de + Copyright (C) 2009-2020, Thomas Braun, thomas braun byte physics de This work was partly done during the work at EMPA Thun, section 127 (nanotech@surfaces, http://www.empa.ch/plugin/template/empa/848/*/---/l=1), Switzerland. @@ -9,7 +9,7 @@ Additional permission under GNU GPL version 3 section 7 - The "MatrixFileReader Project" may be statically linked against libraries from the XOP Toolkit (WaveMetrics Incorporated, Portland, USA) to produce an External Operation for Igor Pro. - - Dynamic/Static linking to libraries from the Vernissage Toolkit from Omicron NanoTechnology GmbH, Taunusstein, Germany is also allowed. + - Dynamic/Static linking to libraries from the Vernissage Toolkit from Scienta Omicron, Uppsala, Sweden is also allowed. - You may copy and distribute such a system following the terms of the GNU Lesser GPL v3 or later for the "MatrixFileReader XOP" and the licenses of the other code/libraries concerned. diff --git a/Readme.md b/Readme.md index 4e1ff32..12442ec 100644 --- a/Readme.md +++ b/Readme.md @@ -1,15 +1,15 @@ ## Installation ### Requirements -* Igor Pro 6.2.0 or later (Igor Pro 7 works as well) -* Scienta Omicron Vernissage 2.2 or 2.3.x -* Windows XP SP2/Vista/7/10 +* Igor Pro 8.0 or later +* Scienta Omicron Vernissage 2.4.1 (32-bit or 64-bit) +* Windows 10 ### Steps 1. Install Igor Pro 2. Start Igor, this will create a folder called WaveMetrics in "My Documents" 3. Install Vernissage -4. Install vcredist_x86.exe (Microsoft Visual C++ 2005 Redistributable Package x86) shipped with the XOP. +4. Install vcredist_x86.exe/vcredist_x64.exe (Microsoft Visual C++ 2013 Redistributable Package x86/x64) shipped with the XOP. 5. 1. Copy "matrixfilereader.xop" to "My Documents\WaveMetrics\Igor Pro X User Files\Igor extensions" 2. Copy "matrixfilereader Help.ihf" to "My Documents\WaveMetrics\Igor Pro X User Files\Igor Help files" @@ -19,32 +19,43 @@ ## Compilation ### Requirements -* Visual Studio 2005 Professional, the Express Version does not work. -* Windows XP SP2/Vista/7/10 +* Visual Studio 2013 Community/Professional with [1] * Vernissage and the corresponding SDK -* XOP Toolkit 7.01 +* XOP Toolkit 8.01 * Boost 1.55 * Igor Pro ### Steps * Close all Igor instances * Open MatrixFileReader.sln -* Adjust the path where the XOP should be copied by editing copyfiles.bat +* Adjust the path where the XOP should be copied by editing copyfiles-32.bat/copyfiles-64.bat * Build it (`Build->Rebuild Solution`) * The XOP and the help file is automatically copied to the location given earlier ### Various Hints * Always compile the "Release" version. The "Debug" version can not be used with the Vernissage DLLs. -* If you want to add new operations have a look at Operation-Template-Generator.pxp which uses `ParseOperationTemplate`. +* If you want to add new operations have a look at + Operation-Template-Generator.pxp which uses `ParseOperationTemplate`. * Each header file contains a small abstract about its purpose. -* Boost can be compiled from a Visual Studio command prompt with - `b2 -j6 toolset=msvc-8.0 variant=release threading=multi link=static runtime-link=shared stage` -* XOP Toolkit 7.01 needs to be patched to compile with Visual Studio 2005. - Compilation itself can be done via `cmake -G "Visual Studio 8 2005` and - `cmake --build . --config release`. +* Boost can be compiled from a Visual Studio command prompt: + * Apply the patch from [2] + * Compile 32-bit libraries + * `b2 -j6 toolset=msvc-12.0 variant=release threading=multi link=static runtime-link=shared stage` + * `move stage stage-32bit` + * Compile 64-bit libraries + * `b2 -j6 toolset=msvc-12.0 address-model=64 variant=release threading=multi link=static runtime-link=shared stage` + * `move stage stage-64bit` +* XOPSupport compilation itself can be done via `cmake -G "Visual Studio 12 + 2013`/`cmake -G "Visual Studio 12 2013" -A x64` and `cmake --build . --config + release`. ### Testing * The unit and regression test suite requires our [unit testing framework](https://github.com/byte-physics/igor-unit-testing-framework). * The test suite always finishes without errors. * The reference data is available upon request only as it is roughly 5GB. + +### Links + +[1]: https://devblogs.microsoft.com/cppblog/mfc-support-for-mbcs-deprecated-in-visual-studio-2013/ +[2]: https://svn.boost.org/trac10/attachment/ticket/8757/0005-Boost.S11n-include-missing-algorithm.patch diff --git a/VC8/.clang-format b/VC8/.clang-format new file mode 100644 index 0000000..5157748 --- /dev/null +++ b/VC8/.clang-format @@ -0,0 +1,67 @@ +--- +Language: Cpp +# BasedOnStyle: LLVM +AccessModifierOffset: -2 +AlignAfterOpenBracket: true +AlignConsecutiveAssignments: true +AlignEscapedNewlinesLeft: false +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: true +BinPackArguments: true +BinPackParameters: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Allman +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +IndentCaseLabels: false +IndentWidth: 2 +IndentWrappedFunctionNames: false +KeepEmptyLinesAtTheStartOfBlocks: true +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PointerAlignment: Right +SortIncludes: false +SpaceAfterCStyleCast: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: Never +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 2 +UseTab: Never +... diff --git a/VC8/ForwardDecl.hpp b/VC8/ForwardDecl.hpp index 17ddd34..a5aa9f8 100644 --- a/VC8/ForwardDecl.hpp +++ b/VC8/ForwardDecl.hpp @@ -15,12 +15,12 @@ class Wave; // Forward Declare Vernissage classes also namespace Vernissage { - class Session; +class Session; } // namespace Vernissage namespace Bstrlib { - struct CBString; +struct CBString; } typedef std::pair StringPair; diff --git a/VC8/MatrixFileReader.sln b/VC8/MatrixFileReader.sln index 170ac17..f6a0b1f 100644 --- a/VC8/MatrixFileReader.sln +++ b/VC8/MatrixFileReader.sln @@ -1,46 +1,65 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MatrixFileReader", "MatrixFileReader.vcproj", "{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MatrixFileReader", "MatrixFileReader.vcxproj", "{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XOPSupport", "XOPSupport\build\XOPSupport.vcproj", "{DDBFE4DA-947F-3736-8785-D626C012DA6B}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XOPSupport", "XOPSupport\build\XOPSupport.vcxproj", "{DDBFE4DA-947F-3736-8785-D626C012DA6B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 MinSizeRel|Win32 = MinSizeRel|Win32 + MinSizeRel|x64 = MinSizeRel|x64 Release (static build)|Win32 = Release (static build)|Win32 + Release (static build)|x64 = Release (static build)|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 RelWithDebInfo|Win32 = RelWithDebInfo|Win32 + RelWithDebInfo|x64 = RelWithDebInfo|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|Win32.ActiveCfg = Release (static build)|Win32 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|Win32.Build.0 = Release (static build)|Win32 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|x64.ActiveCfg = Release (static build)|x64 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|x64.Build.0 = Release (static build)|x64 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|Win32.ActiveCfg = Release (static build)|Win32 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|Win32.Build.0 = Release (static build)|Win32 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|x64.ActiveCfg = Release (static build)|x64 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|x64.Build.0 = Release (static build)|x64 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|Win32.ActiveCfg = Release (static build)|Win32 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|Win32.Build.0 = Release (static build)|Win32 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|x64.ActiveCfg = Release (static build)|x64 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|x64.Build.0 = Release (static build)|x64 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|Win32.ActiveCfg = Release|Win32 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|Win32.Build.0 = Release|Win32 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|x64.ActiveCfg = Release|x64 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|x64.Build.0 = Release|x64 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|Win32.ActiveCfg = Release (static build)|Win32 {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|Win32.Build.0 = Release (static build)|Win32 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|x64.ActiveCfg = Release (static build)|x64 + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|x64.Build.0 = Release (static build)|x64 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|Win32.ActiveCfg = Debug|Win32 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|Win32.Build.0 = Debug|Win32 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|x64.ActiveCfg = Debug|x64 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|x64.Build.0 = Debug|x64 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|Win32.ActiveCfg = Release|Win32 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|Win32.Build.0 = Release|Win32 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|x64.ActiveCfg = Release|x64 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|x64.Build.0 = Release|x64 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|Win32.ActiveCfg = Release|Win32 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|Win32.Build.0 = Release|Win32 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|x64.ActiveCfg = Release|x64 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|x64.Build.0 = Release|x64 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 {DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/VC8/MatrixFileReader.vcproj b/VC8/MatrixFileReader.vcproj deleted file mode 100644 index 9c8f541..0000000 --- a/VC8/MatrixFileReader.vcproj +++ /dev/null @@ -1,683 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/VC8/MatrixFileReader.vcxproj b/VC8/MatrixFileReader.vcxproj new file mode 100644 index 0000000..b6ccaf3 --- /dev/null +++ b/VC8/MatrixFileReader.vcxproj @@ -0,0 +1,419 @@ + + + + + Release (static build) + Win32 + + + Release (static build) + x64 + + + Release + Win32 + + + Release + x64 + + + + {93F8C561-7B77-4DEA-8DFC-0686D676DFB4} + XFUNC1 + 10.0.17763.0 + + + + DynamicLibrary + v120 + false + MultiByte + + + DynamicLibrary + v120 + false + MultiByte + + + DynamicLibrary + v120 + MultiByte + false + Dynamic + + + DynamicLibrary + v120 + MultiByte + false + Dynamic + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>14.0.25431.1 + + + .\Release\ + .\Release\ + .xop + + + .xop + matrixfilereader-64 + .\Release-x64\ + .\Release-x64\ + + + $(Configuration)\ + $(Configuration)\ + + + + + genversion.pl + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/XFUNC1.tlb + + + MaxSpeed + boost_1_55_0;XOPSupport;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) + false + MultiThreadedDLL + Use + stdafx.h + Release/stdafx.pch + + .\Release/ + .\Release/ + Level3 + true + CompileAsCpp + + + 0x0409 + XOPSupport/;%(AdditionalIncludeDirectories) + + + version.lib;Igor.lib;XOPSupport.lib;%(AdditionalDependencies) + $(Configuration)/matrixfilereader.xop + true + XOPSupport\build\Release;XOPSupport;boost_1_55_0\stage-32bit\lib;%(AdditionalLibraryDirectories) + .\Release/matrixFileReader.pdb + Console + true + .\Release/matrixFileReader.lib + MachineX86 + + + copyfiles.bat + + + + + genversion.pl + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/XFUNC1.tlb + + + MaxSpeed + boost_1_55_0;XOPSupport;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) + false + MultiThreadedDLL + Use + stdafx.h + Release/stdafx.pch + + + .\Release/ + .\Release/ + Level3 + true + CompileAsCpp + + + 0x0409 + XOPSupport/;%(AdditionalIncludeDirectories) + + + version.lib;Igor64.lib;XOPSupport.lib;%(AdditionalDependencies) + Release-x64/matrixfilereader-64.xop + true + XOPSupport\build-x64\Release;XOPSupport;boost_1_55_0\stage-64bit\lib;%(AdditionalLibraryDirectories) + .\Release/matrixFileReader.pdb + Console + true + .\Release/matrixFileReader.lib + + + copyfiles-x64.bat + + + + + genVersion.pl + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/XFUNC1.tlb + + + MaxSpeed + XOP_Toolkit_6/IgorXOPs6/XOPSupport;E:\projekte\spass-projekte\physical-value\libs\boost_1_55_0;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) + false + false + false + Use + Release (static build)/stdafx.pch + + .\Release/ + .\Release/ + .\Release/ + Level3 + true + CompileAsCpp + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + XOP_Toolkit_6/IgorXOPs6/XOPSupport/;%(AdditionalIncludeDirectories) + + + version.lib;Igor.lib;XOPSupport.lib;%(AdditionalDependencies) + Release (static build)\matrixfilereader.xop + true + XOP_Toolkit_6/IgorXOPs6/XOPSupport;XOP_Toolkit_6/IgorXOPs6/XOPSupport/VC8;E:\projekte\spass-projekte\physical-value\libs\boost_1_55_0\stage\lib;%(AdditionalLibraryDirectories) + .\Release/matrixFileReader.pdb + Console + true + .\Release/matrixFileReader.lib + MachineX86 + + + copyfiles.bat + + + + + genVersion.pl + + + NDEBUG;%(PreprocessorDefinitions) + true + true + .\Release/XFUNC1.tlb + + + MaxSpeed + XOP_Toolkit_6/IgorXOPs6/XOPSupport;E:\projekte\spass-projekte\physical-value\libs\boost_1_55_0;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) + false + false + false + Use + Release (static build)/stdafx.pch + + + .\Release/ + .\Release/ + .\Release/ + Level3 + true + CompileAsCpp + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + XOP_Toolkit_6/IgorXOPs6/XOPSupport/;%(AdditionalIncludeDirectories) + + + version.lib;Igor.lib;XOPSupport.lib;%(AdditionalDependencies) + Release (static build)\matrixfilereader.xop + true + XOP_Toolkit_6/IgorXOPs6/XOPSupport;XOP_Toolkit_6/IgorXOPs6/XOPSupport/VC8;E:\projekte\spass-projekte\physical-value\libs\boost_1_55_0\stage\lib;%(AdditionalLibraryDirectories) + .\Release/matrixFileReader.pdb + Console + true + .\Release/matrixFileReader.lib + + + copyfiles.bat + + + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + Create + Create + Create + Create + + + Use + Use + + + Use + Use + + + Use + Use + + + Use + Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + + + + + \ No newline at end of file diff --git a/VC8/bricklet.cpp b/VC8/bricklet.cpp index 120126f..528dc65 100644 --- a/VC8/bricklet.cpp +++ b/VC8/bricklet.cpp @@ -11,50 +11,48 @@ #include "extremadata.hpp" #include "utils_generic.hpp" -namespace { +namespace +{ - typedef std::map ParameterMap; - typedef ParameterMap::const_iterator ParameterMapIt; - typedef std::vector WstringVector; - typedef WstringVector::const_iterator WstringVectorIt; - typedef boost::lock_guard guard; +typedef std::map ParameterMap; +typedef ParameterMap::const_iterator ParameterMapIt; +typedef std::vector WstringVector; +typedef WstringVector::const_iterator WstringVectorIt; +typedef boost::lock_guard guard; - void AddParameterMap( StringPairVector& metaData, const std::string& parentName, const ParameterMap& paramMap ) +void AddParameterMap(StringPairVector &metaData, const std::string &parentName, const ParameterMap ¶mMap) +{ + for(ParameterMap::const_iterator it = paramMap.begin(); it != paramMap.end(); it++) { - for (ParameterMap::const_iterator it = paramMap.begin(); it != paramMap.end(); it++) - { - const std::string key = parentName + std::string(".") + toString(it->first); - AddEntry(metaData,key + std::string(".value"),it->second.value); - AddEntry(metaData,key + std::string(".unit"),it->second.unit); - } + const std::string key = parentName + std::string(".") + toString(it->first); + AddEntry(metaData, key + std::string(".value"), it->second.value); + AddEntry(metaData, key + std::string(".unit"), it->second.unit); } +} - int convertBrickletPtr(void* rawBrickletPtr) - { - return GlobalData::Instance().convertBrickletPtr(rawBrickletPtr); - } +int convertBrickletPtr(void *rawBrickletPtr) +{ + return GlobalData::Instance().convertBrickletPtr(rawBrickletPtr); +} - void AddBrickletList(StringPairVector& metaData, const std::string& key, const std::vector& rawVec) - { - std::vector idVec(rawVec.size()); - std::transform(rawVec.begin(),rawVec.end(),idVec.begin(), convertBrickletPtr); +void AddBrickletList(StringPairVector &metaData, const std::string &key, const std::vector &rawVec) +{ + std::vector idVec(rawVec.size()); + std::transform(rawVec.begin(), rawVec.end(), idVec.begin(), convertBrickletPtr); - // we want to have a sorted list of bricklets - std::sort(idVec.begin(), idVec.end()); - std::string brickletSeries; - joinString(idVec, listSepChar, brickletSeries); + // we want to have a sorted list of bricklets + std::sort(idVec.begin(), idVec.end()); + std::string brickletSeries; + joinString(idVec, listSepChar, brickletSeries); - AddEntry(metaData, key ,brickletSeries); - } + AddEntry(metaData, key, brickletSeries); +} } // anonymous namespace -Bricklet::Bricklet(int brickletID, void* const vernissageBricklet) - : - m_brickletPtr(vernissageBricklet), - m_rawBufferContentsSize(0), - m_brickletID(brickletID) +Bricklet::Bricklet(int brickletID, void *const vernissageBricklet) + : m_brickletPtr(vernissageBricklet), m_rawBufferContentsSize(0), m_brickletID(brickletID) { - if (!isValidBrickletID(brickletID)) + if(!isValidBrickletID(brickletID)) { throw std::runtime_error("Invalid brickletID: " + toString(brickletID)); } @@ -63,7 +61,8 @@ Bricklet::Bricklet(int brickletID, void* const vernissageBricklet) } Bricklet::~Bricklet() -{} +{ +} /* delete our internally cached data, is called at destruction time and if we want keep memory @@ -73,7 +72,7 @@ void Bricklet::clearCache() { guard lock(m_mutex); - if (m_rawBufferContents) + if(m_rawBufferContents) { DEBUGPRINT("Deleting raw data from bricklet %d", m_brickletID); m_rawBufferContents.reset(); @@ -90,12 +89,12 @@ void Bricklet::clearCache() /* Load the raw data of the bricklet into our own cache */ -int* Bricklet::getRawData() +int *Bricklet::getRawData() { guard lock(m_mutex); // we are not called the first time - if (m_rawBufferContents) + if(m_rawBufferContents) { DEBUGPRINT("BrickletClass::getBrickletContentsBuffer Using cached values"); DEBUGPRINT("m_rawBufferContents=%p,size=%d", m_rawBufferContents.get(), m_rawBufferContentsSize); @@ -104,43 +103,45 @@ int* Bricklet::getRawData() int count = 0; const int *pBuffer; - Vernissage::Session* session = getVernissageSession(); + Vernissage::Session *session = getVernissageSession(); try { session->loadBrickletContents(m_brickletPtr, &pBuffer, count); } - catch (...) + catch(...) { - HISTPRINT("Could not load the bricklet contents, probably out of memory in getBrickletContentsBuffer() with bricklet %d", m_brickletID); + HISTPRINT( + "Could not load the bricklet contents, probably out of memory in getBrickletContentsBuffer() with bricklet %d", + m_brickletID); return NULL; } // loadBrickletContents either throws an exception or returns pBuffer == 0 || count == 0 in the error case - if (pBuffer == NULL || count <= 0) + if(pBuffer == NULL || count <= 0) { HISTPRINT("Out of memory in getBrickletContentsBuffer() with bricklet %d", m_brickletID); session->unloadBrickletContents(m_brickletPtr); return NULL; } - // these two lines have to be surrounded by loadbrickletContents/unloadBrickletContents, otherwise loadbrickletContents will be called - // implicitly which is quite expensive + // these two lines have to be surrounded by loadbrickletContents/unloadBrickletContents, otherwise + // loadbrickletContents will be called implicitly which is quite expensive const int rawMin = session->getRawMin(m_brickletPtr); m_extrema.setMinimum(rawMin, session->toPhysical(rawMin, m_brickletPtr)); const int rawMax = session->getRawMax(m_brickletPtr); m_extrema.setMaximum(rawMax, session->toPhysical(rawMax, m_brickletPtr)); - DEBUGPRINT("rawMin=%d,rawMax=%d,scaledMin=%g,scaledMax=%g", - m_extrema.getRawMin(), m_extrema.getRawMax(), m_extrema.getPhysValRawMin(), m_extrema.getPhysValRawMax()); + DEBUGPRINT("rawMin=%d,rawMax=%d,scaledMin=%g,scaledMax=%g", m_extrema.getRawMin(), m_extrema.getRawMax(), + m_extrema.getPhysValRawMin(), m_extrema.getPhysValRawMax()); // copy the raw data to our own cache try { m_rawBufferContents.reset(new int[count]); } - catch (CMemoryException* e) + catch(CMemoryException *e) { e->Delete(); HISTPRINT("Out of memory in getBrickletContentsBuffer()"); @@ -148,7 +149,7 @@ int* Bricklet::getRawData() return NULL; } - memcpy(m_rawBufferContents.get(), pBuffer, sizeof(int)*count); + memcpy(m_rawBufferContents.get(), pBuffer, sizeof(int) * count); m_rawBufferContentsSize = count; DEBUGPRINT("m_rawBufferContents=%p,size=%d", m_rawBufferContents.get(), m_rawBufferContentsSize); @@ -168,17 +169,17 @@ int* Bricklet::getRawData() /* Wrapper function which returns a vector of the meta data keys (.first) and values (.second) */ -const std::vector& Bricklet::getMetaData() +const std::vector &Bricklet::getMetaData() { guard lock(m_mutex); - if (m_metaData.empty()) + if(m_metaData.empty()) { try { loadMetaData(); } - catch (CMemoryException* e) + catch(CMemoryException *e) { e->Delete(); HISTPRINT("Out of memory in getMetaData()"); @@ -201,212 +202,216 @@ void Bricklet::loadMetaData() m_metaData.clear(); m_metaData.reserve(RESERVE_SIZE); - Vernissage::Session* session = getVernissageSession(); + Vernissage::Session *session = getVernissageSession(); // timestamp of creation tm ctime = session->getCreationTimestamp(m_brickletPtr); - AddEntry(m_metaData,"creationTimeStamp", mktime(&ctime)); + AddEntry(m_metaData, "creationTimeStamp", mktime(&ctime)); // viewTypeCodes const ViewTypeCodeVector viewTypeCodes = session->getViewTypes(m_brickletPtr); std::string viewTypeCodesAsOneString; - for (ViewTypeCodeVectorIt it = viewTypeCodes.begin(); it != viewTypeCodes.end(); it++) + for(ViewTypeCodeVectorIt it = viewTypeCodes.begin(); it != viewTypeCodes.end(); it++) { viewTypeCodesAsOneString.append(viewTypeCodeToString(*it) + listSepChar); } - AddEntry(m_metaData,"viewTypeCodes",viewTypeCodesAsOneString); - AddEntry(m_metaData,BRICKLET_ID_KEY,m_brickletID); + AddEntry(m_metaData, "viewTypeCodes", viewTypeCodesAsOneString); + AddEntry(m_metaData, BRICKLET_ID_KEY, m_brickletID); // resultfile - AddEntry(m_metaData,RESULT_FILE_NAME_KEY,GlobalData::Instance().getFileName()); - AddEntry(m_metaData,RESULT_DIR_PATH_KEY,GlobalData::Instance().getDirPath()); + AddEntry(m_metaData, RESULT_FILE_NAME_KEY, GlobalData::Instance().getFileName()); + AddEntry(m_metaData, RESULT_DIR_PATH_KEY, GlobalData::Instance().getDirPath()); // introduced with Vernissage 2.0 - AddEntry(m_metaData,"sampleName",session->getSampleName(m_brickletPtr)); + AddEntry(m_metaData, "sampleName", session->getSampleName(m_brickletPtr)); // dito - AddEntry(m_metaData,"dataSetName",session->getDataSetName(m_brickletPtr)); + AddEntry(m_metaData, "dataSetName", session->getDataSetName(m_brickletPtr)); // dito // datacomment is a vector, each entry is from one call to writeDataComment const WstringVector dataComments = session->getDataComments(m_brickletPtr); // we also write out the number of data comments for convenient access - AddEntry(m_metaData,"dataComment.count",dataComments.size()); + AddEntry(m_metaData, "dataComment.count", dataComments.size()); - for (unsigned int i = 0; i < dataComments.size(); i++) + for(unsigned int i = 0; i < dataComments.size(); i++) { - const std::string key = "dataCommentNo" + toString(i + 1); + const std::string key = "dataCommentNo" + toString(i + 1); const std::string value = toString(dataComments[i]); - AddEntry(m_metaData,key,value); + AddEntry(m_metaData, key, value); } // introduced with vernissage 2.1 - AddEntry(m_metaData,"visualMateNode",session->getVisualMateNode(m_brickletPtr)); - AddEntry(m_metaData,"channelGroupName",session->getChannelGroupName(m_brickletPtr)); + AddEntry(m_metaData, "visualMateNode", session->getVisualMateNode(m_brickletPtr)); + AddEntry(m_metaData, "channelGroupName", session->getChannelGroupName(m_brickletPtr)); // introduced with vernissage 2.0 (but forgotten until release 2.1) - AddEntry(m_metaData,"brickletType",brickletTypeToString(session->getType(m_brickletPtr))); + AddEntry(m_metaData, "brickletType", brickletTypeToString(session->getType(m_brickletPtr))); // BEGIN session->getBrickletMetaData const Vernissage::Session::BrickletMetaData brickletMetaData = session->getMetaData(m_brickletPtr); - AddEntry(m_metaData,"brickletMetaData.fileCreatorName",brickletMetaData.fileCreatorName); - AddEntry(m_metaData,"brickletMetaData.fileCreatorVersion",brickletMetaData.fileCreatorVersion); - AddEntry(m_metaData,"brickletMetaData.accountName",brickletMetaData.accountName); - AddEntry(m_metaData,"brickletMetaData.userName",brickletMetaData.userName); + AddEntry(m_metaData, "brickletMetaData.fileCreatorName", brickletMetaData.fileCreatorName); + AddEntry(m_metaData, "brickletMetaData.fileCreatorVersion", brickletMetaData.fileCreatorVersion); + AddEntry(m_metaData, "brickletMetaData.accountName", brickletMetaData.accountName); + AddEntry(m_metaData, "brickletMetaData.userName", brickletMetaData.userName); // END session->getBrickletMetaData - AddEntry(m_metaData,"sequenceID",session->getSequenceId(m_brickletPtr)); - AddEntry(m_metaData,"creationComment",session->getCreationComment(m_brickletPtr)); - AddEntry(m_metaData,"dimension",session->getDimensionCount(m_brickletPtr)); - AddEntry(m_metaData,"rootAxis",session->getRootAxisName(m_brickletPtr)); + AddEntry(m_metaData, "sequenceID", session->getSequenceId(m_brickletPtr)); + AddEntry(m_metaData, "creationComment", session->getCreationComment(m_brickletPtr)); + AddEntry(m_metaData, "dimension", session->getDimensionCount(m_brickletPtr)); + AddEntry(m_metaData, "rootAxis", session->getRootAxisName(m_brickletPtr)); // new in vernissage 2.1 - AddEntry(m_metaData,"rootAxisQualified",session->getRootAxisQualifiedName(m_brickletPtr)); - AddEntry(m_metaData,"triggerAxis",session->getTriggerAxisName(m_brickletPtr)); - AddEntry(m_metaData,"triggerAxisQualified",session->getTriggerAxisQualifiedName(m_brickletPtr)); + AddEntry(m_metaData, "rootAxisQualified", session->getRootAxisQualifiedName(m_brickletPtr)); + AddEntry(m_metaData, "triggerAxis", session->getTriggerAxisName(m_brickletPtr)); + AddEntry(m_metaData, "triggerAxisQualified", session->getTriggerAxisQualifiedName(m_brickletPtr)); - AddEntry(m_metaData,"channelName",session->getChannelName(m_brickletPtr)); - AddEntry(m_metaData,"channelInstanceName",session->getChannelInstanceName(m_brickletPtr)); + AddEntry(m_metaData, "channelName", session->getChannelName(m_brickletPtr)); + AddEntry(m_metaData, "channelInstanceName", session->getChannelInstanceName(m_brickletPtr)); - AddEntry(m_metaData,CHANNEL_UNIT_KEY,session->getChannelUnit(m_brickletPtr)); - AddEntry(m_metaData,"runCycleCount",session->getRunCycleCount(m_brickletPtr)); + AddEntry(m_metaData, CHANNEL_UNIT_KEY, session->getChannelUnit(m_brickletPtr)); + AddEntry(m_metaData, "runCycleCount", session->getRunCycleCount(m_brickletPtr)); - AddEntry(m_metaData,"scanCycleCount",session->getScanCycleCount(m_brickletPtr)); + AddEntry(m_metaData, "scanCycleCount", session->getScanCycleCount(m_brickletPtr)); // new in vernissage 2.1 - AddBrickletList(m_metaData, "dependentBricklets", session->getDependingBricklets(m_brickletPtr)); + AddBrickletList(m_metaData, "dependentBricklets", session->getDependingBricklets(m_brickletPtr)); AddBrickletList(m_metaData, "referencedBricklets", session->getReferencedBricklets(m_brickletPtr)); - AddBrickletList(m_metaData, "brickletSeries", getBrickletSeries(m_brickletPtr)); + AddBrickletList(m_metaData, "brickletSeries", getBrickletSeries(m_brickletPtr)); const std::vector elementInstanceNames = session->getExperimentElementInstanceNames(m_brickletPtr, L""); - for (std::vector::const_iterator it = elementInstanceNames.begin(); it != elementInstanceNames.end(); it++) + for(std::vector::const_iterator it = elementInstanceNames.begin(); it != elementInstanceNames.end(); + it++) { - const ParameterMap elementInstanceParamsMap = session->getExperimentElementParameters(m_brickletPtr, *it); - AddParameterMap(m_metaData,toString(*it),elementInstanceParamsMap); + const ParameterMap elementInstanceParamsMap = session->getExperimentElementParameters(m_brickletPtr, *it); + AddParameterMap(m_metaData, toString(*it), elementInstanceParamsMap); } // BEGIN Vernissage::Session::SpatialInfo const Vernissage::Session::SpatialInfo spatialInfo = session->getSpatialInfo(m_brickletPtr); - for (std::vector::const_iterator it = spatialInfo.physicalX.begin(); it != spatialInfo.physicalX.end(); it++) + for(std::vector::const_iterator it = spatialInfo.physicalX.begin(); it != spatialInfo.physicalX.end(); it++) { - const int index = it - spatialInfo.physicalX.begin() + 1 ; // 1-based index + const size_t index = it - spatialInfo.physicalX.begin() + 1; // 1-based index const std::string key = "spatialInfo.physicalX.No" + toString(index); - AddEntry(m_metaData,key,*it); + AddEntry(m_metaData, key, *it); } - for (std::vector::const_iterator it = spatialInfo.physicalY.begin(); it != spatialInfo.physicalY.end(); it++) + for(std::vector::const_iterator it = spatialInfo.physicalY.begin(); it != spatialInfo.physicalY.end(); it++) { - const int index = it - spatialInfo.physicalY.begin() + 1 ; // 1-based index + const size_t index = it - spatialInfo.physicalY.begin() + 1; // 1-based index const std::string key = "spatialInfo.physicalY.No" + toString(index); - AddEntry(m_metaData,key,*it); + AddEntry(m_metaData, key, *it); } - if (spatialInfo.originatorKnown) + if(spatialInfo.originatorKnown) { - AddEntry(m_metaData,"spatialInfo.originatorKnown","true"); - AddEntry(m_metaData,"spatialInfo.channelName",spatialInfo.channelName); - AddEntry(m_metaData,"spatialInfo.sequenceId",spatialInfo.sequenceId); - AddEntry(m_metaData,"spatialInfo.runCycleCount",spatialInfo.runCycleCount); - AddEntry(m_metaData,"spatialInfo.scanCycleCount",spatialInfo.scanCycleCount); - AddEntry(m_metaData,"spatialInfo.viewName",spatialInfo.viewName); - AddEntry(m_metaData,"spatialInfo.viewSelectionId",spatialInfo.viewSelectionId); - AddEntry(m_metaData,"spatialInfo.viewSelectionIndex",spatialInfo.viewSelectionIndex); + AddEntry(m_metaData, "spatialInfo.originatorKnown", "true"); + AddEntry(m_metaData, "spatialInfo.channelName", spatialInfo.channelName); + AddEntry(m_metaData, "spatialInfo.sequenceId", spatialInfo.sequenceId); + AddEntry(m_metaData, "spatialInfo.runCycleCount", spatialInfo.runCycleCount); + AddEntry(m_metaData, "spatialInfo.scanCycleCount", spatialInfo.scanCycleCount); + AddEntry(m_metaData, "spatialInfo.viewName", spatialInfo.viewName); + AddEntry(m_metaData, "spatialInfo.viewSelectionId", spatialInfo.viewSelectionId); + AddEntry(m_metaData, "spatialInfo.viewSelectionIndex", spatialInfo.viewSelectionIndex); } else { - AddEntry(m_metaData,"spatialInfo.originatorKnown","false"); - AddEntry(m_metaData,"spatialInfo.channelName",""); - AddEntry(m_metaData,"spatialInfo.sequenceId",""); - AddEntry(m_metaData,"spatialInfo.runCycleCount",""); - AddEntry(m_metaData,"spatialInfo.scanCycleCount",""); - AddEntry(m_metaData,"spatialInfo.viewName",""); - AddEntry(m_metaData,"spatialInfo.viewSelectionId",""); - AddEntry(m_metaData,"spatialInfo.viewSelectionIndex",""); + AddEntry(m_metaData, "spatialInfo.originatorKnown", "false"); + AddEntry(m_metaData, "spatialInfo.channelName", ""); + AddEntry(m_metaData, "spatialInfo.sequenceId", ""); + AddEntry(m_metaData, "spatialInfo.runCycleCount", ""); + AddEntry(m_metaData, "spatialInfo.scanCycleCount", ""); + AddEntry(m_metaData, "spatialInfo.viewName", ""); + AddEntry(m_metaData, "spatialInfo.viewSelectionId", ""); + AddEntry(m_metaData, "spatialInfo.viewSelectionIndex", ""); } - //END Vernissage::Session::SpatialInfo + // END Vernissage::Session::SpatialInfo // BEGIN Vernissage::Session::ExperimentInfo const Vernissage::Session::ExperimentInfo experimentInfo = session->getExperimentInfo(m_brickletPtr); - AddEntry(m_metaData,"experimentInfo.Name",experimentInfo.experimentName); - AddEntry(m_metaData,"experimentInfo.Version",experimentInfo.experimentVersion); - AddEntry(m_metaData,"experimentInfo.Description",experimentInfo.experimentDescription); - AddEntry(m_metaData,"experimentInfo.FileSpec",experimentInfo.experimentFileSpec); - AddEntry(m_metaData,"experimentInfo.projectName",experimentInfo.projectName); - AddEntry(m_metaData,"experimentInfo.projectVersion",experimentInfo.projectVersion); - AddEntry(m_metaData,"experimentInfo.projectFileSpec",experimentInfo.projectFileSpec); + AddEntry(m_metaData, "experimentInfo.Name", experimentInfo.experimentName); + AddEntry(m_metaData, "experimentInfo.Version", experimentInfo.experimentVersion); + AddEntry(m_metaData, "experimentInfo.Description", experimentInfo.experimentDescription); + AddEntry(m_metaData, "experimentInfo.FileSpec", experimentInfo.experimentFileSpec); + AddEntry(m_metaData, "experimentInfo.projectName", experimentInfo.projectName); + AddEntry(m_metaData, "experimentInfo.projectVersion", experimentInfo.projectVersion); + AddEntry(m_metaData, "experimentInfo.projectFileSpec", experimentInfo.projectFileSpec); // END Vernissage::Session::ExperimentInfo // create m_allAxes* internally getAxes(); std::string allAxesAsOneString; joinString(m_allAxesString, listSepChar, allAxesAsOneString); - AddEntry(m_metaData,"allAxes",allAxesAsOneString); + AddEntry(m_metaData, "allAxes", allAxesAsOneString); // BEGIN Vernissage::Session::axisDescriptor - for (WstringVectorIt itAllAxes = m_allAxesWString.begin(); itAllAxes != m_allAxesWString.end(); itAllAxes++) + for(WstringVectorIt itAllAxes = m_allAxesWString.begin(); itAllAxes != m_allAxesWString.end(); itAllAxes++) { const std::wstring axisNameWString = *itAllAxes; - const std::string axisNameString = toString(*itAllAxes); - - const Vernissage::Session::AxisDescriptor axisDescriptor = session->getAxisDescriptor(m_brickletPtr, axisNameWString); - AddEntry(m_metaData,axisNameString + ".clocks",axisDescriptor.clocks); - AddEntry(m_metaData,axisNameString + ".mirrored",boolToCString(axisDescriptor.mirrored)); - AddEntry(m_metaData,axisNameString + ".physicalUnit",axisDescriptor.physicalUnit); - AddEntry(m_metaData,axisNameString + ".physicalIncrement",axisDescriptor.physicalIncrement); - AddEntry(m_metaData,axisNameString + ".physicalStart",axisDescriptor.physicalStart); - AddEntry(m_metaData,axisNameString + ".rawIncrement",axisDescriptor.rawIncrement); - AddEntry(m_metaData,axisNameString + ".rawStart",axisDescriptor.rawStart); - AddEntry(m_metaData,axisNameString + ".triggerAxisName",axisDescriptor.triggerAxisName); + const std::string axisNameString = toString(*itAllAxes); + + const Vernissage::Session::AxisDescriptor axisDescriptor = + session->getAxisDescriptor(m_brickletPtr, axisNameWString); + AddEntry(m_metaData, axisNameString + ".clocks", axisDescriptor.clocks); + AddEntry(m_metaData, axisNameString + ".mirrored", boolToCString(axisDescriptor.mirrored)); + AddEntry(m_metaData, axisNameString + ".physicalUnit", axisDescriptor.physicalUnit); + AddEntry(m_metaData, axisNameString + ".physicalIncrement", axisDescriptor.physicalIncrement); + AddEntry(m_metaData, axisNameString + ".physicalStart", axisDescriptor.physicalStart); + AddEntry(m_metaData, axisNameString + ".rawIncrement", axisDescriptor.rawIncrement); + AddEntry(m_metaData, axisNameString + ".rawStart", axisDescriptor.rawStart); + AddEntry(m_metaData, axisNameString + ".triggerAxisName", axisDescriptor.triggerAxisName); // END Vernissage::Session::axisDescriptor // BEGIN Vernissage::Session:AxisTableSet - const Vernissage::Session::AxisTableSets axisTableSetsMap = session->getAxisTableSets(m_brickletPtr, axisNameWString); + const Vernissage::Session::AxisTableSets axisTableSetsMap = + session->getAxisTableSets(m_brickletPtr, axisNameWString); // if it is empty, we got the standard table set which is [start=1,step=1,stop=clocks] - if (axisTableSetsMap.empty()) + if(axisTableSetsMap.empty()) { - AddEntry(m_metaData,axisNameString + ".AxisTableSet.count","1"); - AddEntry(m_metaData,axisNameString + ".AxisTableSetNo1.axis",""); - AddEntry(m_metaData,axisNameString + ".AxisTableSetNo1.start","1"); - AddEntry(m_metaData,axisNameString + ".AxisTableSetNo1.step","1"); - AddEntry(m_metaData,axisNameString + ".AxisTableSetNo1.stop",axisDescriptor.clocks); + AddEntry(m_metaData, axisNameString + ".AxisTableSet.count", "1"); + AddEntry(m_metaData, axisNameString + ".AxisTableSetNo1.axis", ""); + AddEntry(m_metaData, axisNameString + ".AxisTableSetNo1.start", "1"); + AddEntry(m_metaData, axisNameString + ".AxisTableSetNo1.step", "1"); + AddEntry(m_metaData, axisNameString + ".AxisTableSetNo1.stop", axisDescriptor.clocks); } else { unsigned int index = 0; typedef Vernissage::Session::AxisTableSets::const_iterator AxisTableSetsIt; - for (AxisTableSetsIt itMap = axisTableSetsMap.begin(); itMap != axisTableSetsMap.end(); itMap++) + for(AxisTableSetsIt itMap = axisTableSetsMap.begin(); itMap != axisTableSetsMap.end(); itMap++) { typedef Vernissage::Session::TableSet::const_iterator TableSetIt; - for (TableSetIt it = itMap->second.begin(); it != itMap->second.end(); it++) + for(TableSetIt it = itMap->second.begin(); it != itMap->second.end(); it++) { index++; // 1-based index const std::string baseName = axisNameString + ".AxisTableSetNo" + toString(index) + ".axis"; - AddEntry(m_metaData,baseName,itMap->first); - AddEntry(m_metaData,baseName + ".start",it->start); - AddEntry(m_metaData,baseName + ".step",it->step); - AddEntry(m_metaData,baseName + ".stop",it->stop); + AddEntry(m_metaData, baseName, itMap->first); + AddEntry(m_metaData, baseName + ".start", it->start); + AddEntry(m_metaData, baseName + ".step", it->step); + AddEntry(m_metaData, baseName + ".stop", it->stop); } } - AddEntry(m_metaData,axisNameString + ".AxisTableSet.count",index); + AddEntry(m_metaData, axisNameString + ".AxisTableSet.count", index); } // END Vernissage::Session:AxisTableSet // BEGIN Vernissage::AxisParameters introduced with Vernissage 2.2 const ParameterMap axisParams = session->getAxisParameters(m_brickletPtr, axisNameWString); - AddParameterMap(m_metaData,axisNameString,axisParams); + AddParameterMap(m_metaData, axisNameString, axisParams); // END Vernissage::AxisParameters } // BEGIN Vernissage::CalibrationInfo introduced with Vernissage 2.2 { - typedef std::map CalibMap; + typedef std::map CalibMap; typedef CalibMap::const_iterator CalibMapIt; - const std::map calibMap = session->getCalibrationInformation(m_brickletPtr); + const std::map calibMap = + session->getCalibrationInformation(m_brickletPtr); - for (CalibMapIt it = calibMap.begin(); it != calibMap.end(); it++) + for(CalibMapIt it = calibMap.begin(); it != calibMap.end(); it++) { const std::string baseName = "calibration." + toString(it->first); const std::string dataSet = toString(it->second.dataSet); @@ -428,17 +433,17 @@ void Bricklet::loadMetaData() /* Wrapper function which returns a vector with the deployment parameters and their values */ -const std::vector& Bricklet::getDeploymentParameter() +const std::vector &Bricklet::getDeploymentParameter() { guard lock(m_mutex); - if (m_deployParams.empty()) + if(m_deployParams.empty()) { try { loadDeploymentParameters(); } - catch (CMemoryException* e) + catch(CMemoryException *e) { e->Delete(); HISTPRINT("Out of memory in getDeploymentParameter()"); @@ -458,57 +463,58 @@ void Bricklet::loadDeploymentParameters() m_deployParams.clear(); m_deployParams.reserve(RESERVE_SIZE); - Vernissage::Session* session = getVernissageSession(); + Vernissage::Session *session = getVernissageSession(); const WstringVector elementInstanceNames = session->getExperimentElementInstanceNames(m_brickletPtr, L""); - for (WstringVectorIt itInstance = elementInstanceNames.begin(); itInstance != elementInstanceNames.end(); itInstance++) + for(WstringVectorIt itInstance = elementInstanceNames.begin(); itInstance != elementInstanceNames.end(); itInstance++) { - typedef std::map ParamMap; + typedef std::map ParamMap; typedef ParamMap::const_iterator ParamMapIt; const ParamMap paramMap = session->getExperimentElementDeploymentParameters(m_brickletPtr, *itInstance); - for (ParamMapIt it = paramMap.begin(); it != paramMap.end(); it++) + for(ParamMapIt it = paramMap.begin(); it != paramMap.end(); it++) { const std::string key = toString(*itInstance) + "." + toString(it->first); - AddEntry(m_deployParams,key,it->second); + AddEntry(m_deployParams, key, it->second); } } ShrinkToFit(m_deployParams); } - // see Vernissage Manual page 20/21 // the idea here is to first get the root and triggerAxis for the Bricklet // Then we know the starting point of the axis hierachy (rootAxis) and the endpoint (triggerAxis) -// In this way we can then traverse from the endpoint (triggerAxis) to the starting point (rootAxis) and record all axis names -// In more than 99% of the cases this routine will return one to three axes -// The value of maxRuns is strictly speaking wrong because the Matrix Software supports an unlimited number of axes, but due to pragmativ and safe coding reasons this has ben set to 100. -// The returned list will have the entries "triggerAxisName;axisNameWhichTriggeredTheTriggerAxis;...;rootAxisName" +// In this way we can then traverse from the endpoint (triggerAxis) to the starting point (rootAxis) and record all axis +// names In more than 99% of the cases this routine will return one to three axes The value of maxRuns is strictly +// speaking wrong because the Matrix Software supports an unlimited number of axes, but due to pragmativ and safe coding +// reasons this has ben set to 100. The returned list will have the entries +// "triggerAxisName;axisNameWhichTriggeredTheTriggerAxis;...;rootAxisName" void Bricklet::generateAllAxesVector() { guard lock(m_mutex); - unsigned int numRuns = 0; + unsigned int numRuns = 0; const unsigned int maxRuns = 100; - Vernissage::Session* session = getVernissageSession(); - const std::wstring rootAxis = session->getRootAxisName(m_brickletPtr); + Vernissage::Session *session = getVernissageSession(); + const std::wstring rootAxis = session->getRootAxisName(m_brickletPtr); const std::wstring triggerAxis = session->getTriggerAxisName(m_brickletPtr); std::wstring axisName = triggerAxis; m_allAxesWString.push_back(triggerAxis); m_allAxesString.push_back(toString(triggerAxis)); - while (axisName != rootAxis) + while(axisName != rootAxis) { axisName = session->getAxisDescriptor(m_brickletPtr, axisName).triggerAxisName; m_allAxesWString.push_back(axisName); m_allAxesString.push_back(toString(axisName)); numRuns++; - if (numRuns > maxRuns) + if(numRuns > maxRuns) { - HISTPRINT("Found more than 100 axes in the axis hierachy. This is highly unlikely and therefore a bug in this XOP or in Vernissage."); + HISTPRINT("Found more than 100 axes in the axis hierachy. This is highly unlikely and therefore a bug in this " + "XOP or in Vernissage."); break; } } @@ -520,12 +526,12 @@ void Bricklet::generateAllAxesVector() /* Returns a vector with the axis hierarchy (std::wstring) */ -template<> -const std::vector& Bricklet::getAxes() +template <> +const std::vector &Bricklet::getAxes() { guard lock(m_mutex); - if (m_allAxesString.empty() || m_allAxesWString.empty()) + if(m_allAxesString.empty() || m_allAxesWString.empty()) { generateAllAxesVector(); } @@ -536,12 +542,12 @@ const std::vector& Bricklet::getAxes() /* Returns a vector with the axis hierarchy (std::string) */ -template<> -const std::vector& Bricklet::getAxes() +template <> +const std::vector &Bricklet::getAxes() { guard lock(m_mutex); - if (m_allAxesString.empty() || m_allAxesWString.empty()) + if(m_allAxesString.empty() || m_allAxesWString.empty()) { generateAllAxesVector(); } @@ -552,7 +558,7 @@ const std::vector& Bricklet::getAxes() /* Resetting *vernissageBricklet is only needed after the same result file is loaded again to check for new bricklets */ -void Bricklet::setBrickletPointer( void* const vernissageBricklet ) +void Bricklet::setBrickletPointer(void *const vernissageBricklet) { guard lock(m_mutex); @@ -563,12 +569,12 @@ void Bricklet::setBrickletPointer( void* const vernissageBricklet ) /* Does never return NULL */ -void* Bricklet::getBrickletPointer() const +void *Bricklet::getBrickletPointer() const { return m_brickletPtr; } -const ExtremaData& Bricklet::getExtrema() const +const ExtremaData &Bricklet::getExtrema() const { return m_extrema; } @@ -582,18 +588,18 @@ int Bricklet::getRawDataSize() std::size_t Bricklet::getUsedMemory() const { std::size_t usedMemMetaData = 0; - std::size_t usedMemRawData = m_rawBufferContentsSize * sizeof(int); + std::size_t usedMemRawData = m_rawBufferContentsSize * sizeof(int); DEBUGPRINT("Memory usage of bricklet %d:", m_brickletID) DEBUGPRINT("Raw data %d KiB:", usedMemRawData / 1024) - for (StringPairVectorCIt it = m_metaData.begin(); it != m_metaData.end(); it++) + for(StringPairVectorCIt it = m_metaData.begin(); it != m_metaData.end(); it++) { usedMemMetaData += it->first.length() + 1; usedMemMetaData += it->second.length() + 1; } - for (StringPairVectorCIt it = m_deployParams.begin(); it != m_deployParams.end(); it++) + for(StringPairVectorCIt it = m_deployParams.begin(); it != m_deployParams.end(); it++) { usedMemMetaData += it->first.length() + 1; usedMemMetaData += it->second.length() + 1; diff --git a/VC8/bricklet.hpp b/VC8/bricklet.hpp index 00e3102..a4f11d7 100644 --- a/VC8/bricklet.hpp +++ b/VC8/bricklet.hpp @@ -19,29 +19,29 @@ class Bricklet { public: - Bricklet(int brickletID, void* const vernissageBricklet); + Bricklet(int brickletID, void *const vernissageBricklet); ~Bricklet(); public: - void setBrickletPointer(void* const vernissageBricklet); + void setBrickletPointer(void *const vernissageBricklet); void clearCache(); - int* getRawData(); - int getRawDataSize(); + int *getRawData(); + int getRawDataSize(); - const std::vector& getMetaData(); - const std::vector& getDeploymentParameter(); + const std::vector &getMetaData(); + const std::vector &getDeploymentParameter(); - template - T getMetaDataValue(const std::string& key) + template + T getMetaDataValue(const std::string &key) { return stringToAnyType(getMetaDataValue(key)); } - template<> - std::string getMetaDataValue( const std::string& key ) + template <> + std::string getMetaDataValue(const std::string &key) { - if (key.empty()) + if(key.empty()) { HISTPRINT("BUG: getMetaDataValueAsString called with empty parameter"); return std::string(); @@ -49,9 +49,9 @@ class Bricklet getMetaData(); - for (unsigned int i = 0; i < m_metaData.size(); i++) + for(unsigned int i = 0; i < m_metaData.size(); i++) { - if (m_metaData[i].first == key.c_str()) + if(m_metaData[i].first == key.c_str()) { return std::string(m_metaData[i].second); } @@ -59,29 +59,29 @@ class Bricklet return std::string(); } - template - const std::vector& getAxes(); ///< Empty template definition + template + const std::vector &getAxes(); ///< Empty template definition - template<> - const std::vector& getAxes(); + template <> + const std::vector &getAxes(); - template<> - const std::vector& getAxes(); + template <> + const std::vector &getAxes(); - void* getBrickletPointer()const; - const ExtremaData& getExtrema()const; + void *getBrickletPointer() const; + const ExtremaData &getExtrema() const; std::size_t getUsedMemory() const; private: - Bricklet(const Bricklet&); - Bricklet& operator=(const Bricklet&); + Bricklet(const Bricklet &); + Bricklet &operator=(const Bricklet &); void loadMetaData(); void loadDeploymentParameters(); void generateAllAxesVector(); - void* m_brickletPtr; + void *m_brickletPtr; const int m_brickletID; // storage for the raw data @@ -96,7 +96,7 @@ class Bricklet // special meta data std::vector m_allAxesWString; - std::vector m_allAxesString; + std::vector m_allAxesString; boost::recursive_mutex m_mutex; }; diff --git a/VC8/brickletconverter.cpp b/VC8/brickletconverter.cpp index ee60019..403c17d 100644 --- a/VC8/brickletconverter.cpp +++ b/VC8/brickletconverter.cpp @@ -16,1288 +16,1266 @@ namespace { - typedef std::vector WaveVec; - typedef std::vector::iterator WaveIt; - typedef std::vector StringVector; - typedef std::vector::const_iterator StringVectorCIt; - - // Vernissage typedef - typedef std::vector ViewTypeCodeVector; - typedef ViewTypeCodeVector::const_iterator ViewTypeCodeVectorCIt; - typedef Vernissage::Session::TableSet TableSet; - typedef Vernissage::Session::AxisTableSets AxisTableSets; - typedef TableSet::const_iterator TableSetCIt; - typedef Vernissage::Session::AxisDescriptor AxisDescriptor; - - // Create data for the raw->scaled transformation - typedef std::pair TransData; - TransData CalculateTransformationParameter(const Bricklet& bricklet) - { - double slope, yIntercept; +typedef std::vector WaveVec; +typedef std::vector::iterator WaveIt; +typedef std::vector StringVector; +typedef std::vector::const_iterator StringVectorCIt; + +// Vernissage typedef +typedef std::vector ViewTypeCodeVector; +typedef ViewTypeCodeVector::const_iterator ViewTypeCodeVectorCIt; +typedef Vernissage::Session::TableSet TableSet; +typedef Vernissage::Session::AxisTableSets AxisTableSets; +typedef TableSet::const_iterator TableSetCIt; +typedef Vernissage::Session::AxisDescriptor AxisDescriptor; + +// Create data for the raw->scaled transformation +typedef std::pair TransData; +TransData CalculateTransformationParameter(const Bricklet &bricklet) +{ + double slope, yIntercept; - // the min and max values here are for the complete bricklet data and not only for one wave - const int x1 = bricklet.getExtrema().getRawMin(); - const int x2 = bricklet.getExtrema().getRawMax(); - const double y1 = bricklet.getExtrema().getPhysValRawMin(); - const double y2 = bricklet.getExtrema().getPhysValRawMax(); + // the min and max values here are for the complete bricklet data and not only for one wave + const int x1 = bricklet.getExtrema().getRawMin(); + const int x2 = bricklet.getExtrema().getRawMax(); + const double y1 = bricklet.getExtrema().getPhysValRawMin(); + const double y2 = bricklet.getExtrema().getPhysValRawMax(); - if(GlobalData::Instance().magicSetting() & identity_transformation) + if(GlobalData::Instance().magicSetting() & identity_transformation) + { + slope = 1.0; + yIntercept = 0.0; + } + else + { + // usually xOne is not equal to xTwo + if(x1 != x2) { - slope = 1.0; - yIntercept = 0.0; + slope = (y1 - y2) / (x1 * 1.0 - x2 * 1.0); + yIntercept = y1 - slope * x1; } else { - // usually xOne is not equal to xTwo - if (x1 != x2) - { - slope = (y1 - y2) / (x1 * 1.0 - x2 * 1.0); - yIntercept = y1 - slope * x1; - } - else - { - // but if it is we have to do something different - // xOne == xTwo means that the minimum is equal to the maximum, so the data is everywhere yOne == yTwo aka constant - slope = 0.0; - yIntercept = y1; - } + // but if it is we have to do something different + // xOne == xTwo means that the minimum is equal to the maximum, so the data is everywhere yOne == yTwo aka + // constant + slope = 0.0; + yIntercept = y1; } - DEBUGPRINT("raw->scaled transformation: xOne=%d,xTwo=%d,yOne=%.15g,yTwo=%.15g", x1, x2, y1, y2); - DEBUGPRINT("raw->scaled transformation: slope=%.15g,yIntercept=%.15g", slope, yIntercept); - - return std::make_pair(slope, yIntercept); } + DEBUGPRINT("raw->scaled transformation: xOne=%d,xTwo=%d,yOne=%.15g,yTwo=%.15g", x1, x2, y1, y2); + DEBUGPRINT("raw->scaled transformation: slope=%.15g,yIntercept=%.15g", slope, yIntercept); + + return std::make_pair(slope, yIntercept); +} - int createEmptyWaves( WaveVec& waves, DataFolderHandle waveFolderHandle, CountInt* dimensionSizes ) +int createEmptyWaves(WaveVec &waves, DataFolderHandle waveFolderHandle, CountInt *dimensionSizes) +{ + for(WaveIt it = waves.begin(); it != waves.end(); it++) { - for (WaveIt it = waves.begin(); it != waves.end(); it++) + // skip empty entries + if(it->isEmpty()) { - // skip empty entries - if (it->isEmpty()) - { - continue; - } - - waveHndl waveHandle; - int ret = MDMakeWave(&waveHandle, it->getWaveName(), waveFolderHandle, dimensionSizes, - getIgorWaveType(), isOverwriteEnabled()); + continue; + } - if (ret == NAME_WAV_CONFLICT) - { - DEBUGPRINT("Wave %s already exists.", it->getWaveName()); - return WAVE_EXIST; - } - else if (ret != 0) - { - HISTPRINT("Error %d in creating wave %s.", ret, it->getWaveName()); - return UNKNOWN_ERROR; - } + waveHndl waveHandle; + int ret = MDMakeWave(&waveHandle, it->getWaveName(), waveFolderHandle, dimensionSizes, getIgorWaveType(), + isOverwriteEnabled()); - it->setWaveHandle(waveHandle); - it->clearWave(); + if(ret == NAME_WAV_CONFLICT) + { + DEBUGPRINT("Wave %s already exists.", it->getWaveName()); + return WAVE_EXIST; } - - for (WaveIt it = waves.begin(); GlobalData::Instance().isDebuggingEnabled() && it != waves.end(); it++) + else if(ret != 0) { - if (it->isEmpty()) - { - continue; - } - - it->printDebugInfo(); + HISTPRINT("Error %d in creating wave %s.", ret, it->getWaveName()); + return UNKNOWN_ERROR; } - return 0; + it->setWaveHandle(waveHandle); + it->clearWave(); } - int HandleResamplingIfRequested(DataFolderHandle waveFolderHandle, Wave& wave, int dimension, bool resampleData, int pixelSize) + for(WaveIt it = waves.begin(); GlobalData::Instance().isDebuggingEnabled() && it != waves.end(); it++) { - if (!resampleData) + if(it->isEmpty()) { - return 0; + continue; } - wave.SetPixelSize(pixelSize); + it->printDebugInfo(); + } - DEBUGPRINT("Resampling wave %s with pixelSize=%d", wave.getWaveName(), pixelSize); + return 0; +} - char dataFolderPath[MAXCMDLEN + 1]; - // flag=3 results in the full path being returned including a trailing colon - int ret = GetDataFolderNameOrPath(waveFolderHandle, 3, dataFolderPath); +int HandleResamplingIfRequested(DataFolderHandle waveFolderHandle, Wave &wave, int dimension, bool resampleData, + int pixelSize) +{ + if(!resampleData) + { + return 0; + } + + wave.SetPixelSize(pixelSize); - if (ret != 0) + DEBUGPRINT("Resampling wave %s with pixelSize=%d", wave.getWaveName(), pixelSize); + + char dataFolderPath[MAXCMDLEN + 1]; + // flag=3 results in the full path being returned including a trailing colon + int ret = GetDataFolderNameOrPath(waveFolderHandle, 3, dataFolderPath); + + if(ret != 0) + { + return ret; + } + + char cmd[MAXCMDLEN + ARRAY_SIZE]; + if(dimension == 1) + { + // Command: "Resample/DOWN= [...] wave" + sprintf(cmd, "Resample/DOWN={%d} %s", pixelSize, dataFolderPath); + CatPossiblyQuotedName(cmd, wave.getWaveName()); + + ret = XOPSilentCommand(cmd); + + if(ret != 0) { + HISTPRINT("The command _%s_ failed to execute. So the XOP has to be fixed...", cmd); return ret; } + } + else if(dimension == 2) + { + // Command: "ImageInterpolate [...] Pixelate" + sprintf(cmd, "ImageInterpolate/PXSZ={%d,%d}/DEST=%sM_PixelatedImage Pixelate %s", pixelSize, pixelSize, + dataFolderPath, dataFolderPath); + CatPossiblyQuotedName(cmd, wave.getWaveName()); + + ret = XOPSilentCommand(cmd); - char cmd[ARRAY_SIZE]; - if(dimension == 1) + if(ret != 0) { - // Command: "Resample/DOWN= [...] wave" - sprintf(cmd, "Resample/DOWN={%d} %s", pixelSize, dataFolderPath); - CatPossiblyQuotedName(cmd, wave.getWaveName()); + HISTPRINT("The command _%s_ failed to execute. So the XOP has to be fixed...", cmd); + return ret; + } - ret = XOPSilentCommand(cmd); + // kill the un-interpolated wave + ret = KillWave(wave.getWaveHandle()); - if (ret != 0) - { - HISTPRINT("The command _%s_ failed to execute. So the XOP has to be fixed...", cmd); - return ret; - } - } - else if(dimension == 2) + if(ret != 0) { - // Command: "ImageInterpolate [...] Pixelate" - sprintf(cmd, "ImageInterpolate/PXSZ={%d,%d}/DEST=%sM_PixelatedImage Pixelate %s", - pixelSize, pixelSize, dataFolderPath, dataFolderPath); - CatPossiblyQuotedName(cmd, wave.getWaveName()); + return ret; + } - ret = XOPSilentCommand(cmd); + // rename wave from M_PixelatedImage to waveNameVector[i] both sitting in dataFolderPath + ret = RenameDataFolderObject(waveFolderHandle, WAVE_OBJECT, "M_PixelatedImage", wave.getWaveName()); - if (ret != 0) - { - HISTPRINT("The command _%s_ failed to execute. So the XOP has to be fixed...", cmd); - return ret; - } + if(ret != 0) + { + return ret; + } + } - // kill the un-interpolated wave - ret = KillWave(wave.getWaveHandle()); + wave.setWaveHandle(FetchWaveFromDataFolder(waveFolderHandle, wave.getWaveName())); - if (ret != 0) - { - return ret; - } - - // rename wave from M_PixelatedImage to waveNameVector[i] both sitting in dataFolderPath - ret = RenameDataFolderObject(waveFolderHandle, WAVE_OBJECT, "M_PixelatedImage", wave.getWaveName()); + return 0; +} - if (ret != 0) - { - return ret; - } - } +int createWaves1D(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char *waveBaseName, + int brickletID, bool resampleData, int pixelSize, std::string &waveNameList) +{ + CountInt dimensionSizes[MAX_DIMENSIONS + 1]; + MemClear(dimensionSizes, sizeof(dimensionSizes)); - wave.setWaveHandle(FetchWaveFromDataFolder(waveFolderHandle, wave.getWaveName())); + Bricklet &bricklet = GlobalData::Instance().getBricklet(brickletID); + void *vernissageBricklet = bricklet.getBrickletPointer(); + Vernissage::Session *session = getVernissageSession(); - return 0; + const int *rawBrickletDataPtr = bricklet.getRawData(); + if(rawBrickletDataPtr == NULL) + { + HISTPRINT("Could not load bricklet contents."); + return UNKNOWN_ERROR; } + const int rawBrickletSize = bricklet.getRawDataSize(); - int createWaves1D(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char* waveBaseName, int brickletID, bool resampleData, int pixelSize, std::string& waveNameList) - { - CountInt dimensionSizes[MAX_DIMENSIONS + 1]; - MemClear(dimensionSizes, sizeof(dimensionSizes)); + const int brickletType = session->getType(vernissageBricklet); + const std::wstring triggerAxisName = session->getTriggerAxisName(vernissageBricklet); + const AxisDescriptor triggerAxis = session->getAxisDescriptor(vernissageBricklet, triggerAxisName); + int numPointsTriggerAxis = triggerAxis.clocks; + // axis length and data length differ in case this is an aborted I(t) scan or similar + int dataSize = rawBrickletSize; - Bricklet& bricklet = GlobalData::Instance().getBricklet(brickletID); - void* vernissageBricklet = bricklet.getBrickletPointer(); - Vernissage::Session* session = getVernissageSession(); + DEBUGPRINT("rawBrickletSize=%d, numPointsTriggerAxis=%d, triggerAxis.mirrored=%s", rawBrickletSize, + numPointsTriggerAxis, boolToCString(triggerAxis.mirrored)); - const int* rawBrickletDataPtr = bricklet.getRawData(); - if (rawBrickletDataPtr == NULL) + std::vector waves(MAX_NUM_WAVES); + Wave &wave1 = waves[0]; + Wave &wave2 = waves[1]; + + if(triggerAxis.mirrored) + { + if(numPointsTriggerAxis != rawBrickletSize) { - HISTPRINT("Could not load bricklet contents."); - return UNKNOWN_ERROR; + HISTPRINT("BUG: Axis length differs from data length. Keep fingers crossed!"); } - const int rawBrickletSize = bricklet.getRawDataSize(); - - const int brickletType = session->getType(vernissageBricklet); - const std::wstring triggerAxisName = session->getTriggerAxisName(vernissageBricklet); - const AxisDescriptor triggerAxis = session->getAxisDescriptor(vernissageBricklet, triggerAxisName); - int numPointsTriggerAxis = triggerAxis.clocks; - // axis length and data length differ in case this is an aborted I(t) scan or similar - int dataSize = rawBrickletSize; - - DEBUGPRINT("rawBrickletSize=%d, numPointsTriggerAxis=%d, triggerAxis.mirrored=%s", - rawBrickletSize, numPointsTriggerAxis, boolToCString(triggerAxis.mirrored)); - - std::vector waves(MAX_NUM_WAVES); - Wave& wave1 = waves[0]; - Wave& wave2 = waves[1]; - - if (triggerAxis.mirrored) + if(brickletType != Vernissage::Session::btc_SPMSpectroscopy) { - if (numPointsTriggerAxis != rawBrickletSize) - { - HISTPRINT("BUG: Axis length differs from data length. Keep fingers crossed!"); - } - if (brickletType != Vernissage::Session::btc_SPMSpectroscopy) - { - HISTPRINT("BUG: Unexpected mirrored trigger axis with non btc_SPMSpectroscopy dataset."); - } + HISTPRINT("BUG: Unexpected mirrored trigger axis with non btc_SPMSpectroscopy dataset."); + } + wave1.setProperties(waveBaseName, NO_TRACE, suffixRampFwd); + wave2.setProperties(waveBaseName, NO_TRACE, suffixRampBwd); + numPointsTriggerAxis /= 2; + dataSize = numPointsTriggerAxis; + } + else + { + // at the moment the special suffix makes only sense with 1D SPS data + if(brickletType == Vernissage::Session::btc_SPMSpectroscopy) + { wave1.setProperties(waveBaseName, NO_TRACE, suffixRampFwd); - wave2.setProperties(waveBaseName, NO_TRACE, suffixRampBwd); - numPointsTriggerAxis /= 2; - dataSize = numPointsTriggerAxis; } else { - // at the moment the special suffix makes only sense with 1D SPS data - if (brickletType == Vernissage::Session::btc_SPMSpectroscopy) - { - wave1.setProperties(waveBaseName, NO_TRACE, suffixRampFwd); - } - else - { - wave1.setProperties(waveBaseName, NO_TRACE); - } + wave1.setProperties(waveBaseName, NO_TRACE); } + } - dimensionSizes[ROWS] = numPointsTriggerAxis; + dimensionSizes[ROWS] = numPointsTriggerAxis; - int ret = createEmptyWaves(waves,waveFolderHandle, dimensionSizes); - if( ret != 0) - { - return ret; - } + int ret = createEmptyWaves(waves, waveFolderHandle, dimensionSizes); + if(ret != 0) + { + return ret; + } - const TransData transData = CalculateTransformationParameter(bricklet); - const double slope = transData.first; - const double yIntercept = transData.second; + const TransData transData = CalculateTransformationParameter(bricklet); + const double slope = transData.first; + const double yIntercept = transData.second; - for (int i = 0; i < dataSize; i++) + for(int i = 0; i < dataSize; i++) + { + const int rawValue = rawBrickletDataPtr[i]; + wave1.fillWave(i, rawValue, rawValue * slope + yIntercept); + } + + if(triggerAxis.mirrored) + { + const int firstBlockOffset = numPointsTriggerAxis; + + for(int i = 0; i < numPointsTriggerAxis; i++) { - const int rawValue = rawBrickletDataPtr[i]; - wave1.fillWave(i, rawValue, rawValue * slope + yIntercept); + const int rawValue = rawBrickletDataPtr[firstBlockOffset + i]; + wave2.fillWave(firstBlockOffset - i - 1, rawValue, rawValue * slope + yIntercept); } + } - if (triggerAxis.mirrored) + for(WaveIt it = waves.begin(); it != waves.end(); it++) + { + // skip empty entries + if(it->isEmpty()) { - const int firstBlockOffset = numPointsTriggerAxis; + continue; + } - for (int i = 0; i < numPointsTriggerAxis; i++) - { - const int rawValue = rawBrickletDataPtr[firstBlockOffset + i]; - wave2.fillWave(firstBlockOffset - i - 1, rawValue, rawValue * slope + yIntercept); - } + ret = HandleResamplingIfRequested(waveFolderHandle, *it, 1, resampleData, pixelSize); + + if(ret != 0) + { + return ret; } - for (WaveIt it = waves.begin(); it != waves.end(); it++) + double xAxisDelta; + + // also the wave scaling changes if we have resampled the data + if(resampleData) { - // skip empty entries - if (it->isEmpty()) - { - continue; - } + CountInt interpolatedDimSizes[MAX_DIMENSIONS + 1]; + MemClear(interpolatedDimSizes, sizeof(interpolatedDimSizes)); - ret = HandleResamplingIfRequested(waveFolderHandle, *it, 1, resampleData, pixelSize); + int numDimensions; + ret = MDGetWaveDimensions(it->getWaveHandle(), &numDimensions, interpolatedDimSizes); - if (ret != 0) + if(ret != 0) { return ret; } - double xAxisDelta; - - // also the wave scaling changes if we have resampled the data - if (resampleData) - { - CountInt interpolatedDimSizes[MAX_DIMENSIONS + 1]; - MemClear(interpolatedDimSizes, sizeof(interpolatedDimSizes)); + xAxisDelta = triggerAxis.physicalIncrement * double(dimensionSizes[ROWS]) / double(interpolatedDimSizes[ROWS]); + } + else // original spectrum + { + xAxisDelta = triggerAxis.physicalIncrement; + } - int numDimensions; - ret = MDGetWaveDimensions(it->getWaveHandle(), &numDimensions, interpolatedDimSizes); + setDataWaveNote(brickletID, *it); + it->setWaveScaling(ROWS, &xAxisDelta, &triggerAxis.physicalStart); + it->setWaveUnits(DATA, bricklet.getMetaDataValue(CHANNEL_UNIT_KEY)); + it->setWaveUnits(ROWS, triggerAxis.physicalUnit); - if (ret != 0) - { - return ret; - } - - xAxisDelta = triggerAxis.physicalIncrement * double(dimensionSizes[ROWS]) / double(interpolatedDimSizes[ROWS]); - } - else // original spectrum - { - xAxisDelta = triggerAxis.physicalIncrement; - } + appendToWaveList(baseFolderHandle, it->getWaveHandle(), waveNameList); + } - setDataWaveNote(brickletID, *it); - it->setWaveScaling(ROWS, &xAxisDelta, &triggerAxis.physicalStart); - it->setWaveUnits(DATA, bricklet.getMetaDataValue(CHANNEL_UNIT_KEY)); - it->setWaveUnits(ROWS, triggerAxis.physicalUnit); + return SUCCESS; +} - appendToWaveList(baseFolderHandle, it->getWaveHandle(), waveNameList); - } +int createWaves2D(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char *waveBaseName, + int brickletID, bool resampleData, int pixelSize, std::string &waveNameList) +{ + CountInt dimensionSizes[MAX_DIMENSIONS + 1]; + MemClear(dimensionSizes, sizeof(dimensionSizes)); - return SUCCESS; - } + Bricklet &bricklet = GlobalData::Instance().getBricklet(brickletID); + void *vernissageBricklet = bricklet.getBrickletPointer(); + Vernissage::Session *session = getVernissageSession(); - int createWaves2D(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char* waveBaseName, int brickletID, bool resampleData, int pixelSize, std::string& waveNameList) + const int *rawBrickletDataPtr = bricklet.getRawData(); + if(rawBrickletDataPtr == NULL) { - CountInt dimensionSizes[MAX_DIMENSIONS + 1]; - MemClear(dimensionSizes, sizeof(dimensionSizes)); - - Bricklet& bricklet = GlobalData::Instance().getBricklet(brickletID); - void* vernissageBricklet = bricklet.getBrickletPointer(); - Vernissage::Session* session = getVernissageSession(); - - const int* rawBrickletDataPtr = bricklet.getRawData(); - if (rawBrickletDataPtr == NULL) - { - HISTPRINT("Could not load bricklet contents."); - return UNKNOWN_ERROR; - } - const int rawBrickletSize = bricklet.getRawDataSize(); + HISTPRINT("Could not load bricklet contents."); + return UNKNOWN_ERROR; + } + const int rawBrickletSize = bricklet.getRawDataSize(); - const AxisDescriptor triggerAxis = session->getAxisDescriptor(vernissageBricklet, session->getTriggerAxisName(vernissageBricklet)); + const AxisDescriptor triggerAxis = + session->getAxisDescriptor(vernissageBricklet, session->getTriggerAxisName(vernissageBricklet)); - // Determine the length of one "line" of data - int numPointsTriggerAxis = triggerAxis.clocks; + // Determine the length of one "line" of data + int numPointsTriggerAxis = triggerAxis.clocks; - if (triggerAxis.mirrored) - { - // The axis has the "mirrored" characteristic, thus it has a - // "forward" and a "backward" section. Thus, the length of one line - // is only half the number of clocks that triggered the channel. - numPointsTriggerAxis /= 2; - } + if(triggerAxis.mirrored) + { + // The axis has the "mirrored" characteristic, thus it has a + // "forward" and a "backward" section. Thus, the length of one line + // is only half the number of clocks that triggered the channel. + numPointsTriggerAxis /= 2; + } - // There must be another axis, because the Bricklet has two dimensions: - const AxisDescriptor rootAxis = session->getAxisDescriptor(vernissageBricklet, triggerAxis.triggerAxisName); + // There must be another axis, because the Bricklet has two dimensions: + const AxisDescriptor rootAxis = session->getAxisDescriptor(vernissageBricklet, triggerAxis.triggerAxisName); - // Determine the length of one "line" of data - int numPointsRootAxis = rootAxis.clocks; + // Determine the length of one "line" of data + int numPointsRootAxis = rootAxis.clocks; - if (rootAxis.mirrored) - { - // The axis has the "mirrored" characteristic, thus it has a - // "forward" and a "backward" section. Thus, the length of one line - // is only half the number of clocks that triggered the channel. - numPointsRootAxis /= 2; - } + if(rootAxis.mirrored) + { + // The axis has the "mirrored" characteristic, thus it has a + // "forward" and a "backward" section. Thus, the length of one line + // is only half the number of clocks that triggered the channel. + numPointsRootAxis /= 2; + } - DEBUGPRINT("numPointsRootAxis=%d", numPointsRootAxis); - DEBUGPRINT("numPointsTriggerAxis=%d", numPointsTriggerAxis); + DEBUGPRINT("numPointsRootAxis=%d", numPointsRootAxis); + DEBUGPRINT("numPointsTriggerAxis=%d", numPointsTriggerAxis); - dimensionSizes[ROWS] = numPointsTriggerAxis; - dimensionSizes[COLUMNS] = numPointsRootAxis; - const int waveSize = dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + dimensionSizes[ROWS] = numPointsTriggerAxis; + dimensionSizes[COLUMNS] = numPointsRootAxis; + const CountInt waveSize = dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - WaveVec waves(MAX_NUM_WAVES); - Wave& traceUpData = waves[TRACE_UP]; - Wave& reTraceUpData = waves[RE_TRACE_UP]; - Wave& traceDownData = waves[TRACE_DOWN]; - Wave& reTraceDownData = waves[RE_TRACE_DOWN]; + WaveVec waves(MAX_NUM_WAVES); + Wave &traceUpData = waves[TRACE_UP]; + Wave &reTraceUpData = waves[RE_TRACE_UP]; + Wave &traceDownData = waves[TRACE_DOWN]; + Wave &reTraceDownData = waves[RE_TRACE_DOWN]; - int triggerAxisBlockSize; + int triggerAxisBlockSize; - // now we have to distinguish three cases on how many 2D waves we need - // both axis are mirrored: 4 - // one mirrored, one not: 2 - // none mirrored: 1 - if (triggerAxis.mirrored && rootAxis.mirrored) - { - triggerAxisBlockSize = 2 * numPointsTriggerAxis; - waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); - waves[RE_TRACE_UP].setProperties(waveBaseName, RE_TRACE_UP); - waves[TRACE_DOWN].setProperties(waveBaseName, TRACE_DOWN); - waves[RE_TRACE_DOWN].setProperties(waveBaseName, RE_TRACE_DOWN); - } - else if (triggerAxis.mirrored) - { - triggerAxisBlockSize = 2 * numPointsTriggerAxis; - waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); - waves[RE_TRACE_UP].setProperties(waveBaseName, RE_TRACE_UP); - } - else if (rootAxis.mirrored) - { - triggerAxisBlockSize = numPointsTriggerAxis; - waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); - waves[TRACE_DOWN].setProperties(waveBaseName, TRACE_DOWN); - } - else - { - triggerAxisBlockSize = numPointsTriggerAxis; - waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); - } + // now we have to distinguish three cases on how many 2D waves we need + // both axis are mirrored: 4 + // one mirrored, one not: 2 + // none mirrored: 1 + if(triggerAxis.mirrored && rootAxis.mirrored) + { + triggerAxisBlockSize = 2 * numPointsTriggerAxis; + waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); + waves[RE_TRACE_UP].setProperties(waveBaseName, RE_TRACE_UP); + waves[TRACE_DOWN].setProperties(waveBaseName, TRACE_DOWN); + waves[RE_TRACE_DOWN].setProperties(waveBaseName, RE_TRACE_DOWN); + } + else if(triggerAxis.mirrored) + { + triggerAxisBlockSize = 2 * numPointsTriggerAxis; + waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); + waves[RE_TRACE_UP].setProperties(waveBaseName, RE_TRACE_UP); + } + else if(rootAxis.mirrored) + { + triggerAxisBlockSize = numPointsTriggerAxis; + waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); + waves[TRACE_DOWN].setProperties(waveBaseName, TRACE_DOWN); + } + else + { + triggerAxisBlockSize = numPointsTriggerAxis; + waves[TRACE_UP].setProperties(waveBaseName, TRACE_UP); + } - int ret = createEmptyWaves(waves,waveFolderHandle,dimensionSizes); - if(ret != 0) - { - return ret; - } + int ret = createEmptyWaves(waves, waveFolderHandle, dimensionSizes); + if(ret != 0) + { + return ret; + } - const int firstBlockOffset = numPointsRootAxis * triggerAxisBlockSize; - - const TransData transData = CalculateTransformationParameter(bricklet); - const double slope = transData.first; - const double yIntercept = transData.second; - - // See also Vernissage manual page 22f - // triggerAxisBlockSize: number of points in the raw data array which were acquired at the same root axis position - // firstBlockOffset: offset position where the traceDown data starts - - // *RawBrickletIndex: source index into the raw data vernissage - // *DataIndex: destination index into the igor wave (the funny index tricks are needed because of the organization of the wave in the memory) - - // data layout of igor waves in memory (Igor XOP Manual p. 238) - // - the wave is linear in the memory - // - going along the arrray will first fill the first column from row 0 to end and then the second column and so on - - // TraceUp aka Forward/Up - // ReTraceUp aka Backward/Up - // TraceDown aka Forward/Down - // ReTraceDown aka Backward/Down - // horizontal axis aka X axis in Pascal's Scala Routines aka triggerAxis aka ROWS - // vertical axis aka Y axis in Pascal's Scala Routines aka rootAxis aka COLUMNS - - // Definitions: - // raw data index (the array from wich the data is read): r(i,j) - // wave data index (the array to which the data is written after conversion to physical values): w(i,j) - // conversion routine: c(r,s,y) = rawData[r(i,j)] * s + y - // writing data algorithm: waveData[w(i,j)] = c(r,s,y) - // COLUMNS index: 0 <= i < numPointsRootAxis - // ROW index: 0 <= j < numPointsTriggerAxis - // t_{bs}: triggerAxisBlockSize - // t_{np}: numPointsTriggerAxis - // r_{np}: numPointsRootAxis - // f_{bo}: offset position into the rawdata array denoting where the traceDown data starts - // TRACE_UP - // r(i,j) = i * t_{bs} + j - // w(i,j) = i * t_{np} + j - // TRACE_DOWN - // r(i,j) = f_{bo} + i * t_{bs} + j - // w(i,j) = ( r_{np} - ( i + 1 ) ) * t_{np} + j - // RETRACE_UP - // r(i,j) = ( i + 1 ) * t_{bs} - ( j + 1 ) - // w(i,j) = i * t_{np} + j - // RETRACE_DOWN - // r(i,j) = f_{bo} + ( i + 1 ) * t_{bs} - ( j + 1 ) - // w(i,j) = ( r_{np} - ( i + 1 ) ) * t_{np} + j - - double scaledValue; - int rawValue; - int dataIndex, rawIndex; - - // COLUMNS - for (int i = 0; i < numPointsRootAxis; i++) + const int firstBlockOffset = numPointsRootAxis * triggerAxisBlockSize; + + const TransData transData = CalculateTransformationParameter(bricklet); + const double slope = transData.first; + const double yIntercept = transData.second; + + // See also Vernissage manual page 22f + // triggerAxisBlockSize: number of points in the raw data array which were acquired at the same root axis position + // firstBlockOffset: offset position where the traceDown data starts + + // *RawBrickletIndex: source index into the raw data vernissage + // *DataIndex: destination index into the igor wave (the funny index tricks are needed because of the organization of + // the wave in the memory) + + // data layout of igor waves in memory (Igor XOP Manual p. 238) + // - the wave is linear in the memory + // - going along the arrray will first fill the first column from row 0 to end and then the second column and so on + + // TraceUp aka Forward/Up + // ReTraceUp aka Backward/Up + // TraceDown aka Forward/Down + // ReTraceDown aka Backward/Down + // horizontal axis aka X axis in Pascal's Scala Routines aka triggerAxis aka ROWS + // vertical axis aka Y axis in Pascal's Scala Routines aka rootAxis aka COLUMNS + + // Definitions: + // raw data index (the array from wich the data is read): r(i,j) + // wave data index (the array to which the data is written after conversion to physical values): w(i,j) + // conversion routine: c(r,s,y) = rawData[r(i,j)] * s + y + // writing data algorithm: waveData[w(i,j)] = c(r,s,y) + // COLUMNS index: 0 <= i < numPointsRootAxis + // ROW index: 0 <= j < numPointsTriggerAxis + // t_{bs}: triggerAxisBlockSize + // t_{np}: numPointsTriggerAxis + // r_{np}: numPointsRootAxis + // f_{bo}: offset position into the rawdata array denoting where the traceDown data starts + // TRACE_UP + // r(i,j) = i * t_{bs} + j + // w(i,j) = i * t_{np} + j + // TRACE_DOWN + // r(i,j) = f_{bo} + i * t_{bs} + j + // w(i,j) = ( r_{np} - ( i + 1 ) ) * t_{np} + j + // RETRACE_UP + // r(i,j) = ( i + 1 ) * t_{bs} - ( j + 1 ) + // w(i,j) = i * t_{np} + j + // RETRACE_DOWN + // r(i,j) = f_{bo} + ( i + 1 ) * t_{bs} - ( j + 1 ) + // w(i,j) = ( r_{np} - ( i + 1 ) ) * t_{np} + j + + double scaledValue; + int rawValue; + int dataIndex, rawIndex; + + // COLUMNS + for(int i = 0; i < numPointsRootAxis; i++) + { + // ROWS + for(int j = 0; j < numPointsTriggerAxis; j++) { - // ROWS - for (int j = 0; j < numPointsTriggerAxis; j++) + // traceUp + if(traceUpData.moreData) { - // traceUp - if (traceUpData.moreData) + rawIndex = i * triggerAxisBlockSize + j; + dataIndex = i * numPointsTriggerAxis + j; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) { - rawIndex = i * triggerAxisBlockSize + j; - dataIndex = i * numPointsTriggerAxis + j; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; - traceUpData.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in traceUp"); - DEBUGPRINT("traceUpDataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("traceUpRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - traceUpData.moreData = false; - } + traceUpData.fillWave(dataIndex, rawValue, scaledValue); + } + else + { + DEBUGPRINT("Index out of range in traceUp"); + DEBUGPRINT("traceUpDataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("traceUpRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + traceUpData.moreData = false; } + } + + // traceDown + if(traceDownData.moreData) + { + rawIndex = firstBlockOffset + i * triggerAxisBlockSize + j; + // compared to the traceUpData->dbl the index i is shifted + // this takes into account that the data in the traceDown is aquired from the highest y value to the lowest y + // value + dataIndex = (numPointsRootAxis - (i + 1)) * numPointsTriggerAxis + j; - // traceDown - if (traceDownData.moreData) + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) { - rawIndex = firstBlockOffset + i * triggerAxisBlockSize + j; - // compared to the traceUpData->dbl the index i is shifted - // this takes into account that the data in the traceDown is aquired from the highest y value to the lowest y value - dataIndex = (numPointsRootAxis - (i + 1)) * numPointsTriggerAxis + j; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; - traceDownData.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in traceDown"); - DEBUGPRINT("traceDownDataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("traceDownRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - traceDownData.moreData = false; - } + traceDownData.fillWave(dataIndex, rawValue, scaledValue); } - - // reTraceUp - if (reTraceUpData.moreData) + else { + DEBUGPRINT("Index out of range in traceDown"); + DEBUGPRINT("traceDownDataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("traceDownRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + traceDownData.moreData = false; + } + } - // here we shift the j index, because the data is now acquired from high column number to low column number - rawIndex = i * triggerAxisBlockSize + triggerAxisBlockSize - (j + 1); - dataIndex = i * numPointsTriggerAxis + j; + // reTraceUp + if(reTraceUpData.moreData) + { - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; + // here we shift the j index, because the data is now acquired from high column number to low column number + rawIndex = i * triggerAxisBlockSize + triggerAxisBlockSize - (j + 1); + dataIndex = i * numPointsTriggerAxis + j; - reTraceUpData.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in reTraceUp"); - DEBUGPRINT("reTraceUpDataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("reTraceUpRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - reTraceUpData.moreData = false; - } - } + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) + { + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; - // reTraceDown - if (reTraceDownData.moreData) + reTraceUpData.fillWave(dataIndex, rawValue, scaledValue); + } + else { + DEBUGPRINT("Index out of range in reTraceUp"); + DEBUGPRINT("reTraceUpDataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("reTraceUpRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + reTraceUpData.moreData = false; + } + } - rawIndex = firstBlockOffset + i * triggerAxisBlockSize + triggerAxisBlockSize - (j + 1); - dataIndex = (numPointsRootAxis - (i + 1)) * numPointsTriggerAxis + j; + // reTraceDown + if(reTraceDownData.moreData) + { - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { + rawIndex = firstBlockOffset + i * triggerAxisBlockSize + triggerAxisBlockSize - (j + 1); + dataIndex = (numPointsRootAxis - (i + 1)) * numPointsTriggerAxis + j; - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - reTraceDownData.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in reTraceDown"); - DEBUGPRINT("reTraceDownDataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("reTraceDownRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - reTraceDownData.moreData = false; - } + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) + { + + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + reTraceDownData.fillWave(dataIndex, rawValue, scaledValue); + } + else + { + DEBUGPRINT("Index out of range in reTraceDown"); + DEBUGPRINT("reTraceDownDataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("reTraceDownRawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + reTraceDownData.moreData = false; } } } + } - for (WaveIt it = waves.begin(); it != waves.end(); it++) + for(WaveIt it = waves.begin(); it != waves.end(); it++) + { + if(it->isEmpty()) { - if (it->isEmpty()) - { - continue; - } + continue; + } - ret = HandleResamplingIfRequested(waveFolderHandle, *it, 2, resampleData, pixelSize); + ret = HandleResamplingIfRequested(waveFolderHandle, *it, 2, resampleData, pixelSize); - if (ret != 0) - { - continue; - } - - double xAxisDelta, yAxisDelta; + if(ret != 0) + { + continue; + } - // also the wave scaling changes if we have resampled the data - if (resampleData) - { - CountInt interpolatedDimSizes[MAX_DIMENSIONS + 1]; - MemClear(interpolatedDimSizes, sizeof(interpolatedDimSizes)); + double xAxisDelta, yAxisDelta; - int numDimensions; - ret = MDGetWaveDimensions(it->getWaveHandle(), &numDimensions, interpolatedDimSizes); + // also the wave scaling changes if we have resampled the data + if(resampleData) + { + CountInt interpolatedDimSizes[MAX_DIMENSIONS + 1]; + MemClear(interpolatedDimSizes, sizeof(interpolatedDimSizes)); - if (ret != 0) - { - return ret; - } + int numDimensions; + ret = MDGetWaveDimensions(it->getWaveHandle(), &numDimensions, interpolatedDimSizes); - xAxisDelta = triggerAxis.physicalIncrement * double(dimensionSizes[ROWS]) / double(interpolatedDimSizes[ROWS]); - yAxisDelta = rootAxis.physicalIncrement * double(dimensionSizes[COLUMNS]) / double(interpolatedDimSizes[COLUMNS]); - } - else // original image + if(ret != 0) { - xAxisDelta = triggerAxis.physicalIncrement; - yAxisDelta = rootAxis.physicalIncrement; + return ret; } - // set wave note and add info about resampling to the wave note - setDataWaveNote(brickletID, *it); + xAxisDelta = triggerAxis.physicalIncrement * double(dimensionSizes[ROWS]) / double(interpolatedDimSizes[ROWS]); + yAxisDelta = rootAxis.physicalIncrement * double(dimensionSizes[COLUMNS]) / double(interpolatedDimSizes[COLUMNS]); + } + else // original image + { + xAxisDelta = triggerAxis.physicalIncrement; + yAxisDelta = rootAxis.physicalIncrement; + } - const double zeroSetScaleOffset = 0.0; - it->setWaveScaling(ROWS, &xAxisDelta, &zeroSetScaleOffset); - it->setWaveScaling(COLUMNS, &yAxisDelta, &zeroSetScaleOffset); + // set wave note and add info about resampling to the wave note + setDataWaveNote(brickletID, *it); - it->setWaveUnits(ROWS, triggerAxis.physicalUnit); - it->setWaveUnits(COLUMNS, rootAxis.physicalUnit); - it->setWaveUnits(DATA, bricklet.getMetaDataValue(CHANNEL_UNIT_KEY)); + const double zeroSetScaleOffset = 0.0; + it->setWaveScaling(ROWS, &xAxisDelta, &zeroSetScaleOffset); + it->setWaveScaling(COLUMNS, &yAxisDelta, &zeroSetScaleOffset); - appendToWaveList(baseFolderHandle, it->getWaveHandle(), waveNameList); - } + it->setWaveUnits(ROWS, triggerAxis.physicalUnit); + it->setWaveUnits(COLUMNS, rootAxis.physicalUnit); + it->setWaveUnits(DATA, bricklet.getMetaDataValue(CHANNEL_UNIT_KEY)); - return SUCCESS; + appendToWaveList(baseFolderHandle, it->getWaveHandle(), waveNameList); } - int createWaves3D(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char* waveBaseName, int brickletID, std::string& waveNameList) - { - CountInt dimensionSizes[MAX_DIMENSIONS + 1]; - MemClear(dimensionSizes, sizeof(dimensionSizes)); + return SUCCESS; +} - Bricklet& bricklet = GlobalData::Instance().getBricklet(brickletID); - void* const vernissageBricklet = bricklet.getBrickletPointer(); - Vernissage::Session* session = getVernissageSession(); +int createWaves3D(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char *waveBaseName, + int brickletID, std::string &waveNameList) +{ + CountInt dimensionSizes[MAX_DIMENSIONS + 1]; + MemClear(dimensionSizes, sizeof(dimensionSizes)); - const int* rawBrickletDataPtr = bricklet.getRawData(); - if (rawBrickletDataPtr == NULL) - { - HISTPRINT("Could not load bricklet contents."); - return UNKNOWN_ERROR; - } - const int rawBrickletSize = bricklet.getRawDataSize(); + Bricklet &bricklet = GlobalData::Instance().getBricklet(brickletID); + void *const vernissageBricklet = bricklet.getBrickletPointer(); + Vernissage::Session *session = getVernissageSession(); - // V triggerAxis -> V is triggered by X , X is triggered by Y and Y is the root axis + const int *rawBrickletDataPtr = bricklet.getRawData(); + if(rawBrickletDataPtr == NULL) + { + HISTPRINT("Could not load bricklet contents."); + return UNKNOWN_ERROR; + } + const int rawBrickletSize = bricklet.getRawDataSize(); - const AxisDescriptor specAxis = session->getAxisDescriptor(vernissageBricklet, session->getTriggerAxisName(vernissageBricklet)); - const AxisDescriptor xAxis = session->getAxisDescriptor(vernissageBricklet, specAxis.triggerAxisName); - const AxisDescriptor yAxis = session->getAxisDescriptor(vernissageBricklet, xAxis.triggerAxisName); - const AxisTableSets sets = session->getAxisTableSets(vernissageBricklet, session->getTriggerAxisName(vernissageBricklet)); + // V triggerAxis -> V is triggered by X , X is triggered by Y and Y is the root axis - const TableSet xSet = sets.find(specAxis.triggerAxisName)->second; - const TableSet ySet = sets.find(xAxis.triggerAxisName)->second; + const AxisDescriptor specAxis = + session->getAxisDescriptor(vernissageBricklet, session->getTriggerAxisName(vernissageBricklet)); + const AxisDescriptor xAxis = session->getAxisDescriptor(vernissageBricklet, specAxis.triggerAxisName); + const AxisDescriptor yAxis = session->getAxisDescriptor(vernissageBricklet, xAxis.triggerAxisName); + const AxisTableSets sets = + session->getAxisTableSets(vernissageBricklet, session->getTriggerAxisName(vernissageBricklet)); - // V Axis - int numPointsVAxis = specAxis.clocks; + const TableSet xSet = sets.find(specAxis.triggerAxisName)->second; + const TableSet ySet = sets.find(xAxis.triggerAxisName)->second; - if (specAxis.mirrored) - { - numPointsVAxis /= 2; - } + // V Axis + int numPointsVAxis = specAxis.clocks; + + if(specAxis.mirrored) + { + numPointsVAxis /= 2; + } - // X Axis - int numPointsXAxis = xAxis.clocks; + // X Axis + int numPointsXAxis = xAxis.clocks; - if (xAxis.mirrored) - { - numPointsXAxis /= 2; - } + if(xAxis.mirrored) + { + numPointsXAxis /= 2; + } - // Y Axis - int numPointsYAxis = yAxis.clocks; + // Y Axis + int numPointsYAxis = yAxis.clocks; - if (yAxis.mirrored) - { - numPointsYAxis /= 2; - } + if(yAxis.mirrored) + { + numPointsYAxis /= 2; + } + + // Determine how much space the data occupies in X and Y direction + // For that we have to take into account the table sets + // Then we also know how many 3D cubes we have, we can have 1,2 or 4. the same as in the 2D case - // Determine how much space the data occupies in X and Y direction - // For that we have to take into account the table sets - // Then we also know how many 3D cubes we have, we can have 1,2 or 4. the same as in the 2D case + TableSetCIt yIt, xIt; + int tablePosX, tablePosY; - TableSetCIt yIt, xIt; - int tablePosX, tablePosY; + // BEGIN Borrowed from SCALA exporter plugin - // BEGIN Borrowed from SCALA exporter plugin + // Determine the number of different x values - // Determine the number of different x values + // number of x axis points with taking the axis table sets into account + int numPointsXAxisWithTableBoth = 0; + // the part of numPointsXAxisWithTableBoth which is used in traceUp + int numPointsXAxisWithTableFWD = 0; + // the part of numPointsXAxisWithTableBoth which is used in reTraceUp + int numPointsXAxisWithTableBWD = 0; - // number of x axis points with taking the axis table sets into account - int numPointsXAxisWithTableBoth = 0; - // the part of numPointsXAxisWithTableBoth which is used in traceUp - int numPointsXAxisWithTableFWD = 0; - // the part of numPointsXAxisWithTableBoth which is used in reTraceUp - int numPointsXAxisWithTableBWD = 0; + bool forward; - bool forward; + xIt = xSet.begin(); + tablePosX = xIt->start; - xIt = xSet.begin(); - tablePosX = xIt->start; + while(xIt != xSet.end()) + { + numPointsXAxisWithTableBoth++; + forward = (tablePosX <= numPointsXAxis); - while (xIt != xSet.end()) + if(forward) { - numPointsXAxisWithTableBoth++; - forward = (tablePosX <= numPointsXAxis); + numPointsXAxisWithTableFWD++; + } + else + { + numPointsXAxisWithTableBWD++; + } - if (forward) - { - numPointsXAxisWithTableFWD++; - } - else - { - numPointsXAxisWithTableBWD++; - } + tablePosX += xIt->step; - tablePosX += xIt->step; + if(tablePosX > xIt->stop) + { + ++xIt; - if (tablePosX > xIt->stop) + if(xIt != xSet.end()) { - ++xIt; - - if (xIt != xSet.end()) - { - tablePosX = xIt->start; - } + tablePosX = xIt->start; } } + } - // Determine the number of different y values + // Determine the number of different y values - // number of y axis points with taking the axis table sets into account - int numPointsYAxisWithTableBoth = 0; - // the part of numPointsYAxisWithTableBoth which is used in traceUp - int numPointsYAxisWithTableUp = 0; - // the part of numPointsYAxisWithTableBoth which is used in traceDown - int numPointsYAxisWithTableDown = 0; + // number of y axis points with taking the axis table sets into account + int numPointsYAxisWithTableBoth = 0; + // the part of numPointsYAxisWithTableBoth which is used in traceUp + int numPointsYAxisWithTableUp = 0; + // the part of numPointsYAxisWithTableBoth which is used in traceDown + int numPointsYAxisWithTableDown = 0; - bool up; + bool up; - yIt = ySet.begin(); - tablePosY = yIt->start; + yIt = ySet.begin(); + tablePosY = yIt->start; - while (yIt != ySet.end()) - { - numPointsYAxisWithTableBoth++; + while(yIt != ySet.end()) + { + numPointsYAxisWithTableBoth++; - up = (tablePosY <= numPointsYAxis); + up = (tablePosY <= numPointsYAxis); - if (up) - { - numPointsYAxisWithTableUp++; - } - else - { - numPointsYAxisWithTableDown++; - } + if(up) + { + numPointsYAxisWithTableUp++; + } + else + { + numPointsYAxisWithTableDown++; + } - tablePosY += yIt->step; + tablePosY += yIt->step; - if (tablePosY > yIt->stop) - { - ++yIt; + if(tablePosY > yIt->stop) + { + ++yIt; - if (yIt != ySet.end()) - { - tablePosY = yIt->start; - } + if(yIt != ySet.end()) + { + tablePosY = yIt->start; } } + } - // END Borrowed from SCALA exporter plugin + // END Borrowed from SCALA exporter plugin - DEBUGPRINT("Axis mirroring: X=%s, Y=%s, Spec=%s", boolToCString(xAxis.mirrored), boolToCString(yAxis.mirrored), boolToCString(specAxis.mirrored)); + DEBUGPRINT("Axis mirroring: X=%s, Y=%s, Spec=%s", boolToCString(xAxis.mirrored), boolToCString(yAxis.mirrored), + boolToCString(specAxis.mirrored)); - DEBUGPRINT("Spec Axis: points %d, clocks %d", numPointsVAxis, specAxis.clocks); + DEBUGPRINT("Spec Axis: points %d, clocks %d", numPointsVAxis, specAxis.clocks); - DEBUGPRINT("X Axis # points with tableSet: Total=%d, Forward=%d, Backward=%d", - numPointsXAxisWithTableBoth, numPointsXAxisWithTableFWD, numPointsXAxisWithTableBWD); + DEBUGPRINT("X Axis # points with tableSet: Total=%d, Forward=%d, Backward=%d", numPointsXAxisWithTableBoth, + numPointsXAxisWithTableFWD, numPointsXAxisWithTableBWD); - DEBUGPRINT("Y Axis # points with tableSet: Total=%d, Up=%d, Down=%d", - numPointsYAxisWithTableBoth, numPointsYAxisWithTableUp, numPointsYAxisWithTableDown); + DEBUGPRINT("Y Axis # points with tableSet: Total=%d, Up=%d, Down=%d", numPointsYAxisWithTableBoth, + numPointsYAxisWithTableUp, numPointsYAxisWithTableDown); - // Theoretical the sizes of the cubes could be different but we are igoring that for now - if (numPointsXAxisWithTableBWD != 0 && numPointsXAxisWithTableFWD != 0 && numPointsXAxisWithTableFWD != numPointsXAxisWithTableBWD) - { - HISTPRINT("BUG: Number of X axis points is different in forward and backward direction."); - return INTERNAL_ERROR_CONVERTING_DATA; - } - else if (numPointsYAxisWithTableUp != 0 && numPointsYAxisWithTableDown != 0 && numPointsYAxisWithTableUp != numPointsYAxisWithTableDown) - { - HISTPRINT("BUG: Number of Y axis points is different in up and down direction."); - return INTERNAL_ERROR_CONVERTING_DATA; - } + // Theoretical the sizes of the cubes could be different but we are igoring that for now + if(numPointsXAxisWithTableBWD != 0 && numPointsXAxisWithTableFWD != 0 && + numPointsXAxisWithTableFWD != numPointsXAxisWithTableBWD) + { + HISTPRINT("BUG: Number of X axis points is different in forward and backward direction."); + return INTERNAL_ERROR_CONVERTING_DATA; + } + else if(numPointsYAxisWithTableUp != 0 && numPointsYAxisWithTableDown != 0 && + numPointsYAxisWithTableUp != numPointsYAxisWithTableDown) + { + HISTPRINT("BUG: Number of Y axis points is different in up and down direction."); + return INTERNAL_ERROR_CONVERTING_DATA; + } - double xAxisDelta, yAxisDelta; - double xAxisOffset, yAxisOffset; + double xAxisDelta, yAxisDelta; + double xAxisOffset, yAxisOffset; - // normally we have table sets with some step width >1, so the physicalIncrement has to be multiplied by this factor - // Note: this approach assumes that the axis table sets of one axis all have the same physical step width, - // this is at least the case for Matrix 2.2-1 and Matrix 3.0 - if (ySet.size() > 0) + // normally we have table sets with some step width >1, so the physicalIncrement has to be multiplied by this factor + // Note: this approach assumes that the axis table sets of one axis all have the same physical step width, + // this is at least the case for Matrix 2.2-1 and Matrix 3.0 + if(ySet.size() > 0) + { + yAxisDelta = yAxis.physicalIncrement * ySet.begin()->step; + yAxisOffset = yAxis.physicalIncrement * (ySet.begin()->start - 1); + } + else + { + yAxisDelta = yAxis.physicalIncrement; + yAxisOffset = 0.0; + } + + if(xSet.size() > 0) + { + xAxisDelta = xAxis.physicalIncrement * xSet.begin()->step; + + if(numPointsXAxisWithTableFWD != 0) { - yAxisDelta = yAxis.physicalIncrement * ySet.begin()->step; - yAxisOffset = yAxis.physicalIncrement * (ySet.begin()->start - 1); + // we also scanned in TraceUP direction, therefore we can use the same algorithm like for y-Axis + xAxisOffset = xAxis.physicalIncrement * (xSet.begin()->start - 1); } else { - yAxisDelta = yAxis.physicalIncrement; - yAxisOffset = 0.0; + // we didn't scan in TraceUp direction, therefore we assume that this table sets stop value is somewhere + // near the start of the scan + // Typically xSet.begin()->stop is equal to xAxis.clocks and therefore xAxisOffset being zero + xAxisOffset = xAxis.physicalIncrement * (xSet.begin()->stop - xAxis.clocks); } + } + else + { + xAxisDelta = xAxis.physicalIncrement; + xAxisOffset = 0.0; + } - if (xSet.size() > 0) - { - xAxisDelta = xAxis.physicalIncrement * xSet.begin()->step; + if(GlobalData::Instance().isDebuggingEnabled()) + { + DEBUGPRINT("Number of axes we have table sets for: %d", sets.size()); + DEBUGPRINT("Tablesets: xAxis"); - if (numPointsXAxisWithTableFWD != 0) - { - // we also scanned in TraceUP direction, therefore we can use the same algorithm like for y-Axis - xAxisOffset = xAxis.physicalIncrement * (xSet.begin()->start - 1); - } - else - { - // we didn't scan in TraceUp direction, therefore we assume that this table sets stop value is somewhere - // near the start of the scan - // Typically xSet.begin()->stop is equal to xAxis.clocks and therefore xAxisOffset being zero - xAxisOffset = xAxis.physicalIncrement * (xSet.begin()->stop - xAxis.clocks); - } - } - else + for(TableSetCIt it = xSet.begin(); it != xSet.end(); it++) { - xAxisDelta = xAxis.physicalIncrement; - xAxisOffset = 0.0; + DEBUGPRINT("start=%d, step=%d, stop=%d", it->start, it->step, it->stop); } - if (GlobalData::Instance().isDebuggingEnabled()) - { - DEBUGPRINT("Number of axes we have table sets for: %d", sets.size()); - DEBUGPRINT("Tablesets: xAxis"); + DEBUGPRINT("Tablesets: yAxis"); - for (TableSetCIt it = xSet.begin(); it != xSet.end(); it++) - { - DEBUGPRINT("start=%d, step=%d, stop=%d", it->start, it->step, it->stop); - } + for(TableSetCIt it = ySet.begin(); it != ySet.end(); it++) + { + DEBUGPRINT("start=%d, step=%d, stop=%d", it->start, it->step, it->stop); + } - DEBUGPRINT("Tablesets: yAxis"); + DEBUGPRINT("xAxisDelta=%g, yAxisDelta=%g", xAxisDelta, yAxisDelta); + DEBUGPRINT("xAxisOffset=%g, yAxisOffset=%g", xAxisOffset, yAxisOffset); + } - for (TableSetCIt it = ySet.begin(); it != ySet.end(); it++) - { - DEBUGPRINT("start=%d, step=%d, stop=%d", it->start, it->step, it->stop); - } + // dimensions of the cube + if(numPointsXAxisWithTableFWD != 0) + { + dimensionSizes[ROWS] = numPointsXAxisWithTableFWD; + } + else + { + // we only scanned in BWD direction + dimensionSizes[ROWS] = numPointsXAxisWithTableBWD; + } - DEBUGPRINT("xAxisDelta=%g, yAxisDelta=%g", xAxisDelta, yAxisDelta); - DEBUGPRINT("xAxisOffset=%g, yAxisOffset=%g", xAxisOffset, yAxisOffset); - } + // we must always scan in Up direction + dimensionSizes[COLUMNS] = numPointsYAxisWithTableUp; + dimensionSizes[LAYERS] = numPointsVAxis; + + const CountInt waveSize = dimensionSizes[ROWS] * dimensionSizes[COLUMNS] * dimensionSizes[LAYERS]; + + DEBUGPRINT("dimensions of the cube: rows=%d,cols=%d,layers=%d", dimensionSizes[ROWS], dimensionSizes[COLUMNS], + dimensionSizes[LAYERS]); + + WaveVec waves(MAX_NUM_WAVES); + Wave &traceUpDataRampFwd = waves[TRACE_UP_RAMP_FWD]; + Wave &traceUpDataRampBwd = waves[TRACE_UP_RAMP_BWD]; + Wave &reTraceUpDataRampFwd = waves[RE_TRACE_UP_RAMP_FWD]; + Wave &reTraceUpDataRampBwd = waves[RE_TRACE_UP_RAMP_BWD]; + Wave &traceDownDataRampFwd = waves[TRACE_DOWN_RAMP_FWD]; + Wave &traceDownDataRampBwd = waves[TRACE_DOWN_RAMP_BWD]; + Wave &reTraceDownDataRampFwd = waves[RE_TRACE_DOWN_RAMP_FWD]; + Wave &reTraceDownDataRampBwd = waves[RE_TRACE_DOWN_RAMP_BWD]; + + // 4 cubes, TraceUpRampFwd, TraceDownRampFwd, ReTraceUpRampFwd, ReTraceDownRampFwd + // x2 if spec axis mirrored + if(numPointsXAxisWithTableFWD != 0 && numPointsXAxisWithTableBWD != 0 && numPointsYAxisWithTableUp != 0 && + numPointsYAxisWithTableDown != 0) + { + waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); + waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); + waves[TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampFwd); + waves[RE_TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampFwd); - // dimensions of the cube - if (numPointsXAxisWithTableFWD != 0) + if(specAxis.mirrored) { - dimensionSizes[ROWS] = numPointsXAxisWithTableFWD; + waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); + waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); + waves[TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampBwd); + waves[RE_TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampBwd); } - else + } + // 2 cubes, TraceUpRampFwd, TraceDownRampFwd + // x2 if spec axis mirrored + else if(numPointsXAxisWithTableBWD == 0 && numPointsYAxisWithTableDown != 0) + { + waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); + waves[TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampFwd); + + if(specAxis.mirrored) { - // we only scanned in BWD direction - dimensionSizes[ROWS] = numPointsXAxisWithTableBWD; + waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); + waves[TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampBwd); } + } + // 2 cubes, TraceUpRampFwd, ReTraceUpRampFwd + // x2 if spec axis mirrored + else if(numPointsXAxisWithTableBWD != 0 && numPointsYAxisWithTableDown == 0) + { + waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); + waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); - //we must always scan in Up direction - dimensionSizes[COLUMNS] = numPointsYAxisWithTableUp; - dimensionSizes[LAYERS] = numPointsVAxis; - - const int waveSize = dimensionSizes[ROWS] * dimensionSizes[COLUMNS] * dimensionSizes[LAYERS]; - - DEBUGPRINT("dimensions of the cube: rows=%d,cols=%d,layers=%d", - dimensionSizes[ROWS], dimensionSizes[COLUMNS], dimensionSizes[LAYERS]); - - WaveVec waves(MAX_NUM_WAVES); - Wave& traceUpDataRampFwd = waves[TRACE_UP_RAMP_FWD]; - Wave& traceUpDataRampBwd = waves[TRACE_UP_RAMP_BWD]; - Wave& reTraceUpDataRampFwd = waves[RE_TRACE_UP_RAMP_FWD]; - Wave& reTraceUpDataRampBwd = waves[RE_TRACE_UP_RAMP_BWD]; - Wave& traceDownDataRampFwd = waves[TRACE_DOWN_RAMP_FWD]; - Wave& traceDownDataRampBwd = waves[TRACE_DOWN_RAMP_BWD]; - Wave& reTraceDownDataRampFwd = waves[RE_TRACE_DOWN_RAMP_FWD]; - Wave& reTraceDownDataRampBwd = waves[RE_TRACE_DOWN_RAMP_BWD]; - - // 4 cubes, TraceUpRampFwd, TraceDownRampFwd, ReTraceUpRampFwd, ReTraceDownRampFwd - // x2 if spec axis mirrored - if (numPointsXAxisWithTableFWD != 0 && numPointsXAxisWithTableBWD != 0 && - numPointsYAxisWithTableUp != 0 && numPointsYAxisWithTableDown != 0) + if(specAxis.mirrored) { - waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); - waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); - waves[TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampFwd); - waves[RE_TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampFwd); - - if(specAxis.mirrored) - { - waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); - waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); - waves[TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampBwd); - waves[RE_TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampBwd); - } + waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); + waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); } - // 2 cubes, TraceUpRampFwd, TraceDownRampFwd - // x2 if spec axis mirrored - else if (numPointsXAxisWithTableBWD == 0 && numPointsYAxisWithTableDown != 0) - { - waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); - waves[TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampFwd); + } + // 2 cubes, ReTraceUpRampFwd, ReTraceDownRampFwd + // x2 if spec axis mirrored + else if(numPointsXAxisWithTableFWD == 0 && numPointsYAxisWithTableDown != 0) + { + waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); + waves[RE_TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampFwd); - if(specAxis.mirrored) - { - waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); - waves[TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, TRACE_DOWN, suffixRampBwd); - } - } - // 2 cubes, TraceUpRampFwd, ReTraceUpRampFwd - // x2 if spec axis mirrored - else if (numPointsXAxisWithTableBWD != 0 && numPointsYAxisWithTableDown == 0) + if(specAxis.mirrored) { - waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); - waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); - - if(specAxis.mirrored) - { - waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); - waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); - } + waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); + waves[RE_TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampBwd); } - // 2 cubes, ReTraceUpRampFwd, ReTraceDownRampFwd - // x2 if spec axis mirrored - else if (numPointsXAxisWithTableFWD == 0 && numPointsYAxisWithTableDown != 0) - { - waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); - waves[RE_TRACE_DOWN_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampFwd); + } + // 1 cube, TraceUpRampFwd + // x2 if spec axis mirrored + else if(numPointsXAxisWithTableBWD == 0 && numPointsYAxisWithTableDown == 0) + { + waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); - if(specAxis.mirrored) - { - waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); - waves[RE_TRACE_DOWN_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_DOWN, suffixRampBwd); - } - } - // 1 cube, TraceUpRampFwd - // x2 if spec axis mirrored - else if (numPointsXAxisWithTableBWD == 0 && numPointsYAxisWithTableDown == 0) + if(specAxis.mirrored) { - waves[TRACE_UP_RAMP_FWD].setProperties(waveBaseName, TRACE_UP, suffixRampFwd); - - if(specAxis.mirrored) - { - waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); - } + waves[TRACE_UP_RAMP_BWD].setProperties(waveBaseName, TRACE_UP, suffixRampBwd); } - // 1 cube, ReTraceUpRampFwd - // x2 if spec axis mirrored - else if (numPointsXAxisWithTableFWD == 0 && numPointsYAxisWithTableDown == 0) - { - waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); + } + // 1 cube, ReTraceUpRampFwd + // x2 if spec axis mirrored + else if(numPointsXAxisWithTableFWD == 0 && numPointsYAxisWithTableDown == 0) + { + waves[RE_TRACE_UP_RAMP_FWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampFwd); - if(specAxis.mirrored) - { - waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); - } - } - // not possible - else + if(specAxis.mirrored) { - HISTPRINT("BUG: Error in determining the number of cubes."); - return INTERNAL_ERROR_CONVERTING_DATA; + waves[RE_TRACE_UP_RAMP_BWD].setProperties(waveBaseName, RE_TRACE_UP, suffixRampBwd); } + } + // not possible + else + { + HISTPRINT("BUG: Error in determining the number of cubes."); + return INTERNAL_ERROR_CONVERTING_DATA; + } - const int specAxisBlockSize = specAxis.clocks; - const int xAxisBlockSize = (numPointsXAxisWithTableBWD + numPointsXAxisWithTableFWD) * specAxisBlockSize; - const int xAxisForwardBlockSize = numPointsXAxisWithTableFWD * specAxisBlockSize; + const int specAxisBlockSize = specAxis.clocks; + const int xAxisBlockSize = (numPointsXAxisWithTableBWD + numPointsXAxisWithTableFWD) * specAxisBlockSize; + const int xAxisForwardBlockSize = numPointsXAxisWithTableFWD * specAxisBlockSize; - // data index to the start of the TraceDown data (this is the same for all combinations as xAxisBlockSize is set apropriately) - // in case the traceDown scan does not exist this is also no problem - const int firstBlockOffset = numPointsYAxisWithTableUp * xAxisBlockSize; + // data index to the start of the TraceDown data (this is the same for all combinations as xAxisBlockSize is set + // apropriately) in case the traceDown scan does not exist this is also no problem + const int firstBlockOffset = numPointsYAxisWithTableUp * xAxisBlockSize; - DEBUGPRINT("xAxisBlockSize=%d, xAxisForwardBlockSize=%d, firstBlockOffset=%d", xAxisBlockSize, xAxisForwardBlockSize, firstBlockOffset); + DEBUGPRINT("xAxisBlockSize=%d, xAxisForwardBlockSize=%d, firstBlockOffset=%d", xAxisBlockSize, xAxisForwardBlockSize, + firstBlockOffset); - int ret = createEmptyWaves(waves,waveFolderHandle,dimensionSizes); - if(ret != 0) - { - return ret; - } + int ret = createEmptyWaves(waves, waveFolderHandle, dimensionSizes); + if(ret != 0) + { + return ret; + } - const TransData transData = CalculateTransformationParameter(bricklet); - const double slope = transData.first; - const double yIntercept = transData.second; + const TransData transData = CalculateTransformationParameter(bricklet); + const double slope = transData.first; + const double yIntercept = transData.second; - int rawIndex, dataIndex; - int rawValue; - double scaledValue; + CountInt rawIndex, dataIndex; + int rawValue; + double scaledValue; - // COLUMNS - for (int i = 0; i < dimensionSizes[COLUMNS]; i++) + // COLUMNS + for(CountInt i = 0; i < dimensionSizes[COLUMNS]; i++) + { + // ROWS + for(CountInt j = 0; j < dimensionSizes[ROWS]; j++) { - // ROWS - for (int j = 0; j < dimensionSizes[ROWS]; j++) + // LAYERS + for(CountInt k = 0; k < dimensionSizes[LAYERS]; k++) { - // LAYERS - for (int k = 0; k < dimensionSizes[LAYERS]; k++) + // traceUp, RampFwd + if(traceUpDataRampFwd.moreData) + { + rawIndex = i * xAxisBlockSize + j * specAxisBlockSize + k; + dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) + { + + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + + traceUpDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); + } + else + { + DEBUGPRINT("Index out of range in traceUpRampFwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + traceUpDataRampFwd.moreData = false; + } + } // if traceUpDataRampFwd.moreData + + // traceUp, RampBwd + if(traceUpDataRampBwd.moreData) + { + rawIndex = i * xAxisBlockSize + j * specAxisBlockSize + specAxisBlockSize - (k + 1); + dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) + { + + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + + traceUpDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); + } + else + { + DEBUGPRINT("Index out of range in traceUpRampBwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + traceUpDataRampBwd.moreData = false; + } + } // if traceUpDataRampBwd.moreData + + // traceDown, RampFwd + if(traceDownDataRampFwd.moreData) { - // traceUp, RampFwd - if (traceUpDataRampFwd.moreData) + rawIndex = firstBlockOffset + i * xAxisBlockSize + j * specAxisBlockSize + k; + dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) + { + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + + traceDownDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); + } + else { - rawIndex = i * xAxisBlockSize + j * specAxisBlockSize + k; - dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0) - { - - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - traceUpDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in traceUpRampFwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - traceUpDataRampFwd.moreData = false; - } - } // if traceUpDataRampFwd.moreData - - // traceUp, RampBwd - if (traceUpDataRampBwd.moreData) + DEBUGPRINT("Index out of range in traceDownRampFwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + traceDownDataRampFwd.moreData = false; + } + } // if traceDownDataRampFwd.moreData + + // traceDown, RampBwd + if(traceDownDataRampBwd.moreData) + { + rawIndex = firstBlockOffset + i * xAxisBlockSize + j * specAxisBlockSize + specAxisBlockSize - (k + 1); + dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) + { + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + + traceDownDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); + } + else { - rawIndex = i * xAxisBlockSize + j * specAxisBlockSize + specAxisBlockSize - (k + 1); - dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0) - { - - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - traceUpDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in traceUpRampBwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - traceUpDataRampBwd.moreData = false; - } - } // if traceUpDataRampBwd.moreData - - // traceDown, RampFwd - if (traceDownDataRampFwd.moreData) + DEBUGPRINT("Index out of range in traceDownRampBwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + traceDownDataRampBwd.moreData = false; + } + } // if traceDownDataRampBwd.moreData + + // reTraceUp, RampFwd + if(reTraceUpDataRampFwd.moreData) + { + rawIndex = + xAxisForwardBlockSize + i * xAxisBlockSize + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + k; + dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) { - rawIndex = firstBlockOffset + i * xAxisBlockSize + j * specAxisBlockSize + k; - dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - traceDownDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in traceDownRampFwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - traceDownDataRampFwd.moreData = false; - } - } // if traceDownDataRampFwd.moreData - - // traceDown, RampBwd - if (traceDownDataRampBwd.moreData) + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + + reTraceUpDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); + } + else { - rawIndex = firstBlockOffset + i * xAxisBlockSize + j * specAxisBlockSize + specAxisBlockSize - (k + 1); - dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - traceDownDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in traceDownRampBwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - traceDownDataRampBwd.moreData = false; - } - } // if traceDownDataRampBwd.moreData - - // reTraceUp, RampFwd - if (reTraceUpDataRampFwd.moreData) + DEBUGPRINT("Index out of range in reTraceUpRampFwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + reTraceUpDataRampFwd.moreData = false; + } + } // if reTraceUpDataRampFwd.moreData + + // reTraceUp, RampBwd + if(reTraceUpDataRampBwd.moreData) + { + rawIndex = xAxisForwardBlockSize + i * xAxisBlockSize + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + + specAxisBlockSize - (k + 1); + dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) { - rawIndex = xAxisForwardBlockSize + i * xAxisBlockSize + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + k; - dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - reTraceUpDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in reTraceUpRampFwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - reTraceUpDataRampFwd.moreData = false; - } - } // if reTraceUpDataRampFwd.moreData - - // reTraceUp, RampBwd - if (reTraceUpDataRampBwd.moreData) + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + + reTraceUpDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); + } + else { - rawIndex = xAxisForwardBlockSize + i * xAxisBlockSize + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + specAxisBlockSize - (k + 1); - dataIndex = i * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - reTraceUpDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in reTraceUpRampBwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - reTraceUpDataRampBwd.moreData = false; - } - } // if reTraceUpDataRampBwd.moreData - - // reTraceDown, RampFwd - if (reTraceDownDataRampFwd.moreData) + DEBUGPRINT("Index out of range in reTraceUpRampBwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + reTraceUpDataRampBwd.moreData = false; + } + } // if reTraceUpDataRampBwd.moreData + + // reTraceDown, RampFwd + if(reTraceDownDataRampFwd.moreData) + { + rawIndex = firstBlockOffset + xAxisForwardBlockSize + i * xAxisBlockSize + + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + k; + dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; + + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) { - rawIndex = firstBlockOffset + xAxisForwardBlockSize + i * xAxisBlockSize + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + k; - dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - reTraceDownDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in reTraceDownRampFwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - reTraceDownDataRampFwd.moreData = false; - } - } // if reTraceDownDataRampFwd.moreData - - // reTraceDown, RampBwd - if (reTraceDownDataRampBwd.moreData) + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; + + reTraceDownDataRampFwd.fillWave(dataIndex, rawValue, scaledValue); + } + else { - rawIndex = firstBlockOffset + xAxisForwardBlockSize + i * xAxisBlockSize + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + specAxisBlockSize - (k + 1); - dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - - if (dataIndex >= 0 && - dataIndex < waveSize && - rawIndex < rawBrickletSize && - rawIndex >= 0 - ) - { - rawValue = rawBrickletDataPtr[rawIndex]; - scaledValue = rawValue * slope + yIntercept; - - reTraceDownDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); - } - else - { - DEBUGPRINT("Index out of range in reTraceDownRampBwd"); - DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); - DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); - reTraceDownDataRampBwd.moreData = false; - } - } // if reTraceDownDataRampBwd.moreData - } // for LAYERS - } // for ROWS - } // for COLUMNS - - for (WaveIt it = waves.begin(); it != waves.end(); it++) - { - if (it->isEmpty()) - { - continue; - } + DEBUGPRINT("Index out of range in reTraceDownRampFwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + reTraceDownDataRampFwd.moreData = false; + } + } // if reTraceDownDataRampFwd.moreData - setDataWaveNote(brickletID, *it); + // reTraceDown, RampBwd + if(reTraceDownDataRampBwd.moreData) + { + rawIndex = firstBlockOffset + xAxisForwardBlockSize + i * xAxisBlockSize + + (dimensionSizes[ROWS] - (j + 1)) * specAxisBlockSize + specAxisBlockSize - (k + 1); + dataIndex = (dimensionSizes[COLUMNS] - (i + 1)) * dimensionSizes[ROWS] + j + + k * dimensionSizes[ROWS] * dimensionSizes[COLUMNS]; - it->setWaveScaling(ROWS, &xAxisDelta, &xAxisOffset); - it->setWaveScaling(COLUMNS, &yAxisDelta, &yAxisOffset); - it->setWaveScaling(LAYERS, &specAxis.physicalIncrement, &specAxis.physicalStart); + if(dataIndex >= 0 && dataIndex < waveSize && rawIndex < rawBrickletSize && rawIndex >= 0) + { + rawValue = rawBrickletDataPtr[rawIndex]; + scaledValue = rawValue * slope + yIntercept; - it->setWaveUnits(ROWS, xAxis.physicalUnit); - it->setWaveUnits(COLUMNS, yAxis.physicalUnit); - it->setWaveUnits(LAYERS, specAxis.physicalUnit); - it->setWaveUnits(DATA, bricklet.getMetaDataValue(CHANNEL_UNIT_KEY)); + reTraceDownDataRampBwd.fillWave(dataIndex, rawValue, scaledValue); + } + else + { + DEBUGPRINT("Index out of range in reTraceDownRampBwd"); + DEBUGPRINT("dataIndex=%d,waveSize=%d", dataIndex, waveSize); + DEBUGPRINT("rawBrickletIndex=%d,rawBrickletSize=%d", rawIndex, rawBrickletSize); + reTraceDownDataRampBwd.moreData = false; + } + } // if reTraceDownDataRampBwd.moreData + } // for LAYERS + } // for ROWS + } // for COLUMNS - appendToWaveList(baseFolderHandle, it->getWaveHandle(), waveNameList); + for(WaveIt it = waves.begin(); it != waves.end(); it++) + { + if(it->isEmpty()) + { + continue; } - return SUCCESS; + setDataWaveNote(brickletID, *it); + + it->setWaveScaling(ROWS, &xAxisDelta, &xAxisOffset); + it->setWaveScaling(COLUMNS, &yAxisDelta, &yAxisOffset); + it->setWaveScaling(LAYERS, &specAxis.physicalIncrement, &specAxis.physicalStart); + + it->setWaveUnits(ROWS, xAxis.physicalUnit); + it->setWaveUnits(COLUMNS, yAxis.physicalUnit); + it->setWaveUnits(LAYERS, specAxis.physicalUnit); + it->setWaveUnits(DATA, bricklet.getMetaDataValue(CHANNEL_UNIT_KEY)); + + appendToWaveList(baseFolderHandle, it->getWaveHandle(), waveNameList); } + return SUCCESS; +} + } // anonymous namespace /* Creates the real data waves, supports 1D-3D data */ -int createWaves(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char* waveBaseName, int brickletID, bool resampleData, - int pixelSize, std::string& waveNameList) +int createWaves(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHandle, const char *waveBaseName, + int brickletID, bool resampleData, int pixelSize, std::string &waveNameList) { - Bricklet& bricklet = GlobalData::Instance().getBricklet(brickletID); + Bricklet &bricklet = GlobalData::Instance().getBricklet(brickletID); const int dimension = bricklet.getMetaDataValue(DIMENSION_KEY); - if (GlobalData::Instance().isDebuggingEnabled()) + if(GlobalData::Instance().isDebuggingEnabled()) { - void* vernissageBricklet = bricklet.getBrickletPointer(); + void *vernissageBricklet = bricklet.getBrickletPointer(); DEBUGPRINT("### BrickletID %d ###", brickletID); DEBUGPRINT("dimension %d", dimension); - Vernissage::Session* session = getVernissageSession(); + Vernissage::Session *session = getVernissageSession(); const ViewTypeCodeVector viewTypeCodes = session->getViewTypes(vernissageBricklet); - for (ViewTypeCodeVectorCIt it = viewTypeCodes.begin(); it != viewTypeCodes.end(); it++) + for(ViewTypeCodeVectorCIt it = viewTypeCodes.begin(); it != viewTypeCodes.end(); it++) { DEBUGPRINT("viewType %s", viewTypeCodeToString(*it).c_str()); } - const int brickletType = session->getType(bricklet.getBrickletPointer()); + const int brickletType = session->getType(bricklet.getBrickletPointer()); const std::string brickletTypeString = brickletTypeToString(brickletType); - DEBUGPRINT("brickletType %s",brickletTypeString.c_str()); + DEBUGPRINT("brickletType %s", brickletTypeString.c_str()); DEBUGPRINT("Axis order is from triggerAxis to rootAxis"); const StringVector allAxes = bricklet.getAxes(); - for (StringVectorCIt it = allAxes.begin(); it != allAxes.end(); it++) + for(StringVectorCIt it = allAxes.begin(); it != allAxes.end(); it++) { DEBUGPRINT("Axis %s", it->c_str()); } } - switch (dimension) + switch(dimension) { case 1: - return createWaves1D(baseFolderHandle, waveFolderHandle, waveBaseName, brickletID, resampleData, pixelSize, waveNameList); + return createWaves1D(baseFolderHandle, waveFolderHandle, waveBaseName, brickletID, resampleData, pixelSize, + waveNameList); break; case 2: - return createWaves2D(baseFolderHandle, waveFolderHandle, waveBaseName, brickletID, resampleData, pixelSize, waveNameList); + return createWaves2D(baseFolderHandle, waveFolderHandle, waveBaseName, brickletID, resampleData, pixelSize, + waveNameList); break; case 3: @@ -1305,7 +1283,8 @@ int createWaves(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHa break; default: - HISTPRINT("Dimension %d can not be handled. Please file a bug report at %s and attach the measured data.", dimension, PROJECTURL); + HISTPRINT("Dimension %d can not be handled. Please file a bug report at %s and attach the measured data.", + dimension, PROJECTURL); return INTERNAL_ERROR_CONVERTING_DATA; break; } @@ -1315,18 +1294,19 @@ int createWaves(DataFolderHandle baseFolderHandle, DataFolderHandle waveFolderHa /* create the raw data wave which just holds the raw data as 1D array */ -int createRawDataWave(DataFolderHandle baseFolderHandle, DataFolderHandle dfHandle, const char* waveName, int brickletID, std::string& waveNameList) +int createRawDataWave(DataFolderHandle baseFolderHandle, DataFolderHandle dfHandle, const char *waveName, + int brickletID, std::string &waveNameList) { CountInt dimensionSizes[MAX_DIMENSIONS + 1]; MemClear(dimensionSizes, sizeof(dimensionSizes)); - Bricklet& bricklet = GlobalData::Instance().getBricklet(brickletID); + Bricklet &bricklet = GlobalData::Instance().getBricklet(brickletID); Wave wave(bricklet.getExtrema()); wave.setProperties(waveName, NO_TRACE); - const int* rawBrickletDataPtr = bricklet.getRawData(); - if (rawBrickletDataPtr == NULL) + const int *rawBrickletDataPtr = bricklet.getRawData(); + if(rawBrickletDataPtr == NULL) { HISTPRINT("Could not load bricklet contents."); return UNKNOWN_ERROR; @@ -1339,12 +1319,12 @@ int createRawDataWave(DataFolderHandle baseFolderHandle, DataFolderHandle dfHand waveHndl waveHandle; int ret = MDMakeWave(&waveHandle, wave.getWaveName(), dfHandle, dimensionSizes, NT_I32, isOverwriteEnabled()); - if (ret == NAME_WAV_CONFLICT) + if(ret == NAME_WAV_CONFLICT) { DEBUGPRINT("Wave %s already exists.", wave.getWaveName()); return WAVE_EXIST; } - else if (ret != 0) + else if(ret != 0) { return ret; } @@ -1352,11 +1332,11 @@ int createRawDataWave(DataFolderHandle baseFolderHandle, DataFolderHandle dfHand wave.setWaveHandle(waveHandle); waveHandle = NULL; - int* dataPtr = getWaveDataPtr(wave.getWaveHandle()); + int *dataPtr = getWaveDataPtr(wave.getWaveHandle()); memcpy(dataPtr, rawBrickletDataPtr, sizeof(int) * rawBrickletSize); - setDataWaveNote(brickletID, wave); + setDataWaveNote(brickletID, wave); appendToWaveList(baseFolderHandle, wave.getWaveHandle(), waveNameList); return ret; diff --git a/VC8/brickletconverter.hpp b/VC8/brickletconverter.hpp index 8b2ad3a..3398bb6 100644 --- a/VC8/brickletconverter.hpp +++ b/VC8/brickletconverter.hpp @@ -12,6 +12,7 @@ #include -int createRawDataWave(DataFolderHandle baseFolderHandle, DataFolderHandle dataFolderHandle, const char* waveName, int brickletID, std::string& waveNameList); -int createWaves(DataFolderHandle baseFolderHandle, DataFolderHandle dataFolderHandle, const char* baseName, int brickletID, bool resampleData, int pixelSize, std::string& waveNameList); - +int createRawDataWave(DataFolderHandle baseFolderHandle, DataFolderHandle dataFolderHandle, const char *waveName, + int brickletID, std::string &waveNameList); +int createWaves(DataFolderHandle baseFolderHandle, DataFolderHandle dataFolderHandle, const char *baseName, + int brickletID, bool resampleData, int pixelSize, std::string &waveNameList); diff --git a/VC8/constants.hpp b/VC8/constants.hpp index 369da67..24e78d3 100644 --- a/VC8/constants.hpp +++ b/VC8/constants.hpp @@ -14,8 +14,8 @@ const int ARRAY_SIZE = 1024; // format string for wavenames in igor // The total number of bricklets is limited to 10^5 - 1 -const char brickletWaveFormat[] = "%s_%05d"; -const char dataFolderFormat[] = "X_%05d"; +const char brickletWaveFormat[] = "%s_%05d"; +const char dataFolderFormat[] = "X_%05d"; // default wave and datafolder names const char brickletDataDefault[] = "data"; @@ -27,42 +27,48 @@ const char brickletRawDefault[] = "rawData"; // bricklet types as string // from the vernissage header file -const char BTC_UNKNOWN[] = "btc_Unknown"; -const char BTC_SPMSPECTROSCOPY[] = "btc_SPMSpectroscopy"; -const char BTC_ATOMMANIPULATION[] = "btc_AtomManipulation"; -const char BTC_1DCURVE[] = "btc_1DCurve"; -const char BTC_SPMIMAGE[] = "btc_SPMImage"; -const char BTC_PATHSPECTROSCOPY[] = "btc_PathSpectroscopy"; -const char BTC_ESPREGION[] = "btc_ESpRegion"; -const char BTC_VOLUMECITS[] = "btc_VolumeCITS"; -const char BTC_DISCRETEENERGYMAP[]= "btc_DiscreteEnergyMap"; -const char BTC_FORCECURVE[] = "btc_ForceCurve"; -const char BTC_PHASEAMPLITUDECUR[]= "btc_PhaseAmplitudeCurve"; -const char BTC_SIGNALOVERTIME[] = "btc_SignalOverTime"; -const char BTC_RAWPATHSPEC[] = "btc_RawPathSpectroscopy"; -const char BTC_ESPSNAPSHOTSEQ[] = "btc_ESpSnapshotSequence"; -const char BTC_ESPIMAGEMAP[] = "btc_ESpImageMap"; -const char BTC_INTERFEROMETERCUR[]= "btc_InterferometerCurve"; -const char BTC_ESPIMAGE[] = "btc_ESpImage"; +const char BTC_UNKNOWN[] = "btc_Unknown"; +const char BTC_SPMSPECTROSCOPY[] = "btc_SPMSpectroscopy"; +const char BTC_ATOMMANIPULATION[] = "btc_AtomManipulation"; +const char BTC_1DCURVE[] = "btc_1DCurve"; +const char BTC_SPMIMAGE[] = "btc_SPMImage"; +const char BTC_PATHSPECTROSCOPY[] = "btc_PathSpectroscopy"; +const char BTC_ESPREGION[] = "btc_ESpRegion"; +const char BTC_VOLUMECITS[] = "btc_VolumeCITS"; +const char BTC_DISCRETEENERGYMAP[] = "btc_DiscreteEnergyMap"; +const char BTC_FORCECURVE[] = "btc_ForceCurve"; +const char BTC_PHASEAMPLITUDECUR[] = "btc_PhaseAmplitudeCurve"; +const char BTC_SIGNALOVERTIME[] = "btc_SignalOverTime"; +const char BTC_RAWPATHSPEC[] = "btc_RawPathSpectroscopy"; +const char BTC_ESPSNAPSHOTSEQ[] = "btc_ESpSnapshotSequence"; +const char BTC_ESPIMAGEMAP[] = "btc_ESpImageMap"; +const char BTC_INTERFEROMETERCUR[] = "btc_InterferometerCurve"; +const char BTC_ESPIMAGE[] = "btc_ESpImage"; +const char BTC_ESPSEMPAIMG[] = "btc_ESpSempaImg"; +const char BTC_ESPSEMPALINE[] = "btc_ESpSempaLine"; +const char BTC_ESPDEPTHPROFILESWEEP[] = "btc_ESpDepthProfileSweep"; +const char BTC_ESPDEPTHPROFILESNAPSHOT[] = "btc_ESpDepthProfileSnapshot"; // viewtype codes as strings // from the vernissage header file -const char VTC_OTHER[] = "vtc_Other"; -const char VTC_SIMPLE2D[] = "vtc_Simple2D"; -const char VTC_SIMPLE1D[] = "vtc_Simple1D"; -const char VTC_FWDBWD2D[] = "vtc_ForwardBackward2D"; -const char VTC_2DOF3D[] = "vtc_2Dof3D"; -const char VTC_SPECTROSCOPY[] = "vtc_Spectroscopy"; -const char VTC_FORCECURVE[] = "vtc_ForceCurve"; -const char VTC_1DPROFILE[] = "vtc_1DProfile"; -const char VTC_INTERFEROMETER[] = "vtc_Interferometer"; -const char VTC_CONTINUOUSCURVE[] = "vtc_ContinuousCurve"; -const char VTC_PHASEAMPLITUDECUR[]= "vtc_PhaseAmplitudeCurve"; -const char VTC_CURVESET[] = "vtc_CurveSet"; -const char VTC_PARAMETERISEDCUR[] = "vtc_ParameterisedCurveSet"; -const char VTC_DISCRETEENERGYMAP[]= "vtc_DiscreteEnergyMap"; -const char VTC_ESPIMAGEMAP[] = "vtc_ESpImageMap"; -const char VTC_DOWNWARD2D[] = "vtc_Downward2D"; +const char VTC_OTHER[] = "vtc_Other"; +const char VTC_SIMPLE2D[] = "vtc_Simple2D"; +const char VTC_SIMPLE1D[] = "vtc_Simple1D"; +const char VTC_FWDBWD2D[] = "vtc_ForwardBackward2D"; +const char VTC_2DOF3D[] = "vtc_2Dof3D"; +const char VTC_SPECTROSCOPY[] = "vtc_Spectroscopy"; +const char VTC_FORCECURVE[] = "vtc_ForceCurve"; +const char VTC_1DPROFILE[] = "vtc_1DProfile"; +const char VTC_INTERFEROMETER[] = "vtc_Interferometer"; +const char VTC_CONTINUOUSCURVE[] = "vtc_ContinuousCurve"; +const char VTC_PHASEAMPLITUDECUR[] = "vtc_PhaseAmplitudeCurve"; +const char VTC_CURVESET[] = "vtc_CurveSet"; +const char VTC_PARAMETERISEDCUR[] = "vtc_ParameterisedCurveSet"; +const char VTC_DISCRETEENERGYMAP[] = "vtc_DiscreteEnergyMap"; +const char VTC_ESPIMAGEMAP[] = "vtc_ESpImageMap"; +const char VTC_DOWNWARD2D[] = "vtc_Downward2D"; +const char VTC_ESPSEMPAIMG[] = "vtc_ESpSempaImg"; +const char VTC_ESPSEMPALINE[] = "vtc_ESpSempaLine"; // wave name suffixes const char TRACE_UP_STRING[] = "_Up"; @@ -71,34 +77,34 @@ const char RE_TRACE_UP_STRING[] = "_ReUp"; const char RE_TRACE_DOWN_STRING[] = "_ReDown"; // used for WaveClass -const int NO_TRACE = -1; -const int TRACE_UP = 0; -const int RE_TRACE_UP = 1; -const int TRACE_DOWN = 2; -const int RE_TRACE_DOWN = 3; - -const int TRACE_UP_RAMP_FWD = 0; -const int RE_TRACE_UP_RAMP_FWD = 1; -const int TRACE_DOWN_RAMP_FWD = 2; -const int RE_TRACE_DOWN_RAMP_FWD = 3; -const int TRACE_UP_RAMP_BWD = 4; -const int RE_TRACE_UP_RAMP_BWD = 5; -const int TRACE_DOWN_RAMP_BWD = 6; -const int RE_TRACE_DOWN_RAMP_BWD = 7; +const int NO_TRACE = -1; +const int TRACE_UP = 0; +const int RE_TRACE_UP = 1; +const int TRACE_DOWN = 2; +const int RE_TRACE_DOWN = 3; + +const int TRACE_UP_RAMP_FWD = 0; +const int RE_TRACE_UP_RAMP_FWD = 1; +const int TRACE_DOWN_RAMP_FWD = 2; +const int RE_TRACE_DOWN_RAMP_FWD = 3; +const int TRACE_UP_RAMP_BWD = 4; +const int RE_TRACE_UP_RAMP_BWD = 5; +const int TRACE_DOWN_RAMP_BWD = 6; +const int RE_TRACE_DOWN_RAMP_BWD = 7; // number of different trace types, TRACE_UP to RE_TRACE_DOWN x 2 for Ramp Reversal -const int MAX_NUM_WAVES = 8; +const int MAX_NUM_WAVES = 8; -const char PROJECTURL[] = "http://www.igorexchange.com/project/matrixFileReader"; +const char PROJECTURL[] = "https://github.com/byte-physics/matrixfilereader"; // number of entries to reserve in some vectors -const int RESERVE_SIZE = 1024; +const int RESERVE_SIZE = 1024; // useful for MDSetWaveUnits, defined in accordance to ROWS, COLUMNS, etc. const int DATA = -1; // functions returning a brickletID should return that on failure -const int INVALID_BRICKLETID = -1; +const int INVALID_BRICKLETID = -1; // default values for the options const bool debug_default = false; @@ -121,34 +127,34 @@ const char cache_option[] = "V_MatrixFileReaderCache"; const char magic_option[] = "V_MatrixFileReaderMagic"; // Supported major vernissage versions -const std::vector supportedMajorVernissageVersions = boost::assign::list_of("2.2")("2.3"); +const std::vector supportedMajorVernissageVersions = boost::assign::list_of("2.4"); // default keys for MFR_CreateOverViewTable const char keyList_default[] = "brickletID;scanCycleCount;runCycleCount;sequenceID;dimension;channelName"; // runtime variables, returned by the operations -const char V_flag[] = "V_flag"; -const char V_startBrickletID[] = "V_startBrickletID"; -const char V_endBrickletID[] = "V_endBrickletID"; -const char V_count[] = "V_count"; -const char V_XOPversion[] = "V_XOPversion"; -const char V_DLLversion[] = "V_DLLversion"; - -const char S_fileName[] = "S_fileName"; -const char S_dirPath[] = "S_dirPath"; -const char S_value[] = "S_value"; -const char S_waveNames[] = "S_waveNames"; -const char S_errorMessage[] = "S_errorMessage"; +const char V_flag[] = "V_flag"; +const char V_startBrickletID[] = "V_startBrickletID"; +const char V_endBrickletID[] = "V_endBrickletID"; +const char V_count[] = "V_count"; +const char V_XOPversion[] = "V_XOPversion"; +const char V_DLLversion[] = "V_DLLversion"; + +const char S_fileName[] = "S_fileName"; +const char S_dirPath[] = "S_dirPath"; +const char S_value[] = "S_value"; +const char S_waveNames[] = "S_waveNames"; +const char S_errorMessage[] = "S_errorMessage"; // Openresultfile dialog -const char filterStr[] = "Matrix result files (*.mtrx)\0*.mtrx\0All Files (*.*)\0*.*\0\0"; -const char dlgPrompt[] = "Looking for a MATRIX result file"; +const char filterStr[] = "Matrix result files (*.mtrx)\0*.mtrx\0All Files (*.*)\0*.*\0\0"; +const char dlgPrompt[] = "Looking for a MATRIX result file"; -const int default_pixelsize = 1; -//maximum allowed pixelSize, although this is already ridiculously high -const int maximum_pixelSize = 10; +const int default_pixelsize = 1; +// maximum allowed pixelSize, although this is already ridiculously high +const int maximum_pixelSize = 10; -const char listSepChar[] = ";"; +const char listSepChar[] = ";"; const char relativeFolderPrefix[] = ":"; const char suffixName[] = "suffix"; diff --git a/VC8/copyfiles.bat b/VC8/copyfiles.bat index 4edc0c5..f181532 100644 --- a/VC8/copyfiles.bat +++ b/VC8/copyfiles.bat @@ -4,13 +4,13 @@ REM It is licensed under the LGPLv3 with additional permissions, REM see License.txt in the source folder for details. REM -copy Release\matrixfilereader.xop "c:\Dokumente und Einstellungen\thomas\Eigene Dateien\WaveMetrics\Igor Pro 6 User Files\Igor Extensions" +copy Release\matrixfilereader.xop "c:\Dokumente und Einstellungen\thomas\Eigene Dateien\WaveMetrics\Igor Pro 8 User Files\Igor Extensions" if errorlevel 1 goto BuildEventFailed -copy "..\matrixfilereader Help.ihf" "c:\Dokumente und Einstellungen\thomas\Eigene Dateien\WaveMetrics\Igor Pro 6 User Files\Igor Help Files" +copy "..\matrixfilereader Help.ihf" "c:\Dokumente und Einstellungen\thomas\Eigene Dateien\WaveMetrics\Igor Pro 8 User Files\Igor Help Files" if errorlevel 1 goto BuildEventFailed -start E:\projekte\matrixfilereader\matrixfilereader-basic-gui.pxp +"C:\Program Files\WaveMetrics\Igor Pro 8 Folder\IgorBinaries_Win32\Igor.exe" E:\projekte\matrixfilereader\matrixfilereader-basic-gui.pxp if errorlevel 1 goto BuildEventFailed goto BuildEventOK diff --git a/VC8/custom.rc b/VC8/custom.rc index 26b125e..86bd84c 100644 --- a/VC8/custom.rc +++ b/VC8/custom.rc @@ -14,7 +14,7 @@ */ 1100 STR# BEGIN - "MatrixFileReader requires Igor 6.20 or later.\0", + "MatrixFileReader requires Igor 8.00 or later.\0", "MatrixFileReader could not initialize itself, aborting\0", 0, END diff --git a/VC8/dllhandler.cpp b/VC8/dllhandler.cpp index 73aa2f0..bf1aba5 100644 --- a/VC8/dllhandler.cpp +++ b/VC8/dllhandler.cpp @@ -11,28 +11,26 @@ #include "utils_generic.hpp" DLLHandler::DLLHandler() - : - m_foundationModule(NULL), - m_getSessionFunc(NULL), - m_releaseSessionFunc(NULL), - m_vernissageVersion("0.00") -{} + : m_foundationModule(NULL), m_getSessionFunc(NULL), m_releaseSessionFunc(NULL), m_vernissageVersion("0.00") +{ +} DLLHandler::~DLLHandler() -{} +{ +} void DLLHandler::closeSession() { - if (m_releaseSessionFunc != NULL) + if(m_releaseSessionFunc != NULL) { (*m_releaseSessionFunc)(); } FreeLibrary(m_foundationModule); - m_foundationModule = NULL; - m_vernissageVersion = "0.00"; + m_foundationModule = NULL; + m_vernissageVersion = "0.00"; m_releaseSessionFunc = NULL; - m_getSessionFunc = NULL; + m_getSessionFunc = NULL; } /* @@ -50,7 +48,7 @@ std::string DLLHandler::getVernissagePath() DWORD dataLengthActual; HKEY hKey, hregBaseKey; std::string regKey, foundRegBaseKey; - std::vector regBaseKeyNames = boost::assign::list_of("SOFTWARE\\Scienta Omicron\\Vernissage")("SOFTWARE\\Omicron NanoScience\\Vernissage"); + std::vector regBaseKeyNames = boost::assign::list_of("SOFTWARE\\Scienta Omicron\\Vernissage"); for(size_t i = 0; i < regBaseKeyNames.size(); i++) { @@ -70,29 +68,52 @@ std::string DLLHandler::getVernissagePath() if(foundRegBaseKey.empty()) { + // check if the wrong bitness of vernissage is installed + for(size_t i = 0; i < regBaseKeyNames.size(); i++) + { +#ifdef WINIGOR32 + const int expectedBitness = 32; + const REGSAM samDesired = KEY_READ | KEY_WOW64_64KEY; +#else + const int expectedBitness = 64; + const REGSAM samDesired = KEY_READ | KEY_WOW64_32KEY; +#endif + result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, regBaseKeyNames[i].c_str(), 0, samDesired, &hregBaseKey); + + if(result == ERROR_SUCCESS) + { + RegCloseKey(hregBaseKey); + HISTPRINT("Please install the %d-bit version of Vernissage for this XOP.", expectedBitness); + return std::string(); + } + } + HISTPRINT("Could not find a Vernissage installation."); return std::string(); } dataLengthActual = dataLength; - result = RegQueryValueEx(hregBaseKey, "RecentVersion", NULL, NULL, (LPBYTE) data, &dataLengthActual); + result = RegQueryValueEx(hregBaseKey, "RecentVersion", NULL, NULL, (LPBYTE) data, &dataLengthActual); - if (result != ERROR_SUCCESS) + if(result != ERROR_SUCCESS) { - DEBUGPRINT("Reading the registry key %s:%s failed (error code %d).", foundRegBaseKey.c_str(), "RecentVersion", result); + DEBUGPRINT("Reading the registry key %s:%s failed (error code %d).", foundRegBaseKey.c_str(), "RecentVersion", + result); return std::string(); } RegCloseKey(hregBaseKey); - m_vernissageVersion = std::string(data); - std::string majorVersion = m_vernissageVersion.substr(1, 3); + // RecentVersion is "V2.4.1" + m_vernissageVersion = std::string(data).substr(1); + std::string majorVersion = m_vernissageVersion.substr(0, 3); typedef std::vector::const_iterator VecCIt; VecCIt it = std::find(supportedMajorVernissageVersions.begin(), supportedMajorVernissageVersions.end(), majorVersion); - if (it == supportedMajorVernissageVersions.end()) + if(it == supportedMajorVernissageVersions.end()) { - HISTPRINT("Vernissage version %s is not supported. Please install one of the supported versions and try again.", m_vernissageVersion.c_str()); + HISTPRINT("Vernissage version %s is not supported. Please install one of the supported versions and try again.", + m_vernissageVersion.c_str()); return std::string(); } else @@ -100,7 +121,7 @@ std::string DLLHandler::getVernissagePath() DEBUGPRINT("Vernissage version %s", m_vernissageVersion.c_str()); } - regKey = foundRegBaseKey; + regKey = foundRegBaseKey; regKey += "\\"; regKey += data; regKey += "\\Main"; @@ -109,20 +130,21 @@ std::string DLLHandler::getVernissagePath() result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, regKey.c_str(), 0, KEY_READ, &hKey); - if (result != ERROR_SUCCESS) + if(result != ERROR_SUCCESS) { DEBUGPRINT("Opening the registry key failed (error code %d). Please reinstall Vernissage.", result); return std::string(); } dataLengthActual = dataLength; - result = RegQueryValueEx(hKey, "InstallDirectory", NULL, NULL, (LPBYTE) data, &dataLengthActual); + result = RegQueryValueEx(hKey, "InstallDirectory", NULL, NULL, (LPBYTE) data, &dataLengthActual); RegCloseKey(hKey); - if (result != ERROR_SUCCESS) + if(result != ERROR_SUCCESS) { - DEBUGPRINT("Reading the registry value %s:%s failed (error code %d). Please reinstall Vernissage.", regKey.c_str(), "InstallDirectory", result); + DEBUGPRINT("Reading the registry value %s:%s failed (error code %d). Please reinstall Vernissage.", regKey.c_str(), + "InstallDirectory", result); return std::string(); } @@ -137,9 +159,9 @@ std::string DLLHandler::getVernissagePath() Load the vernissage library, setLibraryPath() will be called before In case something goes wrong, NULL is returned */ -Vernissage::Session* DLLHandler::createSessionObject() +Vernissage::Session *DLLHandler::createSessionObject() { - Vernissage::Session* session = NULL; + Vernissage::Session *session = NULL; std::vector dllNames; dllNames.push_back("Ace.dll"); @@ -155,12 +177,12 @@ Vernissage::Session* DLLHandler::createSessionObject() HMODULE module; - for (std::vector::iterator it = dllNames.begin(); it != dllNames.end(); it++) + for(std::vector::iterator it = dllNames.begin(); it != dllNames.end(); it++) { - std::string dllName = (dllDirectory.empty() ? *it : dllDirectory + "\\" + *it); - module = LoadLibrary((LPCSTR) dllName.c_str()); + std::string dllName = (dllDirectory.empty() ? *it : dllDirectory + "\\" + *it); + module = LoadLibrary((LPCSTR) dllName.c_str()); - if (module != NULL) + if(module != NULL) { DEBUGPRINT("Successfully loaded DLL %s", dllName.c_str()); } @@ -172,10 +194,10 @@ Vernissage::Session* DLLHandler::createSessionObject() } // module is now pointing to Foundation.dll - m_foundationModule = module; + m_foundationModule = module; ASSERT_RETURN_ZERO(m_foundationModule); - m_getSessionFunc = (GetSessionFunc) GetProcAddress(m_foundationModule, "getSession"); + m_getSessionFunc = (GetSessionFunc) GetProcAddress(m_foundationModule, "getSession"); m_releaseSessionFunc = (ReleaseSessionFunc) GetProcAddress(m_foundationModule, "releaseSession"); ASSERT_RETURN_ZERO(m_getSessionFunc); @@ -185,7 +207,7 @@ Vernissage::Session* DLLHandler::createSessionObject() return session; } -const std::string& DLLHandler::getVernissageVersion() const +const std::string &DLLHandler::getVernissageVersion() const { return m_vernissageVersion; } diff --git a/VC8/dllhandler.hpp b/VC8/dllhandler.hpp index 8b58d4c..ea3dabf 100644 --- a/VC8/dllhandler.hpp +++ b/VC8/dllhandler.hpp @@ -12,23 +12,23 @@ */ class DLLHandler { - typedef Vernissage::Session* (*GetSessionFunc)(); + typedef Vernissage::Session *(*GetSessionFunc)(); typedef void (*ReleaseSessionFunc)(); public: DLLHandler(); ~DLLHandler(); - Vernissage::Session* createSessionObject(); + Vernissage::Session *createSessionObject(); void closeSession(); - const std::string& getVernissageVersion()const; + const std::string &getVernissageVersion() const; private: std::string getVernissagePath(); private: GetSessionFunc m_getSessionFunc; - ReleaseSessionFunc m_releaseSessionFunc; + ReleaseSessionFunc m_releaseSessionFunc; HMODULE m_foundationModule; std::string m_vernissageVersion; }; \ No newline at end of file diff --git a/VC8/encoding_conversion.cpp b/VC8/encoding_conversion.cpp index 23c3877..d921628 100644 --- a/VC8/encoding_conversion.cpp +++ b/VC8/encoding_conversion.cpp @@ -7,80 +7,60 @@ #include "encoding_conversion.hpp" -namespace { - - // Convert a UTF-16 encoded wstring to a UTF8 encoded string - // - // inspired by: https://stackoverflow.com/a/3082975 - std::string convertUTF16ToUTF8(const std::wstring &utf16String) - { - if(utf16String.empty()) - return std::string(); - - const int utf16len = boost::numeric_cast(utf16String.size()); - - // get length of utf8 string - const int utf8len = WideCharToMultiByte(CP_UTF8, 0, utf16String.c_str(), utf16len, NULL, 0, NULL, NULL); - - std::vector utf8Vector(utf8len); - const int numBytesWritten = WideCharToMultiByte(CP_UTF8, 0, utf16String.c_str(), utf16len, &utf8Vector[0], utf8len, NULL, NULL); +namespace +{ +// Convert a UTF-16 encoded wstring to a UTF8 encoded string +// +// inspired by: https://stackoverflow.com/a/3082975 +std::string convertUTF16ToUTF8(const std::wstring &utf16String) +{ + if(utf16String.empty()) + return std::string(); - return std::string(&utf8Vector[0], numBytesWritten); - } + const int utf16len = boost::numeric_cast(utf16String.size()); - // And back - std::wstring convertUTF8ToUTF16(const std::string &utf8String) - { - if(utf8String.empty()) - return std::wstring(); + // get length of utf8 string + const int utf8len = WideCharToMultiByte(CP_UTF8, 0, utf16String.c_str(), utf16len, NULL, 0, NULL, NULL); - const int utf8len = boost::numeric_cast(utf8String.size()); + std::vector utf8Vector(utf8len); + const int numBytesWritten = + WideCharToMultiByte(CP_UTF8, 0, utf16String.c_str(), utf16len, &utf8Vector[0], utf8len, NULL, NULL); - // get length of utf16 string - const int utf16len = MultiByteToWideChar(CP_UTF8, 0, utf8String.c_str(), utf8len, NULL, 0); + return std::string(&utf8Vector[0], numBytesWritten); +} - std::vector utf16Vector(utf16len); - const int numBytesWritten = MultiByteToWideChar(CP_UTF8, 0, utf8String.c_str(), utf8len, &utf16Vector[0], utf16len); +// And back +std::wstring convertUTF8ToUTF16(const std::string &utf8String) +{ + if(utf8String.empty()) + return std::wstring(); - return std::wstring(&utf16Vector[0], numBytesWritten); - } + const int utf8len = boost::numeric_cast(utf8String.size()); - std::wstring ansiToUnicode(const std::string& s) - { - return GlobalData::Instance().getVernissageSession()->ansiToUnicode(s); - } + // get length of utf16 string + const int utf16len = MultiByteToWideChar(CP_UTF8, 0, utf8String.c_str(), utf8len, NULL, 0); - std::string unicodeToAnsi(const std::wstring& s) - { - return GlobalData::Instance().getVernissageSession()->unicodeToAnsi(s); - } + std::vector utf16Vector(utf16len); + const int numBytesWritten = MultiByteToWideChar(CP_UTF8, 0, utf8String.c_str(), utf8len, &utf16Vector[0], utf16len); -} // anonymous namespace + return std::wstring(&utf16Vector[0], numBytesWritten); +} +} // namespace EncodingConversion::EncodingConversion() { - if(igorVersion < 700) - { - m_stringToWString = ansiToUnicode; - m_wstringToString = unicodeToAnsi; - } - else - { - m_stringToWString = convertUTF8ToUTF16; - m_wstringToString = convertUTF16ToUTF8; - } } EncodingConversion::~EncodingConversion() { } -std::wstring EncodingConversion::convertEncoding(const std::string& str) +std::wstring EncodingConversion::convertEncoding(const std::string &str) { - return m_stringToWString(str); + return convertUTF8ToUTF16(str); } -std::string EncodingConversion::convertEncoding(const std::wstring& str) +std::string EncodingConversion::convertEncoding(const std::wstring &str) { - return m_wstringToString(str); + return convertUTF16ToUTF8(str); } diff --git a/VC8/encoding_conversion.hpp b/VC8/encoding_conversion.hpp index 471128d..23b011f 100644 --- a/VC8/encoding_conversion.hpp +++ b/VC8/encoding_conversion.hpp @@ -10,27 +10,23 @@ /// Helper class for converting between std::wstring and std::string /// /// The encoding of std::string depends on the igor version -/// IP7: UTF-8 -/// IP6: ANSI code page of the installed windows (Windows-1252 for example) +/// IP7 or later: UTF-8 class EncodingConversion { public: /// Access to singleton-type object - static EncodingConversion& EncodingConversion::Instance() + static EncodingConversion &EncodingConversion::Instance() { static EncodingConversion encConv; return encConv; } - std::wstring convertEncoding(const std::string& str); - std::string convertEncoding(const std::wstring& str); + std::wstring convertEncoding(const std::string &str); + std::string convertEncoding(const std::wstring &str); private: - EncodingConversion(); // hide ctor - ~EncodingConversion(); // hide dtor - EncodingConversion(const EncodingConversion&); // hide copy ctor - EncodingConversion& operator=(const EncodingConversion&); // hide assignment operator - - boost::function m_stringToWString; - boost::function m_wstringToString; + EncodingConversion(); // hide ctor + ~EncodingConversion(); // hide dtor + EncodingConversion(const EncodingConversion &); // hide copy ctor + EncodingConversion &operator=(const EncodingConversion &); // hide assignment operator }; diff --git a/VC8/errorcodes.hpp b/VC8/errorcodes.hpp index 269cfd8..9d5566f 100644 --- a/VC8/errorcodes.hpp +++ b/VC8/errorcodes.hpp @@ -13,15 +13,15 @@ // the values start at 10000 because these are reserved for custom XOP error codes according to the XOP Toolkit manual enum errorCode { - SUCCESS = 0, - UNKNOWN_ERROR = 10001, - ALREADY_FILE_OPEN = 10002, - EMPTY_RESULTFILE = 10004, - FILE_NOT_READABLE = 10008, - NO_NEW_BRICKLETS = 10016, - WRONG_PARAMETER = 10032, - INTERNAL_ERROR_CONVERTING_DATA = 10064, - NO_FILE_OPEN = 10128, - INVALID_RANGE = 10256, - WAVE_EXIST = 10512 + SUCCESS = 0, + UNKNOWN_ERROR = 10001, + ALREADY_FILE_OPEN = 10002, + EMPTY_RESULTFILE = 10004, + FILE_NOT_READABLE = 10008, + NO_NEW_BRICKLETS = 10016, + WRONG_PARAMETER = 10032, + INTERNAL_ERROR_CONVERTING_DATA = 10064, + NO_FILE_OPEN = 10128, + INVALID_RANGE = 10256, + WAVE_EXIST = 10512 }; \ No newline at end of file diff --git a/VC8/extremadata.hpp b/VC8/extremadata.hpp index 8cc9fd4..d58cadb 100644 --- a/VC8/extremadata.hpp +++ b/VC8/extremadata.hpp @@ -15,23 +15,22 @@ class ExtremaData { public: ExtremaData() - : - m_rawMin(std::numeric_limits::max()), - m_rawMax(std::numeric_limits::min()), - m_physValRawMin(std::numeric_limits::max()), - // we don't want the smallest positive number but the most negative one - m_physValRawMax(-std::numeric_limits::max()) - {} + : m_rawMin(std::numeric_limits::max()), m_rawMax(std::numeric_limits::min()), + m_physValRawMin(std::numeric_limits::max()), + // we don't want the smallest positive number but the most negative one + m_physValRawMax(-std::numeric_limits::max()) + { + } void setMinimum(int rawMin, double physValRawMin) { - m_rawMin = rawMin; + m_rawMin = rawMin; m_physValRawMin = physValRawMin; } void setMaximum(int rawMax, double physValRawMax) { - m_rawMax = rawMax; + m_rawMax = rawMax; m_physValRawMax = physValRawMax; } @@ -56,6 +55,6 @@ class ExtremaData } private: - int m_rawMin, m_rawMax; - double m_physValRawMin, m_physValRawMax; //converted value of rawMin, rawMax + int m_rawMin, m_rawMax; + double m_physValRawMin, m_physValRawMax; // converted value of rawMin, rawMax }; diff --git a/VC8/globaldata.cpp b/VC8/globaldata.cpp index f117b40..e54b162 100644 --- a/VC8/globaldata.cpp +++ b/VC8/globaldata.cpp @@ -12,62 +12,56 @@ #include "utils_generic.hpp" #include "utils_bricklet.hpp" -namespace { - - typedef RawBrickletToIDMap::const_iterator MapCIt; - typedef BrickletPtrVector::iterator BrickletVectorIt; - typedef BrickletPtrVector::const_iterator BrickletVectorCIt; - - - template - T getSettingOrDefault(DataFolderHandle dataFolderHndl, const char* option_name, bool default_value); +namespace +{ - template<> - double getSettingOrDefault(DataFolderHandle dataFolderHndl, const char* option_name, bool default_value) - { - int objType; - DataObjectValue objValue; - double value = default_value; +typedef RawBrickletToIDMap::const_iterator MapCIt; +typedef BrickletPtrVector::iterator BrickletVectorIt; +typedef BrickletPtrVector::const_iterator BrickletVectorCIt; - const int ret = GetDataFolderObject(dataFolderHndl, option_name, &objType, &objValue); +template +T getSettingOrDefault(DataFolderHandle dataFolderHndl, const char *option_name, bool default_value); - if (ret == 0 && objType == VAR_OBJECT) - { - value = objValue.nv.realValue; - DEBUGPRINT("%s=%d", option_name, value); - } - else - { - // variable does not exist or is of wrong type - DEBUGPRINT("%s=%d (default)", option_name, value); - } +template <> +double getSettingOrDefault(DataFolderHandle dataFolderHndl, const char *option_name, bool default_value) +{ + int objType; + DataObjectValue objValue; + double value = default_value; - return value; - } + const int ret = GetDataFolderObject(dataFolderHndl, option_name, &objType, &objValue); - template<> - bool getSettingOrDefault(DataFolderHandle dataFolderHndl, const char* option_name, bool default_value) + if(ret == 0 && objType == VAR_OBJECT) { - return doubleToBool(getSettingOrDefault(dataFolderHndl, option_name, default_value)); + value = objValue.nv.realValue; + DEBUGPRINT("%s=%d", option_name, value); } - - template<> - int getSettingOrDefault(DataFolderHandle dataFolderHndl, const char* option_name, bool default_value) + else { - return int(getSettingOrDefault(dataFolderHndl, option_name, default_value)); + // variable does not exist or is of wrong type + DEBUGPRINT("%s=%d (default)", option_name, value); } + + return value; +} + +template <> +bool getSettingOrDefault(DataFolderHandle dataFolderHndl, const char *option_name, bool default_value) +{ + return doubleToBool(getSettingOrDefault(dataFolderHndl, option_name, default_value)); +} + +template <> +int getSettingOrDefault(DataFolderHandle dataFolderHndl, const char *option_name, bool default_value) +{ + return int(getSettingOrDefault(dataFolderHndl, option_name, default_value)); +} } // anonymous namespace GlobalData::GlobalData() - : - m_VernissageSession(NULL), - m_lastError(UNKNOWN_ERROR), - m_debug(debug_default), - m_doubleWave(double_default), - m_overwrite(overwrite_default), - m_datafolder(datafolder_default), - m_datacache(cache_default), - m_errorToHistory(false) + : m_VernissageSession(NULL), m_lastError(UNKNOWN_ERROR), m_debug(debug_default), m_doubleWave(double_default), + m_overwrite(overwrite_default), m_datafolder(datafolder_default), m_datacache(cache_default), + m_errorToHistory(false) { // initialize encoding conversion class EncodingConversion::Instance(); @@ -75,27 +69,28 @@ GlobalData::GlobalData() } GlobalData::~GlobalData() -{} +{ +} // store name and path of the open result file -void GlobalData::setResultFile(const std::wstring& dirPath, const std::wstring& fileName) +void GlobalData::setResultFile(const std::wstring &dirPath, const std::wstring &fileName) { - if (resultFileOpen()) + if(resultFileOpen()) { HISTPRINT("BUG: there is already a result file open, please close that first"); return; } - m_resultDirPath = dirPath; + m_resultDirPath = dirPath; m_resultFileName = fileName; } -const std::wstring& GlobalData::getFileName() const +const std::wstring &GlobalData::getFileName() const { return m_resultFileName; } -const std::wstring& GlobalData::getDirPath() const +const std::wstring &GlobalData::getDirPath() const { return m_resultDirPath; } @@ -104,9 +99,9 @@ const std::wstring& GlobalData::getDirPath() const get a pointer to the vernissage session object automatically loads the vernissage DLL if there is no such object */ -Vernissage::Session* GlobalData::getVernissageSession() +Vernissage::Session *GlobalData::getVernissageSession() { - if (m_VernissageSession != NULL) + if(m_VernissageSession != NULL) { return m_VernissageSession; } @@ -127,7 +122,7 @@ void GlobalData::closeResultFile() m_rawToBrickletID.clear(); // remove opened result set from internal database - if (m_VernissageSession) + if(m_VernissageSession) { m_VernissageSession->eraseResultSets(); } @@ -151,9 +146,9 @@ void GlobalData::closeSession() /* Returns a version string identifying the vernissage DLL version */ -const std::string& GlobalData::getVernissageVersion() +const std::string &GlobalData::getVernissageVersion() { - if (m_VernissageSession == NULL) + if(m_VernissageSession == NULL) { getVernissageSession(); } @@ -166,12 +161,10 @@ bool GlobalData::resultFileOpen() const return (!m_resultFileName.empty()); } -Bricklet& GlobalData::getBricklet(int brickletID) +Bricklet &GlobalData::getBricklet(int brickletID) { - if( !isValidBrickletID(brickletID) - || brickletID >= boost::numeric_cast(m_bricklets.size()) - || !m_bricklets[brickletID] - ) + if(!isValidBrickletID(brickletID) || brickletID >= boost::numeric_cast(m_bricklets.size()) || + !m_bricklets[brickletID]) { throw std::runtime_error("The requested bricklet " + toString(brickletID) + " does not exist"); } @@ -183,18 +176,18 @@ Bricklet& GlobalData::getBricklet(int brickletID) For each bricklet we have to call this function and make the connection between the vernissageBricklet pointer from the vernissage DLL and our Bricklet objects */ -void GlobalData::createBricklet(int brickletID, void* const vernissageBricklet) +void GlobalData::createBricklet(int brickletID, void *const vernissageBricklet) { THROW_IF_NULL(vernissageBricklet); try { - const int numBricklets = boost::numeric_cast(m_bricklets.size()); + const int numBricklets = boost::numeric_cast(m_bricklets.size()); const int totalNumBricklets = getVernissageSession()->getBrickletCount(); - if (brickletID >= numBricklets) + if(brickletID >= numBricklets) { - if( totalNumBricklets < numBricklets ) + if(totalNumBricklets < numBricklets) { throw std::runtime_error("BUG: Number of bricklets must not shrink."); } @@ -203,8 +196,8 @@ void GlobalData::createBricklet(int brickletID, void* const vernissageBricklet) // we reserve more than we currently need // m_bricklets[0] is always unused, so we need to create a bye one larger vector - m_bricklets.reserve(totalNumBricklets*2); - m_bricklets.resize(totalNumBricklets+1); + m_bricklets.reserve(totalNumBricklets * 2); + m_bricklets.resize(totalNumBricklets + 1); } if(m_bricklets[brickletID]) @@ -212,12 +205,12 @@ void GlobalData::createBricklet(int brickletID, void* const vernissageBricklet) throw std::runtime_error("Trying to overwrite brickletID " + toString((brickletID))); } - m_bricklets[brickletID] = boost::make_shared(brickletID, vernissageBricklet); + m_bricklets[brickletID] = boost::make_shared(brickletID, vernissageBricklet); m_rawToBrickletID[vernissageBricklet] = brickletID; DEBUGPRINT("createBricklet brickletID=%d,vernissageBricklet=%p", brickletID, vernissageBricklet); } - catch (CMemoryException* e) + catch(CMemoryException *e) { HISTPRINT("Out of memory in createBrickletClassObject\r"); throw e; @@ -227,12 +220,12 @@ void GlobalData::createBricklet(int brickletID, void* const vernissageBricklet) /* Update the vernissage bricklet pointer for Bricklet brickletID to vernissageBricklet */ -void GlobalData::updateBricklet(int brickletID, void* const vernissageBricklet) +void GlobalData::updateBricklet(int brickletID, void *const vernissageBricklet) { - Bricklet& bricklet = getBricklet(brickletID); - void* const oldVernissageBricklet = bricklet.getBrickletPointer(); + Bricklet &bricklet = getBricklet(brickletID); + void *const oldVernissageBricklet = bricklet.getBrickletPointer(); - if( oldVernissageBricklet == vernissageBricklet) + if(oldVernissageBricklet == vernissageBricklet) { return; } @@ -251,10 +244,10 @@ void GlobalData::setInternalError(int errorValue) { DEBUGPRINT("BUG: xop internal error %d returned.", errorValue); - char errorMessage[256]; // 256 is taken from the GetIgorErrorMessage declaration + char errorMessage[256]; // 256 is taken from the GetIgorErrorMessage declaration const int ret = GetIgorErrorMessage(errorValue, errorMessage); - if (ret == 0) + if(ret == 0) { HISTPRINT(errorMessage); } @@ -264,9 +257,9 @@ void GlobalData::finalizeWithFilledCache() { finalize(); - if (!isDataCacheEnabled()) + if(!isDataCacheEnabled()) { - for (BrickletVectorIt it = m_bricklets.begin() + 1; it != m_bricklets.end(); it++) + for(BrickletVectorIt it = m_bricklets.begin() + 1; it != m_bricklets.end(); it++) { (*it)->clearCache(); } @@ -310,9 +303,9 @@ void GlobalData::initialize(int calledFromMacro, const int calledFromFunction) Takes care of setting V_flag to the current error value Should be called immediately before calling return in a operation */ -void GlobalData::setError(int errorCode, const std::string& argument /*= std::string()*/) +void GlobalData::setError(int errorCode, const std::string &argument /*= std::string()*/) { - if (errorCode < SUCCESS || errorCode > WAVE_EXIST) + if(errorCode < SUCCESS || errorCode > WAVE_EXIST) { HISTPRINT("BUG: errorCode is out of range"); m_lastError = UNKNOWN_ERROR; @@ -323,7 +316,7 @@ void GlobalData::setError(int errorCode, const std::string& argument /*= std::st int ret = SetOperationNumVar(V_flag, static_cast(errorCode)); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return; @@ -333,7 +326,7 @@ void GlobalData::setError(int errorCode, const std::string& argument /*= std::st DEBUGPRINT("lastErrorCode %d, argument %s", errorCode, argument.c_str()); - if (m_errorToHistory && errorCode != SUCCESS) + if(m_errorToHistory && errorCode != SUCCESS) { HISTPRINT(getLastErrorMessage().c_str()); } @@ -354,14 +347,15 @@ std::string GlobalData::getErrorMessage(int errorCode) const { std::string msg; - switch (errorCode) + switch(errorCode) { case SUCCESS: msg = "No error, everything went nice and smooth."; break; case UNKNOWN_ERROR: - msg = "A strange and unknown error happened. It might be appropriate to file a bug report at " + std::string(PROJECTURL) + "."; + msg = "A strange and unknown error happened. It might be appropriate to file a bug report at " + + std::string(PROJECTURL) + "."; break; case ALREADY_FILE_OPEN: @@ -385,7 +379,8 @@ std::string GlobalData::getErrorMessage(int errorCode) const break; case INTERNAL_ERROR_CONVERTING_DATA: - msg = "The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data."; + msg = "The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the " + "vernissage documentation. Please file also a bug report and attach your data."; break; case NO_FILE_OPEN: @@ -393,7 +388,8 @@ std::string GlobalData::getErrorMessage(int errorCode) const break; case INVALID_RANGE: - msg = "The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID."; + msg = "The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and " + "startBrickletID may not be bigger than endBrickletID."; break; case WAVE_EXIST: @@ -414,34 +410,34 @@ std::string GlobalData::getErrorMessage(int errorCode) const */ void GlobalData::readSettings(DataFolderHandle dataFolderHndl /* = NULL */) { - m_debug = getSettingOrDefault(dataFolderHndl,debug_option,debug_default); + m_debug = getSettingOrDefault(dataFolderHndl, debug_option, debug_default); - if (m_debug) + if(m_debug) { char dataFolderPath[MAXCMDLEN + 1]; // flags=3 returns the full path to the datafolder and including quotes if needed const int ret = GetDataFolderNameOrPath(dataFolderHndl, 3, dataFolderPath); - if (ret == 0) + if(ret == 0) { DEBUGPRINT("Variables in the folder %s:", dataFolderPath); } } - m_overwrite = getSettingOrDefault(dataFolderHndl,overwrite_option,overwrite_default); - m_doubleWave = getSettingOrDefault(dataFolderHndl,double_option,double_default); - m_datafolder = getSettingOrDefault(dataFolderHndl,datafolder_option,datafolder_default); - m_datacache = getSettingOrDefault(dataFolderHndl,cache_option,cache_default); - m_magic = getSettingOrDefault(dataFolderHndl,magic_option,magic_default); + m_overwrite = getSettingOrDefault(dataFolderHndl, overwrite_option, overwrite_default); + m_doubleWave = getSettingOrDefault(dataFolderHndl, double_option, double_default); + m_datafolder = getSettingOrDefault(dataFolderHndl, datafolder_option, datafolder_default); + m_datacache = getSettingOrDefault(dataFolderHndl, cache_option, cache_default); + m_magic = getSettingOrDefault(dataFolderHndl, magic_option, magic_default); } /* Returns a brickletID for the vernissage APIs raw bricklet pointer */ -int GlobalData::convertBrickletPtr(void* rawBrickletPtr) const +int GlobalData::convertBrickletPtr(void *rawBrickletPtr) const { MapCIt it = m_rawToBrickletID.find(rawBrickletPtr); - if( it != m_rawToBrickletID.end()) + if(it != m_rawToBrickletID.end()) { return it->second; } @@ -484,7 +480,7 @@ std::size_t GlobalData::getUsedMemory() const { std::size_t usedMemInBytes = sizeof(*this); - for(std::size_t i = 1; i < m_bricklets.size(); i++) + for(std::size_t i = 1; i < m_bricklets.size(); i++) { usedMemInBytes += m_bricklets[i]->getUsedMemory(); } diff --git a/VC8/globaldata.hpp b/VC8/globaldata.hpp index b0c932e..fd7df3a 100644 --- a/VC8/globaldata.hpp +++ b/VC8/globaldata.hpp @@ -19,23 +19,23 @@ #include "utils_generic.hpp" typedef std::vector BrickletPtrVector; -typedef std::map RawBrickletToIDMap; +typedef std::map RawBrickletToIDMap; class GlobalData { public: - void setResultFile(const std::wstring& dirPath, const std::wstring& fileName); + void setResultFile(const std::wstring &dirPath, const std::wstring &fileName); void closeSession(); void closeResultFile(); - void createBricklet(int brickletID, void* const vernissageBricklet); - void updateBricklet(int brickletID, void* const vernissageBricklet); + void createBricklet(int brickletID, void *const vernissageBricklet); + void updateBricklet(int brickletID, void *const vernissageBricklet); - void setError(int errorCode, const std::string& msgArgument = std::string()); + void setError(int errorCode, const std::string &msgArgument = std::string()); void setInternalError(int errorCode); - Vernissage::Session* getVernissageSession(); - const std::string& getVernissageVersion(); + Vernissage::Session *getVernissageSession(); + const std::string &getVernissageVersion(); void initializeWithoutReadSettings(int calledFromMacro, int calledFromFunction); void initialize(int calledFromMacro, int calledFromFunction); @@ -43,16 +43,16 @@ class GlobalData void finalize(); void finalizeWithFilledCache(); - const std::wstring& getFileName() const; - const std::wstring& getDirPath() const; + const std::wstring &getFileName() const; + const std::wstring &getDirPath() const; bool resultFileOpen() const; std::string getLastErrorMessage() const; std::string getErrorMessage(int errorCode) const; - Bricklet& getBricklet(int brickletID); - int convertBrickletPtr(void* rawBrickletPtr) const; + Bricklet &getBricklet(int brickletID); + int convertBrickletPtr(void *rawBrickletPtr) const; ///@name Settings handling ///@{ @@ -67,7 +67,7 @@ class GlobalData ///@} /// Access to singleton-type global object - static GlobalData& GlobalData::Instance() + static GlobalData &GlobalData::Instance() { static GlobalData globData; return globData; @@ -77,18 +77,18 @@ class GlobalData // Public member variables char outputBuffer[ARRAY_SIZE]; - int openDlgFileIndex; + int openDlgFileIndex; char openDlgInitialDir[MAX_PATH_LEN + 1]; private: - GlobalData(); // hide ctor - ~GlobalData(); // hide dtor - GlobalData(const GlobalData&); // hide copy ctor - GlobalData& operator=(const GlobalData&); // hide assignment operator + GlobalData(); // hide ctor + ~GlobalData(); // hide dtor + GlobalData(const GlobalData &); // hide copy ctor + GlobalData &operator=(const GlobalData &); // hide assignment operator bool m_debug, m_doubleWave, m_datafolder, m_overwrite, m_datacache; int m_magic; std::wstring m_resultFileName, m_resultDirPath; - Vernissage::Session* m_VernissageSession; + Vernissage::Session *m_VernissageSession; DLLHandler m_DLLHandler; bool m_errorToHistory; int m_lastError; diff --git a/VC8/keynames.hpp b/VC8/keynames.hpp index 3511765..1a46156 100644 --- a/VC8/keynames.hpp +++ b/VC8/keynames.hpp @@ -9,9 +9,9 @@ /* Common names of the meta data keys */ -const char RESULT_FILE_NAME_KEY[] = "resultFileName"; -const char RESULT_DIR_PATH_KEY[] = "resultDirPath"; -const char BRICKLET_ID_KEY[] = "brickletID"; -const char TRACEDIR_KEY[] = "traceDirection"; -const char CHANNEL_UNIT_KEY[] = "channelUnit"; -const char DIMENSION_KEY[] = "dimension"; +const char RESULT_FILE_NAME_KEY[] = "resultFileName"; +const char RESULT_DIR_PATH_KEY[] = "resultDirPath"; +const char BRICKLET_ID_KEY[] = "brickletID"; +const char TRACEDIR_KEY[] = "traceDirection"; +const char CHANNEL_UNIT_KEY[] = "channelUnit"; +const char DIMENSION_KEY[] = "dimension"; diff --git a/VC8/matrixfilereader.rc b/VC8/matrixfilereader.rc index 2dd47f0..6828b73 100644 --- a/VC8/matrixfilereader.rc +++ b/VC8/matrixfilereader.rc @@ -56,7 +56,7 @@ BEGIN VALUE "FileDescription", "MatrixFileReader XOP is an Igor Pro extension.\0" VALUE "FileVersion", MatrixFileReader_XOP_VERSION_STR VALUE "InternalName", "matrixFileReader\0" - VALUE "LegalCopyright", "2009-2017\0" + VALUE "LegalCopyright", "2009-2020\0" VALUE "OriginalFilename", "matrixFileReader.xop\0" VALUE "ProductName", "MatrixFileReader XOP\0" VALUE "ProductVersion", MatrixFileReader_XOP_VERSION_STR diff --git a/VC8/operationsinterface.cpp b/VC8/operationsinterface.cpp index 3aff63b..d7b111e 100644 --- a/VC8/operationsinterface.cpp +++ b/VC8/operationsinterface.cpp @@ -14,198 +14,216 @@ static int RegisterGetBrickletDeployData() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the MFR_GetBrickletDeployRuntimeParams structure as well. - cmdTemplate = "MFR_GetBrickletDeployData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName /DEST=dataFolderRef:dfref"; + cmdTemplate = "MFR_GetBrickletDeployData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName " + "/DEST=dataFolderRef:dfref"; runtimeNumVarList = V_flag; runtimeStrVarList = S_waveNames; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletDeployDataRuntimeParams), (void*)ExecuteGetBrickletDeployData, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, + sizeof(GetBrickletDeployDataRuntimeParams), (void *) ExecuteGetBrickletDeployData, 0); } static int RegisterGetResultFileMetaData() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetResultFileMetaDataRuntimeParams structure as well. - cmdTemplate = "MFR_GetResultFileMetaData /N=string:waveName /DEST=dataFolderRef:dfref"; + cmdTemplate = "MFR_GetResultFileMetaData /N=string:waveName /DEST=dataFolderRef:dfref"; runtimeNumVarList = V_flag; runtimeStrVarList = S_waveNames; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetResultFileMetaDataRuntimeParams), (void*)ExecuteGetResultFileMetaData, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, + sizeof(GetResultFileMetaDataRuntimeParams), (void *) ExecuteGetResultFileMetaData, 0); } static int RegisterGetMtrxFileReaderVersion() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetMtrxFileReaderVersionRuntimeParams structure as well. - cmdTemplate = "MFR_GetVersion"; + cmdTemplate = "MFR_GetVersion"; runtimeNumVarList = V_XOPversion; runtimeStrVarList = ""; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetVersionRuntimeParams), (void*)ExecuteGetVersion, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetVersionRuntimeParams), + (void *) ExecuteGetVersion, 0); } static int RegisterGetVernissageVersion() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetVernissageVersionRuntimeParams structure as well. - cmdTemplate = "MFR_GetVernissageVersion"; + cmdTemplate = "MFR_GetVernissageVersion"; runtimeNumVarList = V_DLLversion; runtimeStrVarList = ""; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetVernissageVersionRuntimeParams), (void*)ExecuteGetVernissageVersion, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetVernissageVersionRuntimeParams), + (void *) ExecuteGetVernissageVersion, 0); } static int RegisterGetXOPErrorMessage() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetXOPErrorMessageRuntimeParams structure as well. - cmdTemplate = "MFR_GetXOPErrorMessage [number:errorCode]"; + cmdTemplate = "MFR_GetXOPErrorMessage [number:errorCode]"; runtimeNumVarList = ""; runtimeStrVarList = ""; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetXOPErrorMessageRuntimeParams), (void*)ExecuteGetXOPErrorMessage, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetXOPErrorMessageRuntimeParams), + (void *) ExecuteGetXOPErrorMessage, 0); } static int RegisterOpenResultFile() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the OpenResultFileRuntimeParams structure as well. - cmdTemplate = "MFR_OpenResultFile /K /P=name:pathName [string:fileNameOrPath]"; + cmdTemplate = "MFR_OpenResultFile /K /P=name:pathName [string:fileNameOrPath]"; runtimeNumVarList = V_flag; runtimeStrVarList = ""; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(OpenResultFileRuntimeParams), (void*)ExecuteOpenResultFile, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(OpenResultFileRuntimeParams), + (void *) ExecuteOpenResultFile, 0); } static int RegisterCloseResultFile() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the CloseResultFileRuntimeParams structure as well. - cmdTemplate = "MFR_CloseResultFile"; + cmdTemplate = "MFR_CloseResultFile"; runtimeNumVarList = V_flag; runtimeStrVarList = ""; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(CloseResultFileRuntimeParams), (void*)ExecuteCloseResultFile, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(CloseResultFileRuntimeParams), + (void *) ExecuteCloseResultFile, 0); } static int RegisterGetBrickletCount() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetBrickletCountRuntimeParams structure as well. - cmdTemplate = "MFR_GetBrickletCount"; + cmdTemplate = "MFR_GetBrickletCount"; runtimeNumVarList = "V_flag;V_count"; runtimeStrVarList = ""; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletCountRuntimeParams), (void*)ExecuteGetBrickletCount, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletCountRuntimeParams), + (void *) ExecuteGetBrickletCount, 0); } static int RegisterGetResultFileName() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetResultFileNameRuntimeParams structure as well. - cmdTemplate = "MFR_GetResultFileName"; + cmdTemplate = "MFR_GetResultFileName"; runtimeNumVarList = V_flag; runtimeStrVarList = "S_fileName;S_dirPath"; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetResultFileNameRuntimeParams), (void*)ExecuteGetResultFileName, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetResultFileNameRuntimeParams), + (void *) ExecuteGetResultFileName, 0); } static int RegisterGetBrickletData() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the MFR_GetBrickletDataRuntimeParams structure as well. - cmdTemplate = "MFR_GetBrickletData /R=(number:startBrickletID[,number:endBrickletID]) /S=number:pixelSize /N=string:baseName /DEST=dataFolderRef:dfref"; + cmdTemplate = "MFR_GetBrickletData /R=(number:startBrickletID[,number:endBrickletID]) /S=number:pixelSize " + "/N=string:baseName /DEST=dataFolderRef:dfref"; runtimeNumVarList = V_flag; runtimeStrVarList = S_waveNames; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletDataRuntimeParams), (void*)ExecuteGetBrickletData, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletDataRuntimeParams), + (void *) ExecuteGetBrickletData, 0); } - static int RegisterGetBrickletMetaData() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetBrickletMetaDataRuntimeParams structure as well. - cmdTemplate = "MFR_GetBrickletMetaData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName /DEST=dataFolderRef:dfref"; + cmdTemplate = "MFR_GetBrickletMetaData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName " + "/DEST=dataFolderRef:dfref"; runtimeNumVarList = V_flag; runtimeStrVarList = S_waveNames; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletMetaDataRuntimeParams), (void*)ExecuteGetBrickletMetaData, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletMetaDataRuntimeParams), + (void *) ExecuteGetBrickletMetaData, 0); } static int RegisterGetBrickletRawData() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetBrickletRawDataRuntimeParams structure as well. - cmdTemplate = "MFR_GetBrickletRawData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName /DEST=dataFolderRef:dfref"; + cmdTemplate = "MFR_GetBrickletRawData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName " + "/DEST=dataFolderRef:dfref"; runtimeNumVarList = V_flag; runtimeStrVarList = S_waveNames; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletRawDataRuntimeParams), (void*)ExecuteGetBrickletRawData, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetBrickletRawDataRuntimeParams), + (void *) ExecuteGetBrickletRawData, 0); } static int RegisterGetReportTemplate() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the GetReportTemplateRuntimeParams structure as well. - cmdTemplate = "MFR_GetReportTemplate"; + cmdTemplate = "MFR_GetReportTemplate"; runtimeNumVarList = ""; runtimeStrVarList = S_value; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetReportTemplateRuntimeParams), (void*)ExecuteGetReportTemplate, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(GetReportTemplateRuntimeParams), + (void *) ExecuteGetReportTemplate, 0); } static int RegisterCreateOverviewTable() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the CreateOverviewTableRuntimeParams structure as well. - cmdTemplate = "MFR_CreateOverviewTable /N=string:waveName /KEYS=string:keyList /DEST=dataFolderRef:dfref"; + cmdTemplate = "MFR_CreateOverviewTable /N=string:waveName /KEYS=string:keyList /DEST=dataFolderRef:dfref"; runtimeNumVarList = V_flag; runtimeStrVarList = S_waveNames; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(CreateOverviewTableRuntimeParams), (void*)ExecuteCreateOverviewTable, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(CreateOverviewTableRuntimeParams), + (void *) ExecuteCreateOverviewTable, 0); } static int RegisterCheckForNewBricklets() { - const char* cmdTemplate; - const char* runtimeNumVarList; - const char* runtimeStrVarList; + const char *cmdTemplate; + const char *runtimeNumVarList; + const char *runtimeStrVarList; // NOTE: If you change this template, you must change the CheckForNewBrickletsRuntimeParams structure as well. - cmdTemplate = "MFR_CheckForNewBricklets"; + cmdTemplate = "MFR_CheckForNewBricklets"; runtimeNumVarList = "V_flag;V_startBrickletID;V_endBrickletID"; runtimeStrVarList = ""; - return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(CheckForNewBrickletsRuntimeParams), (void*)ExecuteCheckForNewBricklets, 0); + return RegisterOperation(cmdTemplate, runtimeNumVarList, runtimeStrVarList, sizeof(CheckForNewBrickletsRuntimeParams), + (void *) ExecuteCheckForNewBricklets, 0); } /* @@ -218,7 +236,7 @@ extern "C" void XOPEntry() try { - switch (GetXOPMessage()) + switch(GetXOPMessage()) { case CLEANUP: saveXOPPreferences(); @@ -228,7 +246,7 @@ extern "C" void XOPEntry() break; } } - catch (...) + catch(...) { HISTPRINT("Unexpected exception in XOPEntry"); } @@ -245,104 +263,104 @@ The message sent by the host must be INIT. HOST_IMPORT int XOPMain(IORecHandle ioRecHandle) { - XOPInit(ioRecHandle); /* do standard XOP initialization */ - SetXOPEntry(XOPEntry); /* set entry point for future calls */ + XOPInit(ioRecHandle); /* do standard XOP initialization */ + SetXOPEntry(XOPEntry); /* set entry point for future calls */ int errorCode; - if (igorVersion < 620) + if(igorVersion < 800) { - SetXOPResult(REQUIRES_IGOR_620); + SetXOPResult(REQUIRES_IGOR_800); return EXIT_FAILURE; } // load preferences from file loadXOPPreferences(); - if (errorCode = RegisterOpenResultFile()) + if(errorCode = RegisterOpenResultFile()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterCloseResultFile()) + if(errorCode = RegisterCloseResultFile()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetBrickletCount()) + if(errorCode = RegisterGetBrickletCount()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetResultFileName()) + if(errorCode = RegisterGetResultFileName()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetVernissageVersion()) + if(errorCode = RegisterGetVernissageVersion()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetMtrxFileReaderVersion()) + if(errorCode = RegisterGetMtrxFileReaderVersion()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetBrickletData()) + if(errorCode = RegisterGetBrickletData()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetBrickletMetaData()) + if(errorCode = RegisterGetBrickletMetaData()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetBrickletDeployData()) + if(errorCode = RegisterGetBrickletDeployData()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetBrickletRawData()) + if(errorCode = RegisterGetBrickletRawData()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetReportTemplate()) + if(errorCode = RegisterGetReportTemplate()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterCreateOverviewTable()) + if(errorCode = RegisterCreateOverviewTable()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetResultFileMetaData()) + if(errorCode = RegisterGetResultFileMetaData()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterCheckForNewBricklets()) + if(errorCode = RegisterCheckForNewBricklets()) { SetXOPResult(errorCode); return EXIT_FAILURE; } - if (errorCode = RegisterGetXOPErrorMessage()) + if(errorCode = RegisterGetXOPErrorMessage()) { SetXOPResult(errorCode); return EXIT_FAILURE; diff --git a/VC8/operationsinterface.hpp b/VC8/operationsinterface.hpp index cc464bf..6f69c4a 100644 --- a/VC8/operationsinterface.hpp +++ b/VC8/operationsinterface.hpp @@ -12,8 +12,8 @@ */ /* custom error codes */ -#define REQUIRES_IGOR_620 FIRST_XOP_ERR + 1 -#define BROKEN_XOP FIRST_XOP_ERR + 2 +#define REQUIRES_IGOR_800 FIRST_XOP_ERR + 1 +#define BROKEN_XOP FIRST_XOP_ERR + 2 /* Prototypes */ HOST_IMPORT int XOPMain(IORecHandle ioRecHandle); @@ -21,13 +21,17 @@ extern "C" void XOPEntry(); // Igor aborts if it encounters an unhandled exception, therefore every operation // needs enclosing BEGIN_OUTER_CATCH and END_OUTER_CATCH macros -#define BEGIN_OUTER_CATCH try{ -#define END_OUTER_CATCH }\ - catch(...){\ - DEBUGPRINT("Unexpected exception caught in line %d, function %s, file %s", __LINE__, __FUNCTION__, __FILE__);\ - GlobalData::Instance().setError(UNKNOWN_ERROR);\ - return 0;\ - } +#define BEGIN_OUTER_CATCH \ + try \ + { +#define END_OUTER_CATCH \ + } \ + catch(...) \ + { \ + DEBUGPRINT("Unexpected exception caught in line %d, function %s, file %s", __LINE__, __FUNCTION__, __FILE__); \ + GlobalData::Instance().setError(UNKNOWN_ERROR); \ + return 0; \ + } // each execute function holds the implementation of one igor operation // are each in a separate file named operationsinterface_* diff --git a/VC8/operationsinterface_checkfornewbricklets.cpp b/VC8/operationsinterface_checkfornewbricklets.cpp index fb37aea..d285c40 100644 --- a/VC8/operationsinterface_checkfornewbricklets.cpp +++ b/VC8/operationsinterface_checkfornewbricklets.cpp @@ -20,7 +20,7 @@ extern "C" int ExecuteCheckForNewBricklets(CheckForNewBrickletsRuntimeParamsPtr // save defaults int ret = SetOperationNumVar(V_startBrickletID, -1.0); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -28,29 +28,29 @@ extern "C" int ExecuteCheckForNewBricklets(CheckForNewBrickletsRuntimeParamsPtr ret = SetOperationNumVar(V_endBrickletID, -1.0); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; } - if (!GlobalData::Instance().resultFileOpen()) + if(!GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(NO_FILE_OPEN); return 0; } - Vernissage::Session* session = GlobalData::Instance().getVernissageSession(); + Vernissage::Session *session = GlobalData::Instance().getVernissageSession(); const int oldNumberOfBricklets = session->getBrickletCount(); std::wstring fileName = GlobalData::Instance().getFileName(); - std::wstring dirPath = GlobalData::Instance().getDirPath(); + std::wstring dirPath = GlobalData::Instance().getDirPath(); // true -> result set will be added to the database // false -> replaces the current results sets in the internal databse const bool loadSuccess = session->loadResultSet(dirPath, fileName, false); - if (!loadSuccess) + if(!loadSuccess) { HISTPRINT("Could not check for updates of the result file. Maybe it was moved?"); HISTPRINT("Try closing and opening the result file again."); @@ -63,30 +63,30 @@ extern "C" int ExecuteCheckForNewBricklets(CheckForNewBrickletsRuntimeParamsPtr const int numberOfBricklets = session->getBrickletCount(); // should not happen - if (numberOfBricklets < oldNumberOfBricklets) + if(numberOfBricklets < oldNumberOfBricklets) { HISTPRINT("Error in updating the result file. Please close and reopen it."); return 0; } void *pContext = NULL; - for (int i = 1; i <= numberOfBricklets; i++) + for(int i = 1; i <= numberOfBricklets; i++) { - void* vernissageBricklet = session->getNextBricklet(&pContext); + void *vernissageBricklet = session->getNextBricklet(&pContext); ASSERT_RETURN_ZERO(vernissageBricklet); - if (i > oldNumberOfBricklets) // this is a new bricklet + if(i > oldNumberOfBricklets) // this is a new bricklet { GlobalData::Instance().createBricklet(i, vernissageBricklet); } - else // the bricklet is old and we only have to update *vernissageBricklet + else // the bricklet is old and we only have to update *vernissageBricklet { - GlobalData::Instance().updateBricklet(i,vernissageBricklet); + GlobalData::Instance().updateBricklet(i, vernissageBricklet); } } // from here on we know that numberOfBricklets >= oldNumberOfBricklets - if (oldNumberOfBricklets == numberOfBricklets) + if(oldNumberOfBricklets == numberOfBricklets) { GlobalData::Instance().setError(NO_NEW_BRICKLETS); return 0; @@ -94,7 +94,7 @@ extern "C" int ExecuteCheckForNewBricklets(CheckForNewBrickletsRuntimeParamsPtr ret = SetOperationNumVar(V_startBrickletID, oldNumberOfBricklets + 1); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -102,7 +102,7 @@ extern "C" int ExecuteCheckForNewBricklets(CheckForNewBrickletsRuntimeParamsPtr ret = SetOperationNumVar(V_endBrickletID, numberOfBricklets); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_closeresultfile.cpp b/VC8/operationsinterface_closeresultfile.cpp index a5271bb..2a8eac0 100644 --- a/VC8/operationsinterface_closeresultfile.cpp +++ b/VC8/operationsinterface_closeresultfile.cpp @@ -15,7 +15,7 @@ extern "C" int ExecuteCloseResultFile(CloseResultFileRuntimeParamsPtr p) BEGIN_OUTER_CATCH GlobalData::Instance().initialize(p->calledFromMacro, p->calledFromFunction); - if (!GlobalData::Instance().resultFileOpen()) + if(!GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(NO_FILE_OPEN); return 0; diff --git a/VC8/operationsinterface_createoverviewtable.cpp b/VC8/operationsinterface_createoverviewtable.cpp index 651ac03..facd888 100644 --- a/VC8/operationsinterface_createoverviewtable.cpp +++ b/VC8/operationsinterface_createoverviewtable.cpp @@ -19,7 +19,7 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) GlobalData::Instance().initializeWithoutReadSettings(p->calledFromMacro, p->calledFromFunction); int ret = SetOperationStrVar(S_waveNames, ""); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -34,9 +34,9 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) // check of DEST flag which tells us that we should place all output in the supplied datafolder // and also read the variable settings from this folder - if (p->DESTFlagEncountered) + if(p->DESTFlagEncountered) { - if (!dataFolderExists(p->dfref)) + if(!dataFolderExists(p->dfref)) { GlobalData::Instance().setError(WRONG_PARAMETER, "dfref"); return 0; @@ -49,7 +49,7 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) { ret = GetCurrentDataFolder(&destDataFolderHndl); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -58,25 +58,25 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) GlobalData::Instance().readSettings(destDataFolderHndl); - if (!GlobalData::Instance().resultFileOpen()) + if(!GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(NO_FILE_OPEN); return 0; } - Vernissage::Session* session = getVernissageSession(); - const int numberOfBricklets = session->getBrickletCount(); + Vernissage::Session *session = getVernissageSession(); + const int numberOfBricklets = session->getBrickletCount(); - if (numberOfBricklets == 0) + if(numberOfBricklets == 0) { GlobalData::Instance().setError(EMPTY_RESULTFILE); return 0; } // check keyList parameter - if (p->KEYSFlagEncountered) + if(p->KEYSFlagEncountered) { - if (GetHandleSize(p->keyList) == 0L) + if(WMGetHandleSize(p->keyList) == 0L) { GlobalData::Instance().setError(WRONG_PARAMETER, "keyList"); return 0; @@ -92,9 +92,9 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) } // check waveName parameter - if (p->NFlagEncountered) + if(p->NFlagEncountered) { - if (GetHandleSize(p->waveName) == 0L) + if(WMGetHandleSize(p->waveName) == 0L) { GlobalData::Instance().setError(WRONG_PARAMETER, "waveName"); return 0; @@ -110,7 +110,7 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) } ret = CheckName(NULL, WAVE_OBJECT, waveName.c_str()); - if (ret == NAME_TOO_LONG || ret == BAD_CHAR_IN_WAVE_NAME) + if(ret == WAVE_NAME_TOO_LONG || ret == BAD_CHAR_IN_WAVE_NAME) { GlobalData::Instance().setError(WRONG_PARAMETER, "waveName"); return 0; @@ -119,24 +119,25 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) std::vector keys; splitString(keyList, listSepChar, keys); - if (keys.empty()) + if(keys.empty()) { GlobalData::Instance().setError(WRONG_PARAMETER, "keyList"); return 0; } - dimensionSizes[ROWS] = numberOfBricklets; + dimensionSizes[ROWS] = numberOfBricklets; dimensionSizes[COLUMNS] = keys.size(); - ret = MDMakeWave(&waveHandle, waveName.c_str(), destDataFolderHndl, dimensionSizes, TEXT_WAVE_TYPE, isOverwriteEnabled()); + ret = MDMakeWave(&waveHandle, waveName.c_str(), destDataFolderHndl, dimensionSizes, TEXT_WAVE_TYPE, + isOverwriteEnabled()); - if (ret == NAME_WAV_CONFLICT) + if(ret == NAME_WAV_CONFLICT) { DEBUGPRINT("Wave %s already exists.", waveName.c_str()); GlobalData::Instance().setError(WAVE_EXIST, waveName); return 0; } - else if (ret != 0) + else if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -147,32 +148,32 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) loadAllBrickletMetaData(); std::vector content; - content.reserve(keys.size()*numberOfBricklets); + content.reserve(keys.size() * numberOfBricklets); - for (unsigned int j = 0; j < keys.size(); j++) + for(unsigned int j = 0; j < keys.size(); j++) { const std::string key = keys[j]; - //DEBUGPRINT("key=%s", key.c_str()); + // DEBUGPRINT("key=%s", key.c_str()); int ret = MDSetDimensionLabel(waveHandle, COLUMNS, j, key.c_str()); - if (ret != 0) + if(ret != 0) { - DEBUGPRINT("MDSetDimensionLabel returned %d",ret); + DEBUGPRINT("MDSetDimensionLabel returned %d", ret); return ret; } - for (int i = 1; i <= numberOfBricklets; i++) + for(int i = 1; i <= numberOfBricklets; i++) { - Bricklet& bricklet = GlobalData::Instance().getBricklet(i); + Bricklet &bricklet = GlobalData::Instance().getBricklet(i); const std::string value = bricklet.getMetaDataValue(key); content.push_back(value); - //DEBUGPRINT(" value=%s", value.c_str()); + // DEBUGPRINT(" value=%s", value.c_str()); } } // needs data in column-major format ret = stringVectorToTextWave(content, waveHandle); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -181,11 +182,11 @@ extern "C" int ExecuteCreateOverviewTable(CreateOverviewTableRuntimeParamsPtr p) setOtherWaveNote(waveHandle); std::string waveList; - appendToWaveList(destDataFolderHndl,waveHandle,waveList); + appendToWaveList(destDataFolderHndl, waveHandle, waveList); ret = SetOperationStrVar(S_waveNames, waveList.c_str()); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_genericgetbricklet.cpp b/VC8/operationsinterface_genericgetbricklet.cpp index 67fe455..f901af2 100644 --- a/VC8/operationsinterface_genericgetbricklet.cpp +++ b/VC8/operationsinterface_genericgetbricklet.cpp @@ -14,48 +14,55 @@ #include "bricklet.hpp" #include "utils_generic.hpp" -namespace { +namespace +{ - enum TYPE { RAW_DATA = 1, CONVERTED_DATA = 2, META_DATA = 4, DEPLOY_DATA = 8 }; +enum TYPE +{ + RAW_DATA = 1, + CONVERTED_DATA = 2, + META_DATA = 4, + DEPLOY_DATA = 8 +}; - /* - Constructs a valid wave name given a buffer of length MAX_OBJ_NAME + 1, a baseName and a brickletID - Returns 0 on success - */ - int formatWaveName( char* const buf, const std::string& baseName, int brickletID ) - { - const int size = MAX_OBJ_NAME + 1; - const int len = _snprintf(buf, size, brickletWaveFormat, baseName.c_str(), brickletID); - buf[size - 1] = '\0'; - if ( len == size // no space for trailing \0 - || len < 0 // formatted string too long - ) - return NAME_TOO_LONG; +/* + Constructs a valid wave name given a buffer of length MAX_OBJ_NAME + 1, a baseName and a brickletID + Returns 0 on success +*/ +int formatWaveName(char *const buf, const std::string &baseName, int brickletID) +{ + const int size = MAX_OBJ_NAME + 1; + const int len = _snprintf(buf, size, brickletWaveFormat, baseName.c_str(), brickletID); + buf[size - 1] = '\0'; + if(len == size // no space for trailing \0 + || len < 0 // formatted string too long + ) + return NAME_TOO_LONG; - return 0; - } + return 0; +} } // anonymous namespace extern "C" int ExecuteGetBrickletData(GetBrickletDataRuntimeParamsPtr p) { GenericGetBrickletParams params; - params.calledFromFunction = p->calledFromFunction; - params.calledFromMacro = p->calledFromMacro; + params.calledFromFunction = p->calledFromFunction; + params.calledFromMacro = p->calledFromMacro; - params.NFlagEncountered = p->NFlagEncountered; - params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; - params.baseName = p->baseName; + params.NFlagEncountered = p->NFlagEncountered; + params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; + params.baseName = p->baseName; - params.RFlagEncountered = p->RFlagEncountered; - params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; - params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; - params.startBrickletID = p->startBrickletID; - params.endBrickletID = p->endBrickletID; + params.RFlagEncountered = p->RFlagEncountered; + params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; + params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; + params.startBrickletID = p->startBrickletID; + params.endBrickletID = p->endBrickletID; - params.SFlagEncountered = p->SFlagEncountered; - params.SFlagParamsSet[0] = p->SFlagParamsSet[0]; - params.pixelSize = p->pixelSize; + params.SFlagEncountered = p->SFlagEncountered; + params.SFlagParamsSet[0] = p->SFlagParamsSet[0]; + params.pixelSize = p->pixelSize; params.DESTFlagEncountered = p->DESTFlagEncountered; params.DESTFlagParamsSet[0] = p->DESTFlagParamsSet[0]; @@ -68,22 +75,22 @@ int ExecuteGetBrickletMetaData(GetBrickletMetaDataRuntimeParamsPtr p) { GenericGetBrickletParams params; - params.calledFromFunction = p->calledFromFunction; - params.calledFromMacro = p->calledFromMacro; + params.calledFromFunction = p->calledFromFunction; + params.calledFromMacro = p->calledFromMacro; - params.NFlagEncountered = p->NFlagEncountered; - params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; - params.baseName = p->baseName; + params.NFlagEncountered = p->NFlagEncountered; + params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; + params.baseName = p->baseName; - params.RFlagEncountered = p->RFlagEncountered; - params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; - params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; - params.startBrickletID = p->startBrickletID; - params.endBrickletID = p->endBrickletID; + params.RFlagEncountered = p->RFlagEncountered; + params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; + params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; + params.startBrickletID = p->startBrickletID; + params.endBrickletID = p->endBrickletID; - params.SFlagEncountered = 0; - params.SFlagParamsSet[0] = 0; - params.pixelSize = 0.0; + params.SFlagEncountered = 0; + params.SFlagParamsSet[0] = 0; + params.pixelSize = 0.0; params.DESTFlagEncountered = p->DESTFlagEncountered; params.DESTFlagParamsSet[0] = p->DESTFlagParamsSet[0]; @@ -96,22 +103,22 @@ extern "C" int ExecuteGetBrickletDeployData(GetBrickletDeployDataRuntimeParamsPt { GenericGetBrickletParams params; - params.calledFromFunction = p->calledFromFunction; - params.calledFromMacro = p->calledFromMacro; + params.calledFromFunction = p->calledFromFunction; + params.calledFromMacro = p->calledFromMacro; - params.NFlagEncountered = p->NFlagEncountered; - params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; - params.baseName = p->baseName; + params.NFlagEncountered = p->NFlagEncountered; + params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; + params.baseName = p->baseName; - params.RFlagEncountered = p->RFlagEncountered; - params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; - params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; - params.startBrickletID = p->startBrickletID; - params.endBrickletID = p->endBrickletID; + params.RFlagEncountered = p->RFlagEncountered; + params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; + params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; + params.startBrickletID = p->startBrickletID; + params.endBrickletID = p->endBrickletID; - params.SFlagEncountered = 0; - params.SFlagParamsSet[0] = 0; - params.pixelSize = 0.0; + params.SFlagEncountered = 0; + params.SFlagParamsSet[0] = 0; + params.pixelSize = 0.0; params.DESTFlagEncountered = p->DESTFlagEncountered; params.DESTFlagParamsSet[0] = p->DESTFlagParamsSet[0]; @@ -124,22 +131,22 @@ extern "C" int ExecuteGetBrickletRawData(GetBrickletRawDataRuntimeParamsPtr p) { GenericGetBrickletParams params; - params.calledFromFunction = p->calledFromFunction; - params.calledFromMacro = p->calledFromMacro; + params.calledFromFunction = p->calledFromFunction; + params.calledFromMacro = p->calledFromMacro; - params.NFlagEncountered = p->NFlagEncountered; - params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; - params.baseName = p->baseName; + params.NFlagEncountered = p->NFlagEncountered; + params.NFlagParamsSet[0] = p->NFlagParamsSet[0]; + params.baseName = p->baseName; - params.RFlagEncountered = p->RFlagEncountered; - params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; - params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; - params.startBrickletID = p->startBrickletID; - params.endBrickletID = p->endBrickletID; + params.RFlagEncountered = p->RFlagEncountered; + params.RFlagParamsSet[0] = p->RFlagParamsSet[0]; + params.RFlagParamsSet[1] = p->RFlagParamsSet[1]; + params.startBrickletID = p->startBrickletID; + params.endBrickletID = p->endBrickletID; - params.SFlagEncountered = 0; - params.SFlagParamsSet[0] = 0; - params.pixelSize = 0.0; + params.SFlagEncountered = 0; + params.SFlagParamsSet[0] = 0; + params.pixelSize = 0.0; params.DESTFlagEncountered = p->DESTFlagEncountered; params.DESTFlagParamsSet[0] = p->DESTFlagParamsSet[0]; @@ -156,7 +163,7 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) GlobalData::Instance().initializeWithoutReadSettings(p->calledFromMacro, p->calledFromFunction); int ret = SetOperationStrVar(S_waveNames, ""); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -167,9 +174,9 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) // check of DEST flag which tells us that we should place all output in the supplied datafolder // and also read the variable settings from this folder DataFolderHandle destDataFolderHndl = NULL; - if (p->DESTFlagEncountered) + if(p->DESTFlagEncountered) { - if (!dataFolderExists(p->dfref)) + if(!dataFolderExists(p->dfref)) { GlobalData::Instance().setError(WRONG_PARAMETER, "dfref"); return 0; @@ -182,7 +189,7 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) { ret = GetCurrentDataFolder(&destDataFolderHndl); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -191,16 +198,16 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) GlobalData::Instance().readSettings(destDataFolderHndl); - if (!GlobalData::Instance().resultFileOpen()) + if(!GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(NO_FILE_OPEN); return 0; } - Vernissage::Session* session = GlobalData::Instance().getVernissageSession(); - const int numberOfBricklets = session->getBrickletCount(); + Vernissage::Session *session = GlobalData::Instance().getVernissageSession(); + const int numberOfBricklets = session->getBrickletCount(); - if (numberOfBricklets == 0) + if(numberOfBricklets == 0) { GlobalData::Instance().setError(EMPTY_RESULTFILE); return 0; @@ -208,41 +215,41 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) // By default the range is over all bricklets int startBrickletID = 1; - int endBrickletID = numberOfBricklets; + int endBrickletID = numberOfBricklets; // the /R flag specifies a single brickletID or a brickletID range // Parameter: p->startBrickletID // Parameter: p->endBrickletID [optional] - if (p->RFlagEncountered) + if(p->RFlagEncountered) { startBrickletID = int(p->startBrickletID); - if (p->RFlagParamsSet[1]) // endBrickletID is set + if(p->RFlagParamsSet[1]) // endBrickletID is set { - endBrickletID = int(p->endBrickletID); + endBrickletID = int(p->endBrickletID); } else { - endBrickletID = int(p->startBrickletID); // the range is restricted to one bricklet given by startBrickletID + endBrickletID = int(p->startBrickletID); // the range is restricted to one bricklet given by startBrickletID } } else { - // preload all bricklet data - // we don't do that if caching is disabled in order - // to prevent early out of memory errors - if(GlobalData::Instance().isDataCacheEnabled()) - { - if(typeOfData == CONVERTED_DATA) - loadAllBrickletDataAndMetaData(); - else if(typeOfData == RAW_DATA) - loadAllBrickletData(); - } + // preload all bricklet data + // we don't do that if caching is disabled in order + // to prevent early out of memory errors + if(GlobalData::Instance().isDataCacheEnabled()) + { + if(typeOfData == CONVERTED_DATA) + loadAllBrickletDataAndMetaData(); + else if(typeOfData == RAW_DATA) + loadAllBrickletData(); + } } DEBUGPRINT("startBrickletID=%d, endBrickletID=%d", startBrickletID, endBrickletID); - if (!isValidBrickletRange(startBrickletID, endBrickletID, numberOfBricklets)) + if(!isValidBrickletRange(startBrickletID, endBrickletID, numberOfBricklets)) { GlobalData::Instance().setError(INVALID_RANGE); return 0; @@ -250,9 +257,9 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) // from here on we have a none empty result set open and a valid bricklet range std::string baseName; - if (p->NFlagEncountered) + if(p->NFlagEncountered) { - if (GetHandleSize(p->baseName) == 0L) + if(WMGetHandleSize(p->baseName) == 0L) { GlobalData::Instance().setError(WRONG_PARAMETER, "baseName"); return 0; @@ -265,7 +272,7 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) else { // use the default name for the waves - switch (typeOfData) + switch(typeOfData) { case RAW_DATA: baseName = brickletRawDefault; @@ -291,14 +298,14 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) } // check for possible resample flag (only in case we are dealing with converted data) - int pixelSize = 1; + int pixelSize = 1; bool resampleData = false; - if (p->SFlagEncountered) + if(p->SFlagEncountered) { resampleData = true; - pixelSize = int(floor(p->pixelSize)); + pixelSize = int(floor(p->pixelSize)); - if (pixelSize < 2 || pixelSize > maximum_pixelSize) + if(pixelSize < 2 || pixelSize > maximum_pixelSize) { GlobalData::Instance().setError(WRONG_PARAMETER, "pixelSize"); return 0; @@ -306,20 +313,20 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) DEBUGPRINT("pixelSize=%d", pixelSize); } - for (int brickletID = startBrickletID; brickletID <= endBrickletID; brickletID++) + for(int brickletID = startBrickletID; brickletID <= endBrickletID; brickletID++) { - Bricklet& bricklet = GlobalData::Instance().getBricklet(brickletID); + Bricklet &bricklet = GlobalData::Instance().getBricklet(brickletID); char waveName[MAX_OBJ_NAME + 1]; ret = formatWaveName(waveName, baseName, brickletID); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setError(WRONG_PARAMETER, "baseName"); return 0; } ret = CheckName(NULL, WAVE_OBJECT, waveName); - if (ret == NAME_TOO_LONG || ret == BAD_CHAR_IN_WAVE_NAME) + if(ret == WAVE_NAME_TOO_LONG || ret == BAD_CHAR_IN_WAVE_NAME) { GlobalData::Instance().setError(WRONG_PARAMETER, "waveName"); return 0; @@ -327,14 +334,14 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) // datafolder handling DataFolderHandle brickletDataFolderHndl = NULL; - if (GlobalData::Instance().isDatafolderEnabled()) + if(GlobalData::Instance().isDatafolderEnabled()) { char dataFolderName[MAX_OBJ_NAME + 1]; sprintf(dataFolderName, dataFolderFormat, brickletID); ret = NewDataFolder(destDataFolderHndl, dataFolderName, &brickletDataFolderHndl); // continue if the datafolder alrady exists, abort on all other errors - if (ret != 0 && ret != FOLDER_NAME_EXISTS) + if(ret != 0 && ret != FOLDER_NAME_EXISTS) { GlobalData::Instance().setInternalError(ret); return 0; @@ -347,22 +354,25 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) brickletDataFolderHndl = destDataFolderHndl; } - switch (typeOfData) + switch(typeOfData) { case RAW_DATA: ret = createRawDataWave(destDataFolderHndl, brickletDataFolderHndl, waveName, brickletID, waveNameList); break; case CONVERTED_DATA: - ret = createWaves(destDataFolderHndl, brickletDataFolderHndl, waveName, brickletID, resampleData, pixelSize, waveNameList); + ret = createWaves(destDataFolderHndl, brickletDataFolderHndl, waveName, brickletID, resampleData, pixelSize, + waveNameList); break; case META_DATA: - ret = createAndFillTextWave(destDataFolderHndl, bricklet.getMetaData(), brickletDataFolderHndl, waveName, brickletID, waveNameList); + ret = createAndFillTextWave(destDataFolderHndl, bricklet.getMetaData(), brickletDataFolderHndl, waveName, + brickletID, waveNameList); break; case DEPLOY_DATA: - ret = createAndFillTextWave(destDataFolderHndl, bricklet.getDeploymentParameter(), brickletDataFolderHndl, waveName, brickletID, waveNameList); + ret = createAndFillTextWave(destDataFolderHndl, bricklet.getDeploymentParameter(), brickletDataFolderHndl, + waveName, brickletID, waveNameList); break; default: @@ -371,29 +381,29 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) break; } - if (!GlobalData::Instance().isDataCacheEnabled()) + if(!GlobalData::Instance().isDataCacheEnabled()) { bricklet.clearCache(); } - if (ret == WAVE_EXIST) + if(ret == WAVE_EXIST) { GlobalData::Instance().setError(ret, waveName); return 0; } - else if (ret == INTERNAL_ERROR_CONVERTING_DATA || ret == UNKNOWN_ERROR) + else if(ret == INTERNAL_ERROR_CONVERTING_DATA || ret == UNKNOWN_ERROR) { GlobalData::Instance().setError(ret); return 0; } - else if (ret != SUCCESS) + else if(ret != SUCCESS) { GlobalData::Instance().setInternalError(ret); return 0; } - //check for user abort - if (SpinProcess() != 0) + // check for user abort + if(SpinProcess() != 0) { break; } @@ -401,7 +411,7 @@ int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData) ret = SetOperationStrVar(S_waveNames, waveNameList.c_str()); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_getbrickletcount.cpp b/VC8/operationsinterface_getbrickletcount.cpp index 4cd8a91..6bf2da9 100644 --- a/VC8/operationsinterface_getbrickletcount.cpp +++ b/VC8/operationsinterface_getbrickletcount.cpp @@ -16,16 +16,16 @@ extern "C" int ExecuteGetBrickletCount(GetBrickletCountRuntimeParamsPtr p) BEGIN_OUTER_CATCH GlobalData::Instance().initialize(p->calledFromMacro, p->calledFromFunction); - if (!GlobalData::Instance().resultFileOpen()) + if(!GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(NO_FILE_OPEN); return 0; } - Vernissage::Session* session = GlobalData::Instance().getVernissageSession(); - int ret = SetOperationNumVar(V_count, session->getBrickletCount()); + Vernissage::Session *session = GlobalData::Instance().getVernissageSession(); + int ret = SetOperationNumVar(V_count, session->getBrickletCount()); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_getreporttemplate.cpp b/VC8/operationsinterface_getreporttemplate.cpp index fec6ef1..f392510 100644 --- a/VC8/operationsinterface_getreporttemplate.cpp +++ b/VC8/operationsinterface_getreporttemplate.cpp @@ -12,23 +12,24 @@ #include "utils_generic.hpp" #include "gitversion.hpp" -namespace { +namespace +{ - DWORDLONG convertBytesToGiB( DWORDLONG bytes ) - { - return bytes /(1024 * 1024 * 1024); - } +DWORDLONG convertBytesToGiB(DWORDLONG bytes) +{ + return bytes / (1024 * 1024 * 1024); +} } // anonymous namespace -extern "C" int ExecuteGetReportTemplate(GetReportTemplateRuntimeParamsPtr p) +extern "C" int ExecuteGetReportTemplate(GetReportTemplateRuntimeParamsPtr /* p */) { BEGIN_OUTER_CATCH GlobalData::Instance().readSettings(); int ret = SetOperationStrVar(S_value, ""); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -46,9 +47,10 @@ extern "C" int ExecuteGetReportTemplate(GetReportTemplateRuntimeParamsPtr p) BOOL retValue = GetVersionEx(&osvi); // non zero is success here - if (retValue != 0) + if(retValue != 0) { - str.append("Windows version: " + toString(osvi.dwMajorVersion) + "." + toString(osvi.dwMinorVersion) + " (Build " + toString(osvi.dwBuildNumber) + ")\r"); + str.append("Windows version: " + toString(osvi.dwMajorVersion) + "." + toString(osvi.dwMinorVersion) + " (Build " + + toString(osvi.dwBuildNumber) + ")\r"); } else { @@ -58,9 +60,9 @@ extern "C" int ExecuteGetReportTemplate(GetReportTemplateRuntimeParamsPtr p) MEMORYSTATUSEX statex; ZeroMemory(&statex, sizeof(MEMORYSTATUSEX)); statex.dwLength = sizeof(MEMORYSTATUSEX); - retValue = GlobalMemoryStatusEx(&statex); + retValue = GlobalMemoryStatusEx(&statex); - if (retValue != 0) + if(retValue != 0) { str.append("Free Memory: " + toString(convertBytesToGiB(statex.ullAvailPhys)) + " GiB\r"); str.append("Total Memory: " + toString(convertBytesToGiB(statex.ullTotalPhys)) + " GiB\r"); @@ -76,7 +78,8 @@ extern "C" int ExecuteGetReportTemplate(GetReportTemplateRuntimeParamsPtr p) str.append("Visual Studio version: " + toString(_MSC_VER) + "\r"); str.append("Igor Pro Version: " + toString(igorVersion) + "\r"); str.append("Vernissage version: " + GlobalData::Instance().getVernissageVersion() + "\r"); - str.append("XOP version: " + std::string(MatrixFileReader_XOP_VERSION_STR) + " (Build " + std::string(GIT_VERSION) + ")"); + str.append("XOP version: " + std::string(MatrixFileReader_XOP_VERSION_STR) + " (Build " + std::string(GIT_VERSION) + + ")"); str.append("\r"); str.append("Compilation date and time: " __DATE__ " " __TIME__ "\r"); str.append("\r"); @@ -86,7 +89,7 @@ extern "C" int ExecuteGetReportTemplate(GetReportTemplateRuntimeParamsPtr p) ret = SetOperationStrVar(S_value, str.c_str()); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_getresultfilemetadata.cpp b/VC8/operationsinterface_getresultfilemetadata.cpp index 61f1cc1..5e58100 100644 --- a/VC8/operationsinterface_getresultfilemetadata.cpp +++ b/VC8/operationsinterface_getresultfilemetadata.cpp @@ -20,7 +20,7 @@ extern "C" int ExecuteGetResultFileMetaData(GetResultFileMetaDataRuntimeParamsPt int ret = SetOperationStrVar(S_waveNames, ""); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -29,7 +29,7 @@ extern "C" int ExecuteGetResultFileMetaData(GetResultFileMetaDataRuntimeParamsPt // check of DEST flag which tells us that we should place all output in the supplied datafolder // and also read the variable settings from this folder DataFolderHandle destDataFolderHndl = NULL; - if (p->DESTFlagEncountered) + if(p->DESTFlagEncountered) { if(!dataFolderExists(p->dfref)) { @@ -43,7 +43,7 @@ extern "C" int ExecuteGetResultFileMetaData(GetResultFileMetaDataRuntimeParamsPt { ret = GetCurrentDataFolder(&destDataFolderHndl); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -53,20 +53,20 @@ extern "C" int ExecuteGetResultFileMetaData(GetResultFileMetaDataRuntimeParamsPt // Here we check again for the config variables, this time in the destDataFolderHndl GlobalData::Instance().readSettings(destDataFolderHndl); - if (!GlobalData::Instance().resultFileOpen()) + if(!GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(NO_FILE_OPEN); return 0; } - Vernissage::Session* session = GlobalData::Instance().getVernissageSession(); - const int numberOfBricklets = session->getBrickletCount(); + Vernissage::Session *session = GlobalData::Instance().getVernissageSession(); + const int numberOfBricklets = session->getBrickletCount(); // check waveName parameter std::string waveName = resultMetaDefault; - if (p->NFlagEncountered) + if(p->NFlagEncountered) { - if (GetHandleSize(p->waveName) == 0L) + if(WMGetHandleSize(p->waveName) == 0L) { GlobalData::Instance().setError(WRONG_PARAMETER, "waveName"); return 0; @@ -78,56 +78,57 @@ extern "C" int ExecuteGetResultFileMetaData(GetResultFileMetaDataRuntimeParamsPt } ret = CheckName(NULL, WAVE_OBJECT, waveName.c_str()); - if (ret == NAME_TOO_LONG || ret == BAD_CHAR_IN_WAVE_NAME) + if(ret == WAVE_NAME_TOO_LONG || ret == BAD_CHAR_IN_WAVE_NAME) { GlobalData::Instance().setError(WRONG_PARAMETER, "waveName"); return 0; } StringPairVector data; - AddEntry(data,RESULT_DIR_PATH_KEY,convertEncoding(GlobalData::Instance().getDirPath())); - AddEntry(data,RESULT_FILE_NAME_KEY,convertEncoding(GlobalData::Instance().getFileName())); - AddEntry(data,"totalNumberOfBricklets",toString(numberOfBricklets)); + AddEntry(data, RESULT_DIR_PATH_KEY, convertEncoding(GlobalData::Instance().getDirPath())); + AddEntry(data, RESULT_FILE_NAME_KEY, convertEncoding(GlobalData::Instance().getFileName())); + AddEntry(data, "totalNumberOfBricklets", toString(numberOfBricklets)); - if (numberOfBricklets > 0) + if(numberOfBricklets > 0) { - Bricklet& bricklet = GlobalData::Instance().getBricklet(numberOfBricklets); - void* vernissageBricklet = bricklet.getBrickletPointer(); + Bricklet &bricklet = GlobalData::Instance().getBricklet(numberOfBricklets); + void *vernissageBricklet = bricklet.getBrickletPointer(); // use the timestamp of the last bricklet as dateOfLastChange - tm ctime = session->getCreationTimestamp(vernissageBricklet); + tm ctime = session->getCreationTimestamp(vernissageBricklet); const Vernissage::Session::BrickletMetaData brickletMetaData = session->getMetaData(vernissageBricklet); char buf[ARRAY_SIZE]; - sprintf(buf, "%02d/%02d/%04d %02d:%02d:%02d", ctime.tm_mon + 1, ctime.tm_mday, ctime.tm_year + 1900, ctime.tm_hour, ctime.tm_min, ctime.tm_sec); + sprintf(buf, "%02d/%02d/%04d %02d:%02d:%02d", ctime.tm_mon + 1, ctime.tm_mday, ctime.tm_year + 1900, ctime.tm_hour, + ctime.tm_min, ctime.tm_sec); - AddEntry(data, "dateOfLastChange" , std::string(buf)); - AddEntry(data, "timeStampOfLastChange" , mktime(&ctime)); - AddEntry(data, "BrickletMetaData.fileCreatorName" , brickletMetaData.fileCreatorName); + AddEntry(data, "dateOfLastChange", std::string(buf)); + AddEntry(data, "timeStampOfLastChange", mktime(&ctime)); + AddEntry(data, "BrickletMetaData.fileCreatorName", brickletMetaData.fileCreatorName); AddEntry(data, "BrickletMetaData.fileCreatorVersion", brickletMetaData.fileCreatorVersion); - AddEntry(data, "BrickletMetaData.userName" , brickletMetaData.userName); - AddEntry(data, "BrickletMetaData.accountName" , brickletMetaData.accountName); + AddEntry(data, "BrickletMetaData.userName", brickletMetaData.userName); + AddEntry(data, "BrickletMetaData.accountName", brickletMetaData.accountName); } else { - AddEntry(data, "dateOfLastChange" , ""); - AddEntry(data, "timeStampOfLastChange" , ""); - AddEntry(data, "BrickletMetaData.fileCreatorName" , ""); + AddEntry(data, "dateOfLastChange", ""); + AddEntry(data, "timeStampOfLastChange", ""); + AddEntry(data, "BrickletMetaData.fileCreatorName", ""); AddEntry(data, "BrickletMetaData.fileCreatorVersion", ""); - AddEntry(data, "BrickletMetaData.userName" , ""); - AddEntry(data, "BrickletMetaData.accountName" , ""); + AddEntry(data, "BrickletMetaData.userName", ""); + AddEntry(data, "BrickletMetaData.accountName", ""); } // brickletID=0 because we are handling resultfile metadata std::string waveNameList; ret = createAndFillTextWave(destDataFolderHndl, data, destDataFolderHndl, waveName.c_str(), 0, waveNameList); - if (ret == WAVE_EXIST) + if(ret == WAVE_EXIST) { GlobalData::Instance().setError(ret, waveName); return 0; } - else if (ret != 0) + else if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -135,7 +136,7 @@ extern "C" int ExecuteGetResultFileMetaData(GetResultFileMetaDataRuntimeParamsPt ret = SetOperationStrVar(S_waveNames, waveNameList.c_str()); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_getresultfilename.cpp b/VC8/operationsinterface_getresultfilename.cpp index b7cd573..d8cd9da 100644 --- a/VC8/operationsinterface_getresultfilename.cpp +++ b/VC8/operationsinterface_getresultfilename.cpp @@ -17,7 +17,7 @@ extern "C" int ExecuteGetResultFileName(GetResultFileNameRuntimeParamsPtr p) int ret = SetOperationStrVar(S_fileName, ""); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -25,13 +25,13 @@ extern "C" int ExecuteGetResultFileName(GetResultFileNameRuntimeParamsPtr p) ret = SetOperationStrVar(S_dirPath, ""); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; } - if (!GlobalData::Instance().resultFileOpen()) + if(!GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(NO_FILE_OPEN); return 0; @@ -39,7 +39,7 @@ extern "C" int ExecuteGetResultFileName(GetResultFileNameRuntimeParamsPtr p) ret = SetOperationStrVar(S_fileName, convertEncoding(GlobalData::Instance().getFileName()).c_str()); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -47,7 +47,7 @@ extern "C" int ExecuteGetResultFileName(GetResultFileNameRuntimeParamsPtr p) ret = SetOperationStrVar(S_dirPath, convertEncoding(GlobalData::Instance().getDirPath()).c_str()); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_getvernissageversion.cpp b/VC8/operationsinterface_getvernissageversion.cpp index a1aad6b..c1a425d 100644 --- a/VC8/operationsinterface_getvernissageversion.cpp +++ b/VC8/operationsinterface_getvernissageversion.cpp @@ -11,12 +11,12 @@ #include "globaldata.hpp" #include "utils_generic.hpp" -extern "C" int ExecuteGetVernissageVersion(GetVernissageVersionRuntimeParamsPtr p) +extern "C" int ExecuteGetVernissageVersion(GetVernissageVersionRuntimeParamsPtr /* p */) { BEGIN_OUTER_CATCH int ret = SetOperationNumVar(V_DLLversion, 0); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -24,7 +24,7 @@ extern "C" int ExecuteGetVernissageVersion(GetVernissageVersionRuntimeParamsPtr ret = SetOperationNumVar(V_DLLversion, stringToAnyType(GlobalData::Instance().getVernissageVersion())); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_getversion.cpp b/VC8/operationsinterface_getversion.cpp index 4de190a..4c53b13 100644 --- a/VC8/operationsinterface_getversion.cpp +++ b/VC8/operationsinterface_getversion.cpp @@ -11,12 +11,12 @@ #include "globaldata.hpp" #include "utils_generic.hpp" -extern "C" int ExecuteGetVersion(GetVersionRuntimeParamsPtr p) +extern "C" int ExecuteGetVersion(GetVersionRuntimeParamsPtr /* p */) { BEGIN_OUTER_CATCH int ret = SetOperationNumVar(V_XOPversion, stringToAnyType(MatrixFileReader_XOP_VERSION_STR)); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; diff --git a/VC8/operationsinterface_getxoperrormessage.cpp b/VC8/operationsinterface_getxoperrormessage.cpp index c114a98..b97a3f4 100644 --- a/VC8/operationsinterface_getxoperrormessage.cpp +++ b/VC8/operationsinterface_getxoperrormessage.cpp @@ -14,7 +14,7 @@ extern "C" int ExecuteGetXOPErrorMessage(GetXOPErrorMessageRuntimeParamsPtr p) { std::string errorMessage; // return requested error message - if (p->errorCodeEncountered && p->errorCodeParamsSet[0]) + if(p->errorCodeEncountered && p->errorCodeParamsSet[0]) { errorMessage = GlobalData::Instance().getErrorMessage(int(p->errorCode)); } diff --git a/VC8/operationsinterface_openresultfile.cpp b/VC8/operationsinterface_openresultfile.cpp index 9c81410..f4697db 100644 --- a/VC8/operationsinterface_openresultfile.cpp +++ b/VC8/operationsinterface_openresultfile.cpp @@ -17,35 +17,36 @@ extern "C" int ExecuteOpenResultFile(OpenResultFileRuntimeParamsPtr p) GlobalData::Instance().initialize(p->calledFromMacro, p->calledFromFunction); // /K will close an possibly open result file before opening a new one - if (p->KFlagEncountered) + if(p->KFlagEncountered) { GlobalData::Instance().closeResultFile(); } - if (GlobalData::Instance().resultFileOpen()) + if(GlobalData::Instance().resultFileOpen()) { GlobalData::Instance().setError(ALREADY_FILE_OPEN, convertEncoding(GlobalData::Instance().getFileName())); return 0; } - char fullPath[MAX_PATH_LEN + 1], fileName[MAX_FILENAME_LEN + 1], dirPath[MAX_PATH_LEN + 1], fileNameOrPath[MAX_PATH_LEN + 1]; + char fullPath[MAX_PATH_LEN + 1], fileName[MAX_FILENAME_LEN + 1], dirPath[MAX_PATH_LEN + 1], + fileNameOrPath[MAX_PATH_LEN + 1]; int ret = 0; - if (p->fileNameOrPathEncountered && GetHandleSize(p->fileNameOrPath) != 0L) + if(p->fileNameOrPathEncountered && WMGetHandleSize(p->fileNameOrPath) != 0L) { ret = GetCStringFromHandle(p->fileNameOrPath, fileNameOrPath, MAX_PATH_LEN); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; } // check if we have a symbolic path - if (p->PFlagEncountered && strlen(p->pathName) > 0L) + if(p->PFlagEncountered && strlen(p->pathName) > 0L) { ret = GetFullPathFromSymbolicPathAndFilePath(p->pathName, fileNameOrPath, fullPath); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -57,7 +58,7 @@ extern "C" int ExecuteOpenResultFile(OpenResultFileRuntimeParamsPtr p) // GetDirectoryAndFileNameFromFullPath() does not like that ret = GetNativePath(fileNameOrPath, fullPath); - if (ret != 0) + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -71,14 +72,15 @@ extern "C" int ExecuteOpenResultFile(OpenResultFileRuntimeParamsPtr p) // empty initial filename fullPath[0] = '\0'; - ret = XOPOpenFileDialog(dlgPrompt , filterStr, &(GlobalData::Instance().openDlgFileIndex), GlobalData::Instance().openDlgInitialDir, fullPath); + ret = XOPOpenFileDialog(dlgPrompt, filterStr, &(GlobalData::Instance().openDlgFileIndex), + GlobalData::Instance().openDlgInitialDir, fullPath); - if (ret == -1) //the user cancelled the dialog + if(ret == -1) // the user cancelled the dialog { GlobalData::Instance().setError(WRONG_PARAMETER, "fileNameOrPath"); return 0; } - else if (ret != 0) + else if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -87,12 +89,12 @@ extern "C" int ExecuteOpenResultFile(OpenResultFileRuntimeParamsPtr p) ret = GetDirectoryAndFileNameFromFullPath(fullPath, dirPath, fileName); - if (ret == WM_BAD_FILE_NAME) + if(ret == WM_BAD_FILE_NAME) { GlobalData::Instance().setError(FILE_NOT_READABLE, fullPath); return 0; } - else if (ret != 0) + else if(ret != 0) { GlobalData::Instance().setInternalError(ret); return 0; @@ -107,13 +109,13 @@ extern "C" int ExecuteOpenResultFile(OpenResultFileRuntimeParamsPtr p) DEBUGPRINT("filename %s", fileName); DEBUGPRINT("dirPath %s", dirPath); - if (!FullPathPointsToFolder(dirPath)) + if(!FullPathPointsToFolder(dirPath)) { GlobalData::Instance().setError(FILE_NOT_READABLE, dirPath); return 0; } - if (!FullPathPointsToFile(fullPath)) + if(!FullPathPointsToFile(fullPath)) { GlobalData::Instance().setError(FILE_NOT_READABLE, fullPath); return 0; @@ -127,18 +129,19 @@ extern "C" int ExecuteOpenResultFile(OpenResultFileRuntimeParamsPtr p) // first call to getVernissageSession() will result in the DLL loading // which must happen in the main thread - Vernissage::Session* session = GlobalData::Instance().getVernissageSession(); + Vernissage::Session *session = GlobalData::Instance().getVernissageSession(); // now we convert to wide strings - const std::wstring dirPathWString = convertEncoding(dirPath); - const std::wstring fileNameWString = convertEncoding(fileName); + const std::wstring dirPathWString = convertEncoding(dirPath); + const std::wstring fileNameWString = convertEncoding(fileName); // true -> result set will be added to the database // false -> replaces the current results sets in the internal databse const bool accumulative = false; // loading the result set is done in its own thread in order to not block the GUI - boost::packaged_task task(boost::bind(&Vernissage::Session::loadResultSet, session, boost::cref(dirPathWString), boost::cref(fileNameWString), accumulative)); + boost::packaged_task task(boost::bind(&Vernissage::Session::loadResultSet, session, boost::cref(dirPathWString), + boost::cref(fileNameWString), accumulative)); boost::future loadResult = task.get_future(); boost::thread thread(boost::move(task)); @@ -148,29 +151,29 @@ extern "C" int ExecuteOpenResultFile(OpenResultFileRuntimeParamsPtr p) SpinProcess(); } - if (!loadResult.get()) + if(!loadResult.get()) { HISTPRINT("Could not load the result file"); return 0; } - //starting from here the result file is valid + // starting from here the result file is valid GlobalData::Instance().setResultFile(dirPathWString, fileNameWString); const int totalNumBricklets = session->getBrickletCount(); DEBUGPRINT("totalNumBricklets=%d", totalNumBricklets); // brickletIDs are 1-based - void* pContext = NULL; - for (int i = 1; i <= totalNumBricklets; i++) + void *pContext = NULL; + for(int i = 1; i <= totalNumBricklets; i++) { - void* vernissageBricklet = session->getNextBricklet(&pContext); + void *vernissageBricklet = session->getNextBricklet(&pContext); try { GlobalData::Instance().createBricklet(i, vernissageBricklet); } - catch (CMemoryException* e) + catch(CMemoryException *e) { e->Delete(); HISTPRINT("Could not reserve memory for brickletID %d, giving up", i); diff --git a/VC8/operationstructs.hpp b/VC8/operationstructs.hpp index d540b52..cb1d4e6 100644 --- a/VC8/operationstructs.hpp +++ b/VC8/operationstructs.hpp @@ -10,17 +10,19 @@ ParseOperationTemplate Igor function, see Operation-Template-Generator.pxp) */ -// Operation template: MFR_GetBrickletDeployData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName /DEST=dataFolderRef:dfref +// Operation template: MFR_GetBrickletDeployData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName +// /DEST=dataFolderRef:dfref // Runtime param structure for MFR_GetBrickletDeploy operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. -struct GetBrickletDeployDataRuntimeParams { +#pragma pack(2) // All structures passed to Igor are two-byte aligned. +struct GetBrickletDeployDataRuntimeParams +{ // Flag parameters. // Parameters for /R flag group. int RFlagEncountered; double startBrickletID; - double endBrickletID; // Optional parameter. + double endBrickletID; // Optional parameter. int RFlagParamsSet[2]; // Parameters for /N flag group. @@ -36,17 +38,17 @@ struct GetBrickletDeployDataRuntimeParams { // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetBrickletDeployDataRuntimeParams GetBrickletDeployDataRuntimeParams; -typedef struct GetBrickletDeployDataRuntimeParams* GetBrickletDeployDataRuntimeParamsPtr; -#pragma pack() // Reset structure alignment to default. +typedef struct GetBrickletDeployDataRuntimeParams *GetBrickletDeployDataRuntimeParamsPtr; +#pragma pack() // Reset structure alignment to default. // Operation template: MFR_GetXOPErrorMessage [number:errorCode] // Runtime param structure for MFR_GetXOPErrorMessage operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetXOPErrorMessageRuntimeParams { // Flag parameters. @@ -55,19 +57,19 @@ struct GetXOPErrorMessageRuntimeParams // Parameters for simple main group #0. int errorCodeEncountered; - double errorCode; // Optional parameter. + double errorCode; // Optional parameter. int errorCodeParamsSet[1]; // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetXOPErrorMessageRuntimeParams GetXOPErrorMessageRuntimeParams; -typedef struct GetXOPErrorMessageRuntimeParams* GetXOPErrorMessageRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetXOPErrorMessageRuntimeParams *GetXOPErrorMessageRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Runtime param structure for MFR_GetResultFileMetaData operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetResultFileMetaDataRuntimeParams { // Flag parameters. @@ -85,18 +87,17 @@ struct GetResultFileMetaDataRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetResultFileMetaDataRuntimeParams GetResultFileMetaDataRuntimeParams; -typedef struct GetResultFileMetaDataRuntimeParams* GetResultFileMetaDataRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. - +typedef struct GetResultFileMetaDataRuntimeParams *GetResultFileMetaDataRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_CreateOverviewTable /N=string:waveName /KEYS=string:keyList // Runtime param structure for MFR_CreateOverviewTable operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct CreateOverviewTableRuntimeParams { // Flag parameters. @@ -119,17 +120,17 @@ struct CreateOverviewTableRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct CreateOverviewTableRuntimeParams CreateOverviewTableRuntimeParams; -typedef struct CreateOverviewTableRuntimeParams* CreateOverviewTableRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct CreateOverviewTableRuntimeParams *CreateOverviewTableRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_OpenResultFile /C /P=name:pathName [string:fileNameOrPath] // Runtime param structure for MFR_OpenResultFile operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct OpenResultFileRuntimeParams { // Flag parameters. @@ -147,22 +148,21 @@ struct OpenResultFileRuntimeParams // Parameters for simple main group #0. int fileNameOrPathEncountered; - Handle fileNameOrPath; // Optional parameter. + Handle fileNameOrPath; // Optional parameter. int fileNameOrPathParamsSet[1]; // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct OpenResultFileRuntimeParams OpenResultFileRuntimeParams; -typedef struct OpenResultFileRuntimeParams* OpenResultFileRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. - +typedef struct OpenResultFileRuntimeParams *OpenResultFileRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_CloseResultFile // Runtime param structure for MFR_CloseResultFile operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct CloseResultFileRuntimeParams { // Flag parameters. @@ -170,17 +170,17 @@ struct CloseResultFileRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct CloseResultFileRuntimeParams CloseResultFileRuntimeParams; -typedef struct CloseResultFileRuntimeParams* CloseResultFileRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct CloseResultFileRuntimeParams *CloseResultFileRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_GetBrickletCount // Runtime param structure for MFR_GetBrickletCount operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetBrickletCountRuntimeParams { // Flag parameters. @@ -188,17 +188,17 @@ struct GetBrickletCountRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetBrickletCountRuntimeParams GetBrickletCountRuntimeParams; -typedef struct GetBrickletCountRuntimeParams* GetBrickletCountRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetBrickletCountRuntimeParams *GetBrickletCountRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_GetResultFileName // Runtime param structure for MFR_GetResultFileName operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetResultFileNameRuntimeParams { // Flag parameters. @@ -206,17 +206,17 @@ struct GetResultFileNameRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetResultFileNameRuntimeParams GetResultFileNameRuntimeParams; -typedef struct GetResultFileNameRuntimeParams* GetResultFileNameRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetResultFileNameRuntimeParams *GetResultFileNameRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_GetVersion // Runtime param structure for MFR_GetVersion operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetVersionRuntimeParams { // Flag parameters. @@ -224,17 +224,17 @@ struct GetVersionRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetVersionRuntimeParams GetVersionRuntimeParams; -typedef struct GetVersionRuntimeParams* GetVersionRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetVersionRuntimeParams *GetVersionRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_GetVernissageVersion // Runtime param structure for MFR_GetVernissageVersion operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetVernissageVersionRuntimeParams { // Flag parameters. @@ -242,17 +242,18 @@ struct GetVernissageVersionRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetVernissageVersionRuntimeParams GetVernissageVersionRuntimeParams; -typedef struct GetVernissageVersionRuntimeParams* GetVernissageVersionRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetVernissageVersionRuntimeParams *GetVernissageVersionRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. -// Operation template: MFR_GetBrickletData /R=(number:startBrickletID[,number:endBrickletID]) /S=number:pixelSize /N=string:baseName /DEST=dataFolderRef:dfref +// Operation template: MFR_GetBrickletData /R=(number:startBrickletID[,number:endBrickletID]) /S=number:pixelSize +// /N=string:baseName /DEST=dataFolderRef:dfref // Runtime param structure for MFR_GetBrickletData operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetBrickletDataRuntimeParams { // Flag parameters. @@ -260,7 +261,7 @@ struct GetBrickletDataRuntimeParams // Parameters for /R flag group. int RFlagEncountered; double startBrickletID; - double endBrickletID; // Optional parameter. + double endBrickletID; // Optional parameter. int RFlagParamsSet[2]; // Parameters for /S flag group. @@ -281,17 +282,17 @@ struct GetBrickletDataRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetBrickletDataRuntimeParams GetBrickletDataRuntimeParams; -typedef struct GetBrickletDataRuntimeParams* GetBrickletDataRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetBrickletDataRuntimeParams *GetBrickletDataRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_GetBrickletMetaData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName // Runtime param structure for MFR_GetBrickletMetaData operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetBrickletMetaDataRuntimeParams { // Flag parameters. @@ -299,7 +300,7 @@ struct GetBrickletMetaDataRuntimeParams // Parameters for /R flag group. int RFlagEncountered; double startBrickletID; - double endBrickletID; // Optional parameter. + double endBrickletID; // Optional parameter. int RFlagParamsSet[2]; // Parameters for /N flag group. @@ -315,15 +316,15 @@ struct GetBrickletMetaDataRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetBrickletMetaDataRuntimeParams GetBrickletMetaDataRuntimeParams; -typedef struct GetBrickletMetaDataRuntimeParams* GetBrickletMetaDataRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetBrickletMetaDataRuntimeParams *GetBrickletMetaDataRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Runtime param structure for GenericGetBricklet function -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GenericGetBrickletParams { // Flag parameters. @@ -331,7 +332,7 @@ struct GenericGetBrickletParams // Parameters for /R flag group. int RFlagEncountered; double startBrickletID; - double endBrickletID; // Optional parameter. + double endBrickletID; // Optional parameter. int RFlagParamsSet[2]; // Parameters for /S flag group. @@ -352,17 +353,17 @@ struct GenericGetBrickletParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GenericGetBrickletParams GenericGetBrickletParams; -typedef struct GenericGetBrickletParams* GenericGetBrickletParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GenericGetBrickletParams *GenericGetBrickletParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_GetBrickletRawData /R=(number:startBrickletID[,number:endBrickletID]) /N=string:baseName // Runtime param structure for MFR_GetBrickletRawData operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetBrickletRawDataRuntimeParams { // Flag parameters. @@ -370,7 +371,7 @@ struct GetBrickletRawDataRuntimeParams // Parameters for /R flag group. int RFlagEncountered; double startBrickletID; - double endBrickletID; // Optional parameter. + double endBrickletID; // Optional parameter. int RFlagParamsSet[2]; // Parameters for /N flag group. @@ -386,19 +387,19 @@ struct GetBrickletRawDataRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetBrickletRawDataRuntimeParams GetBrickletRawDataRuntimeParams; -typedef struct GetBrickletRawDataRuntimeParams* GetBrickletRawDataRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetBrickletRawDataRuntimeParams *GetBrickletRawDataRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. int GenericGetBricklet(GenericGetBrickletParamsPtr p, int typeOfData); // Operation template: MFR_GetReportTemplate // Runtime param structure for MFR_GetReportTemplate operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct GetReportTemplateRuntimeParams { // Flag parameters. @@ -406,17 +407,17 @@ struct GetReportTemplateRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct GetReportTemplateRuntimeParams GetReportTemplateRuntimeParams; -typedef struct GetReportTemplateRuntimeParams* GetReportTemplateRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct GetReportTemplateRuntimeParams *GetReportTemplateRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. // Operation template: MFR_CheckForNewBricklets // Runtime param structure for MFR_CheckForNewBricklets operation. -#pragma pack(2) // All structures passed to Igor are two-byte aligned. +#pragma pack(2) // All structures passed to Igor are two-byte aligned. struct CheckForNewBrickletsRuntimeParams { // Flag parameters. @@ -424,9 +425,9 @@ struct CheckForNewBrickletsRuntimeParams // Main parameters. // These are postamble fields that Igor sets. - int calledFromFunction; // 1 if called from a user function, 0 otherwise. - int calledFromMacro; // 1 if called from a macro, 0 otherwise. + int calledFromFunction; // 1 if called from a user function, 0 otherwise. + int calledFromMacro; // 1 if called from a macro, 0 otherwise. }; typedef struct CheckForNewBrickletsRuntimeParams CheckForNewBrickletsRuntimeParams; -typedef struct CheckForNewBrickletsRuntimeParams* CheckForNewBrickletsRuntimeParamsPtr; -#pragma pack() // All structures passed to Igor are two-byte aligned. +typedef struct CheckForNewBrickletsRuntimeParams *CheckForNewBrickletsRuntimeParamsPtr; +#pragma pack() // All structures passed to Igor are two-byte aligned. diff --git a/VC8/preferences.cpp b/VC8/preferences.cpp index 83c463a..84cbcfd 100644 --- a/VC8/preferences.cpp +++ b/VC8/preferences.cpp @@ -16,9 +16,9 @@ void loadXOPPreferences() { XOPprefStructHandle prefHandle; - GetXOPPrefsHandle((Handle*)&prefHandle); + GetXOPPrefsHandle((Handle *) &prefHandle); - if (prefHandle && (*prefHandle)->version == XOPprefStruct_VERSION) + if(prefHandle && (*prefHandle)->version == XOPprefStruct_VERSION) { DEBUGPRINT_SILENT("Loading preferences from file"); size_t len = sizeof(GlobalData::Instance().openDlgInitialDir); @@ -37,9 +37,9 @@ void loadXOPPreferences() strcpy(GlobalData::Instance().openDlgInitialDir, ""); } - if (prefHandle != NULL) + if(prefHandle != NULL) { - DisposeHandle((Handle) prefHandle); + WMDisposeHandle((Handle) prefHandle); } }; @@ -47,15 +47,15 @@ void loadXOPPreferences() void saveXOPPreferences() { XOPprefStructHandle prefHandle; - prefHandle = (XOPprefStructHandle) NewHandle((BCInt) sizeof(XOPprefStruct)); + prefHandle = (XOPprefStructHandle) WMNewHandle((BCInt) sizeof(XOPprefStruct)); - if (prefHandle != NULL) + if(prefHandle != NULL) { - MemClear((char*) *prefHandle, sizeof(XOPprefStruct)); + MemClear((char *) *prefHandle, sizeof(XOPprefStruct)); DEBUGPRINT_SILENT("Saving preferences to file"); - //write structure version + // write structure version (*prefHandle)->version = XOPprefStruct_VERSION; // write the starting directory of MFR_OpenResultFile @@ -67,7 +67,7 @@ void saveXOPPreferences() (*prefHandle)->openDlgFileIndex = GlobalData::Instance().openDlgFileIndex; // save struct on disc - SaveXOPPrefsHandle((Handle)prefHandle); - DisposeHandle((Handle)prefHandle); + SaveXOPPrefsHandle((Handle) prefHandle); + WMDisposeHandle((Handle) prefHandle); } }; diff --git a/VC8/preferences.hpp b/VC8/preferences.hpp index 02b4085..1a24345 100644 --- a/VC8/preferences.hpp +++ b/VC8/preferences.hpp @@ -13,18 +13,18 @@ struct XOPprefStruct { - short version; /* structure version number */ + short version; /* structure version number */ char openDlgInitialDir[MAX_PATH_LEN + 1]; int openDlgFileIndex; }; typedef struct XOPprefStruct XOPprefStruct; -typedef struct XOPprefStruct* XOPprefStructPtr; -typedef struct XOPprefStruct** XOPprefStructHandle; +typedef struct XOPprefStruct *XOPprefStructPtr; +typedef struct XOPprefStruct **XOPprefStructHandle; #define XOPprefStruct_VERSION 1 -#pragma pack() // Reset structure alignment to default. +#pragma pack() // Reset structure alignment to default. void loadXOPPreferences(); void saveXOPPreferences(); diff --git a/VC8/stdafx.h b/VC8/stdafx.h index ba73a0e..698bf9e 100644 --- a/VC8/stdafx.h +++ b/VC8/stdafx.h @@ -1,54 +1,55 @@ -/* - The file header.h is part of the "MatrixFileReader XOP". - It is licensed under the LGPLv3 with additional permissions, - see License.txt in the source folder for details. -*/ - -/* - Main header file which is included by all source files -*/ -#pragma once - -#define BSTRLIB_CAN_USE_STL -#include "bstrlib/bstrwrap.h" - -// allow the system to be equal or newer than Windows Server 2003 with SP1 or Windows XP with SP2 -#ifndef _WIN32_WINNT -#define _WIN32_WINNT 0x0502 -#endif - -#define WIN32_LEAN_AND_MEAN -#define VC_EXTRALEAN - -#include - -#undef max -#undef min - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#define BOOST_THREAD_VERSION 3 -#include -#include -#include -#include - -#include "XOPStandardHeaders.h" - -#include "utils_xop.hpp" - -#include "constants.hpp" -#include "keynames.hpp" -#include "errorcodes.hpp" -#include "version.hpp" - -#include "VernissageSDK_V2.2/src/Incl/Vernissage.h" +/* + The file header.h is part of the "MatrixFileReader XOP". + It is licensed under the LGPLv3 with additional permissions, + see License.txt in the source folder for details. +*/ + +/* + Main header file which is included by all source files +*/ +#pragma once + +#define BSTRLIB_CAN_USE_STL +#include "bstrlib/bstrwrap.h" + +// allow the system to be equal or newer to Windows 10 (first version) +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0A00 +#endif + +#define WIN32_LEAN_AND_MEAN +#define VC_EXTRALEAN + +#define NO_WARN_MBCS_MFC_DEPRECATION + +#include + +#undef max +#undef min + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define BOOST_THREAD_VERSION 3 +#include +#include +#include + +#include "XOPStandardHeaders.h" + +#include "utils_xop.hpp" + +#include "constants.hpp" +#include "keynames.hpp" +#include "errorcodes.hpp" +#include "version.hpp" + +#include "VernissageSDK_v2.4_msvc2013_64bit/include/Vernissage.h" diff --git a/VC8/utils_bricklet.cpp b/VC8/utils_bricklet.cpp index fdfce83..bcd3707 100644 --- a/VC8/utils_bricklet.cpp +++ b/VC8/utils_bricklet.cpp @@ -12,217 +12,236 @@ #include "utils_generic.hpp" #include "bricklet.hpp" -namespace { +namespace +{ - /* - Write the string waveNote as wave note into waveHandle - */ - void setWaveNote(const std::string& waveNote, waveHndl waveHandle) +/* + Write the string waveNote as wave note into waveHandle +*/ +void setWaveNote(const std::string &waveNote, waveHndl waveHandle) +{ + if(waveNote.empty()) { - if (waveNote.empty()) - { - HISTPRINT("BUG: got empty waveNote in setWaveNote."); - return; - } - - Handle noteHandle = NewHandle(waveNote.size()) ; - - if (noteHandle == NULL) - { - return; - } + HISTPRINT("BUG: got empty waveNote in setWaveNote."); + return; + } - int ret = PutCStringInHandle(waveNote.c_str(), noteHandle); - if (ret != 0) - { - HISTPRINT("internal error %d, aborting", ret); - return; - } + Handle noteHandle = WMNewHandle(waveNote.size()); - ASSERT_RETURN_VOID(waveHandle); - SetWaveNote(waveHandle, noteHandle); - // SetWaveNote takes care of diposing the handle + if(noteHandle == NULL) + { + return; } - /* - Return a string containing the standard wave note part - */ - void setStandardWaveNote(std::stringstream& sstr, int brickletID /* = -1 */, int traceDir /* = -1 */, std::string suffix /* = std::string() */ ) + int ret = PutCStringInHandle(waveNote.c_str(), noteHandle); + if(ret != 0) { - sstr.precision(DBL_DIG); + HISTPRINT("internal error %d, aborting", ret); + return; + } - sstr << RESULT_FILE_NAME_KEY << '=' << convertEncoding(GlobalData::Instance().getFileName()) << CR_CHAR; - sstr << RESULT_DIR_PATH_KEY << '=' << convertEncoding(GlobalData::Instance().getDirPath()) << CR_CHAR; + ASSERT_RETURN_VOID(waveHandle); + SetWaveNote(waveHandle, noteHandle); + // SetWaveNote takes care of diposing the handle +} - if (isValidBrickletID(brickletID)) - { - sstr << BRICKLET_ID_KEY << '=' << brickletID << CR_CHAR; - } - else - { - sstr << BRICKLET_ID_KEY << '=' << CR_CHAR; - } +/* + Return a string containing the standard wave note part +*/ +void setStandardWaveNote(std::stringstream &sstr, int brickletID /* = -1 */, int traceDir /* = -1 */, + std::string suffix /* = std::string() */) +{ + sstr.precision(DBL_DIG); - if (isValidTraceDir(traceDir)) - { - sstr << TRACEDIR_KEY << '=' << traceDir << CR_CHAR; - } - else - { - sstr << TRACEDIR_KEY << '=' << CR_CHAR; - } + sstr << RESULT_FILE_NAME_KEY << '=' << convertEncoding(GlobalData::Instance().getFileName()) << CR_CHAR; + sstr << RESULT_DIR_PATH_KEY << '=' << convertEncoding(GlobalData::Instance().getDirPath()) << CR_CHAR; - sstr << suffixName << '=' << suffix << CR_CHAR; - sstr << "xopVersion=" << MatrixFileReader_XOP_VERSION_STR << CR_CHAR; - sstr << "vernissageVersion=" << GlobalData::Instance().getVernissageVersion() << CR_CHAR; + if(isValidBrickletID(brickletID)) + { + sstr << BRICKLET_ID_KEY << '=' << brickletID << CR_CHAR; + } + else + { + sstr << BRICKLET_ID_KEY << '=' << CR_CHAR; } - class IndexToString + if(isValidTraceDir(traceDir)) { - public: - virtual ~IndexToString(){} + sstr << TRACEDIR_KEY << '=' << traceDir << CR_CHAR; + } + else + { + sstr << TRACEDIR_KEY << '=' << CR_CHAR; + } - virtual std::string operator()(unsigned int index) const - { - const std::vector& data = getData(); - - if (index >= data.size()) - { - DEBUGPRINT("BUG: viewTypeCodeToString got %d as parameter, but it should be between 0 and %d", index, data.size() - 1); - return std::string(); - } - else - { - return data.at(index); - } - } + sstr << suffixName << '=' << suffix << CR_CHAR; + sstr << "xopVersion=" << MatrixFileReader_XOP_VERSION_STR << CR_CHAR; + sstr << "vernissageVersion=" << GlobalData::Instance().getVernissageVersion() << CR_CHAR; +} - private: - virtual const std::vector& getData() const = 0; - }; +class IndexToString +{ +public: + virtual ~IndexToString() + { + } - class ViewTypeConverter : public IndexToString + virtual std::string operator()(unsigned int index) const { - public: - ViewTypeConverter() + const std::vector &data = getData(); + + if(index >= data.size()) + { + DEBUGPRINT("BUG: viewTypeCodeToString got %d as parameter, but it should be between 0 and %d", index, + data.size() - 1); + return std::string(); + } + else { - m_data.push_back(VTC_OTHER); - m_data.push_back(VTC_SIMPLE2D); - m_data.push_back(VTC_SIMPLE1D); - m_data.push_back(VTC_FWDBWD2D); - m_data.push_back(VTC_2DOF3D); - m_data.push_back(VTC_SPECTROSCOPY); - m_data.push_back(VTC_FORCECURVE); - m_data.push_back(VTC_1DPROFILE); - m_data.push_back(VTC_INTERFEROMETER); - m_data.push_back(VTC_CONTINUOUSCURVE); - m_data.push_back(VTC_PHASEAMPLITUDECUR); - m_data.push_back(VTC_CURVESET); - m_data.push_back(VTC_PARAMETERISEDCUR); - m_data.push_back(VTC_DISCRETEENERGYMAP); - m_data.push_back(VTC_ESPIMAGEMAP); - m_data.push_back(VTC_DOWNWARD2D); + return data.at(index); } + } - private: - std::vector m_data; - const std::vector& getData() const { return m_data; } - }; +private: + virtual const std::vector &getData() const = 0; +}; - class BrickletTypeConverter : public IndexToString +class ViewTypeConverter : public IndexToString +{ +public: + ViewTypeConverter() { - public: - BrickletTypeConverter() - { - m_data.push_back(BTC_UNKNOWN); - m_data.push_back(BTC_SPMSPECTROSCOPY); - m_data.push_back(BTC_ATOMMANIPULATION); - m_data.push_back(BTC_1DCURVE); - m_data.push_back(BTC_SPMIMAGE); - m_data.push_back(BTC_PATHSPECTROSCOPY); - m_data.push_back(BTC_ESPREGION); - m_data.push_back(BTC_VOLUMECITS); - m_data.push_back(BTC_DISCRETEENERGYMAP); - m_data.push_back(BTC_FORCECURVE); - m_data.push_back(BTC_PHASEAMPLITUDECUR); - m_data.push_back(BTC_SIGNALOVERTIME); - m_data.push_back(BTC_RAWPATHSPEC); - m_data.push_back(BTC_ESPSNAPSHOTSEQ); - m_data.push_back(BTC_ESPIMAGEMAP); - m_data.push_back(BTC_INTERFEROMETERCUR); - m_data.push_back(BTC_ESPIMAGE); - } + m_data.push_back(VTC_OTHER); + m_data.push_back(VTC_SIMPLE2D); + m_data.push_back(VTC_SIMPLE1D); + m_data.push_back(VTC_FWDBWD2D); + m_data.push_back(VTC_2DOF3D); + m_data.push_back(VTC_SPECTROSCOPY); + m_data.push_back(VTC_FORCECURVE); + m_data.push_back(VTC_1DPROFILE); + m_data.push_back(VTC_INTERFEROMETER); + m_data.push_back(VTC_CONTINUOUSCURVE); + m_data.push_back(VTC_PHASEAMPLITUDECUR); + m_data.push_back(VTC_CURVESET); + m_data.push_back(VTC_PARAMETERISEDCUR); + m_data.push_back(VTC_DISCRETEENERGYMAP); + m_data.push_back(VTC_ESPIMAGEMAP); + m_data.push_back(VTC_DOWNWARD2D); + m_data.push_back(VTC_ESPSEMPAIMG); + m_data.push_back(VTC_ESPSEMPALINE); + } - private: - std::vector m_data; - const std::vector& getData() const { return m_data; } - }; +private: + std::vector m_data; + const std::vector &getData() const + { + return m_data; + } +}; - // lower limit of number of bricklets for which we don't bother with multi threading - const int lowerLimitNumBrickletSingleThreaded = 50; +class BrickletTypeConverter : public IndexToString +{ +public: + BrickletTypeConverter() + { + m_data.push_back(BTC_UNKNOWN); + m_data.push_back(BTC_SPMSPECTROSCOPY); + m_data.push_back(BTC_ATOMMANIPULATION); + m_data.push_back(BTC_1DCURVE); + m_data.push_back(BTC_SPMIMAGE); + m_data.push_back(BTC_PATHSPECTROSCOPY); + m_data.push_back(BTC_ESPREGION); + m_data.push_back(BTC_VOLUMECITS); + m_data.push_back(BTC_DISCRETEENERGYMAP); + m_data.push_back(BTC_FORCECURVE); + m_data.push_back(BTC_PHASEAMPLITUDECUR); + m_data.push_back(BTC_SIGNALOVERTIME); + m_data.push_back(BTC_RAWPATHSPEC); + m_data.push_back(BTC_ESPSNAPSHOTSEQ); + m_data.push_back(BTC_ESPIMAGEMAP); + m_data.push_back(BTC_INTERFEROMETERCUR); + m_data.push_back(BTC_ESPIMAGE); + m_data.push_back(BTC_ESPSEMPAIMG); + m_data.push_back(BTC_ESPSEMPALINE); + m_data.push_back(BTC_ESPDEPTHPROFILESWEEP); + m_data.push_back(BTC_ESPDEPTHPROFILESNAPSHOT); + } - void loadBrickletMetaDataRange(GlobalData& globalData, int first, int last) +private: + std::vector m_data; + const std::vector &getData() const { - for(int i = first; i <= last; i += 1) - { - globalData.getBricklet(i).getMetaData(); - } + return m_data; } +}; + +// lower limit of number of bricklets for which we don't bother with multi threading +const int lowerLimitNumBrickletSingleThreaded = 50; - void loadBrickletDataRange(GlobalData& globalData, int first, int last) +void loadBrickletMetaDataRange(GlobalData &globalData, int first, int last) +{ + for(int i = first; i <= last; i += 1) { - for(int i = first; i <= last; i += 1) - { - globalData.getBricklet(i).getRawData(); - } + globalData.getBricklet(i).getMetaData(); } +} - void loadBrickletDataAndMetaDataRange(GlobalData& globalData, int first, int last) +void loadBrickletDataRange(GlobalData &globalData, int first, int last) +{ + for(int i = first; i <= last; i += 1) { - for(int i = first; i <= last; i += 1) - { - globalData.getBricklet(i).getMetaData(); - globalData.getBricklet(i).getRawData(); - } + globalData.getBricklet(i).getRawData(); } +} - void loadThreadedIfRequired(boost::function func) +void loadBrickletDataAndMetaDataRange(GlobalData &globalData, int first, int last) +{ + for(int i = first; i <= last; i += 1) { - //START_TIMER(1); - const int numberOfBricklets = getVernissageSession()->getBrickletCount(); + globalData.getBricklet(i).getMetaData(); + globalData.getBricklet(i).getRawData(); + } +} - if(numberOfBricklets < lowerLimitNumBrickletSingleThreaded) - { - func(GlobalData::Instance(), 1, numberOfBricklets); - //STOP_TIMER(1); - return; - } +void loadThreadedIfRequired(boost::function func) +{ + // START_TIMER(1); + const int numberOfBricklets = getVernissageSession()->getBrickletCount(); - const int numThreads = boost::numeric_cast(boost::thread::hardware_concurrency()); - const int brickletsPerThread = numberOfBricklets / numThreads; + if(numberOfBricklets < lowerLimitNumBrickletSingleThreaded) + { + func(GlobalData::Instance(), 1, numberOfBricklets); + // STOP_TIMER(1); + return; + } - boost::thread_group threadGroup; + const int numThreads = boost::numeric_cast(boost::thread::hardware_concurrency()); + const int brickletsPerThread = numberOfBricklets / numThreads; - for (int i = 0; i < numThreads; i++) - { - int first = (i == 0 ? 1 : brickletsPerThread * i); - int last = (i == numThreads - 1 ? numberOfBricklets : brickletsPerThread * (i + 1) - 1); + boost::thread_group threadGroup; - threadGroup.create_thread(boost::bind(func, boost::ref(GlobalData::Instance()), first, last)); - } + for(int i = 0; i < numThreads; i++) + { + int first = (i == 0 ? 1 : brickletsPerThread * i); + int last = (i == numThreads - 1 ? numberOfBricklets : brickletsPerThread * (i + 1) - 1); - threadGroup.join_all(); - //STOP_TIMER(1); + threadGroup.create_thread(boost::bind(func, boost::ref(GlobalData::Instance()), first, last)); } + + threadGroup.join_all(); + // STOP_TIMER(1); +} } // anonymous namespace /* Create a two column text wave from two string vectors */ -int createAndFillTextWave(DataFolderHandle baseFolderHandle, const StringPairVector& data, DataFolderHandle dataFolderHandle, const char* waveName, int brickletID, std::string& waveNameList) +int createAndFillTextWave(DataFolderHandle baseFolderHandle, const StringPairVector &data, + DataFolderHandle dataFolderHandle, const char *waveName, int brickletID, + std::string &waveNameList) { // create 2D textwave with firstColumn.size() rows and 2 columns - if (data.empty()) + if(data.empty()) { HISTPRINT("BUG: list size may not be zero"); return UNKNOWN_ERROR; @@ -231,18 +250,18 @@ int createAndFillTextWave(DataFolderHandle baseFolderHandle, const StringPairVec CountInt dimensionSizes[MAX_DIMENSIONS + 1]; MemClear(dimensionSizes, sizeof(dimensionSizes)); - dimensionSizes[ROWS] = data.size(); + dimensionSizes[ROWS] = data.size(); dimensionSizes[COLUMNS] = 2; waveHndl waveHandle; int ret = MDMakeWave(&waveHandle, waveName, dataFolderHandle, dimensionSizes, TEXT_WAVE_TYPE, isOverwriteEnabled()); - if (ret == NAME_WAV_CONFLICT) + if(ret == NAME_WAV_CONFLICT) { DEBUGPRINT("Wave %s already exists.", waveName); return WAVE_EXIST; } - else if (ret != 0) + else if(ret != 0) { HISTPRINT("Error %d in creating wave %s.", ret, waveName); return UNKNOWN_ERROR; @@ -254,24 +273,24 @@ int createAndFillTextWave(DataFolderHandle baseFolderHandle, const StringPairVec std::vector allColumns; try { - allColumns.resize(data.size()*2); + allColumns.resize(data.size() * 2); } - catch (CMemoryException* e) + catch(CMemoryException *e) { e->Delete(); HISTPRINT("Out of memory in createAndFillTextWave()"); return UNKNOWN_ERROR; } - for (unsigned int i = 0; i < data.size(); i++) + for(unsigned int i = 0; i < data.size(); i++) { - allColumns[i] = data[i].first; - allColumns[data.size()+i] = data[i].second; + allColumns[i] = data[i].first; + allColumns[data.size() + i] = data[i].second; } ret = stringVectorToTextWave(allColumns, waveHandle); - if (ret != 0) + if(ret != 0) { HISTPRINT("stringVectorToTextWave returned %d", ret); return ret; @@ -303,16 +322,16 @@ std::string brickletTypeToString(unsigned int idx) /* Set the appropriate wave note for data waves */ -void setDataWaveNote( int brickletID, const Wave& waveData ) +void setDataWaveNote(int brickletID, const Wave &waveData) { std::stringstream note; setStandardWaveNote(note, brickletID, waveData.getTraceDir(), waveData.getSuffix()); - note << "rawMin=" << waveData.getExtrema().getRawMin() << CR_CHAR; - note << "rawMax=" << waveData.getExtrema().getRawMax() << CR_CHAR; + note << "rawMin=" << waveData.getExtrema().getRawMin() << CR_CHAR; + note << "rawMax=" << waveData.getExtrema().getRawMax() << CR_CHAR; note << "physicalValueOfRawMin=" << waveData.getExtrema().getPhysValRawMin() << CR_CHAR; note << "physicalValueOfRawMax=" << waveData.getExtrema().getPhysValRawMax() << CR_CHAR; - note << "pixelSize=" << waveData.GetPixelSize() << CR_CHAR; + note << "pixelSize=" << waveData.GetPixelSize() << CR_CHAR; setWaveNote(note.str(), waveData.getWaveHandle()); } @@ -320,7 +339,8 @@ void setDataWaveNote( int brickletID, const Wave& waveData ) /* Set the appropriate wave note for the other waves (bricklet metadata, resultfile meta data, overviewtable) */ -void setOtherWaveNote(waveHndl waveHandle, int brickletID /*= -1*/, int traceDir /*= -1*/, std::string suffix /* = std::string() */ ) +void setOtherWaveNote(waveHndl waveHandle, int brickletID /*= -1*/, int traceDir /*= -1*/, + std::string suffix /* = std::string() */) { std::stringstream note; setStandardWaveNote(note, brickletID, traceDir, suffix); @@ -333,11 +353,7 @@ void setOtherWaveNote(waveHndl waveHandle, int brickletID /*= -1*/, int traceDir bool isValidBrickletRange(double startID, double endID, int numberOfBricklets) { // brickletIDs are 1-based - return (startID <= endID - && startID >= 1 - && endID >= 1 - && startID <= numberOfBricklets - && endID <= numberOfBricklets); + return (startID <= endID && startID >= 1 && endID >= 1 && startID <= numberOfBricklets && endID <= numberOfBricklets); } /* @@ -360,7 +376,7 @@ bool isValidTraceDir(int traceDir) /* Convenience helper */ -Vernissage::Session* getVernissageSession() +Vernissage::Session *getVernissageSession() { return GlobalData::Instance().getVernissageSession(); } @@ -383,19 +399,19 @@ int getIgorWaveType() Returns a vector of all bricklets which are part of the series of rawBrickletPtr (also included). The returned vector is not sorted. */ -std::vector getBrickletSeries( void* rawBrickletPtr ) +std::vector getBrickletSeries(void *rawBrickletPtr) { - std::vector brickeltSeries; + std::vector brickeltSeries; - if (rawBrickletPtr == NULL) + if(rawBrickletPtr == NULL) { return brickeltSeries; } // get all predecessors - void* p = rawBrickletPtr; + void *p = rawBrickletPtr; - while ((p = getVernissageSession()->getPredecessorBricklet(p)) != NULL) + while((p = getVernissageSession()->getPredecessorBricklet(p)) != NULL) { brickeltSeries.push_back(p); } @@ -404,9 +420,9 @@ std::vector getBrickletSeries( void* rawBrickletPtr ) brickeltSeries.push_back(rawBrickletPtr); // get all successors - p = rawBrickletPtr; + p = rawBrickletPtr; - while ((p = getVernissageSession()->getSuccessorBricklet(p)) != NULL) + while((p = getVernissageSession()->getSuccessorBricklet(p)) != NULL) { brickeltSeries.push_back(p); } diff --git a/VC8/utils_bricklet.hpp b/VC8/utils_bricklet.hpp index a195067..65455a8 100644 --- a/VC8/utils_bricklet.hpp +++ b/VC8/utils_bricklet.hpp @@ -12,8 +12,8 @@ std::string viewTypeCodeToString(unsigned int idx); std::string brickletTypeToString(unsigned int idx); -void setDataWaveNote(int brickletID, const Wave& waveData); -void setOtherWaveNote(waveHndl waveHandle, int brickletID = -1, int traceDir = -1, std::string suffix = std::string()); +void setDataWaveNote(int brickletID, const Wave &waveData); +void setOtherWaveNote(waveHndl waveHandle, int brickletID = -1, int traceDir = -1, std::string suffix = std::string()); bool isValidBrickletRange(double startID, double endID, int numberOfBricklets); bool isValidBrickletID(int brickletID); @@ -22,11 +22,12 @@ bool isValidTraceDir(int traceDir); int isOverwriteEnabled(); int getIgorWaveType(); -int createAndFillTextWave(DataFolderHandle baseFolderHandle, const StringPairVector& data, - DataFolderHandle dataFolderHandle, const char* waveName, int brickletID, std::string& waveNameList); +int createAndFillTextWave(DataFolderHandle baseFolderHandle, const StringPairVector &data, + DataFolderHandle dataFolderHandle, const char *waveName, int brickletID, + std::string &waveNameList); -Vernissage::Session* getVernissageSession(); -std::vector getBrickletSeries(void* rawBrickletPtr); +Vernissage::Session *getVernissageSession(); +std::vector getBrickletSeries(void *rawBrickletPtr); void loadAllBrickletMetaData(); void loadAllBrickletData(); diff --git a/VC8/utils_generic.cpp b/VC8/utils_generic.cpp index 82fe1e0..bf760cd 100644 --- a/VC8/utils_generic.cpp +++ b/VC8/utils_generic.cpp @@ -11,11 +11,11 @@ /* Convenience wrapper */ -void splitString(const char* strChar, const char* sepChar, std::vector &list) +void splitString(const char *strChar, const char *sepChar, std::vector &list) { list.clear(); - if (strChar == NULL) + if(strChar == NULL) { return; } @@ -26,24 +26,24 @@ void splitString(const char* strChar, const char* sepChar, std::vector &list) +void splitString(const std::string &string, const char *sepChar, std::vector &list) { - if (sepChar == NULL) + if(sepChar == NULL) { return; } list.clear(); std::string stringCopy = string; - int pos = -1; - int offset = 0; + size_t pos = std::string::npos; + size_t offset = 0; stringCopy.append(sepChar); // add ; at the end to make the list complete, double ;; are no problem DEBUGPRINT("keyList=%s", stringCopy.c_str()); - while ((pos = stringCopy.find(sepChar, offset)) != std::string::npos) + while((pos = stringCopy.find(sepChar, offset)) != std::string::npos) { - if (pos == offset) // skip empty element + if(pos == offset) // skip empty element { offset++; continue; @@ -56,40 +56,40 @@ void splitString(const std::string& string, const char* sepChar, std::vector 0 && str[i - 1] == '\\'; i--) + for(i = strlen(str); i > 0 && str[i - 1] == '\\'; i--) { /* do nothing */ } diff --git a/VC8/utils_generic.hpp b/VC8/utils_generic.hpp index 23a37f6..fd16fc4 100644 --- a/VC8/utils_generic.hpp +++ b/VC8/utils_generic.hpp @@ -14,12 +14,37 @@ #include #include "encoding_conversion.hpp" -#define THROW_IF_NULL(A) {if(A == NULL){ throw std::runtime_error("THROW_IF_NULL: Pointer " #A " is NULL.\r"); } } -#define MYASSERT(A,B) { if(A == NULL){ XOPNotice("ASSERT: Pointer " #A " is NULL.\r"); return B; } } -#define ASSERT_RETURN_ZERO(A) { MYASSERT(A,0)} -#define ASSERT_RETURN_MINUSONE(A) { MYASSERT(A,-1)} -#define ASSERT_RETURN_ONE(A) { MYASSERT(A,1)} -#define ASSERT_RETURN_VOID(A) { MYASSERT(A,)} +#define THROW_IF_NULL(A) \ + { \ + if(A == NULL) \ + { \ + throw std::runtime_error("THROW_IF_NULL: Pointer " #A " is NULL.\r"); \ + } \ + } +#define MYASSERT(A, B) \ + { \ + if(A == NULL) \ + { \ + XOPNotice("ASSERT: Pointer " #A " is NULL.\r"); \ + return B; \ + } \ + } +#define ASSERT_RETURN_ZERO(A) \ + { \ + MYASSERT(A, 0) \ + } +#define ASSERT_RETURN_MINUSONE(A) \ + { \ + MYASSERT(A, -1) \ + } +#define ASSERT_RETURN_ONE(A) \ + { \ + MYASSERT(A, 1) \ + } +#define ASSERT_RETURN_VOID(A) \ + { \ + MYASSERT(A, ) \ + } //#define START_TIMER(A) \ // HISTPRINT("Starting timer %d: line %d, function %s, file %s", A, __LINE__, __FUNCTION__, __FILE__); \ @@ -55,7 +80,7 @@ T stringToAnyType(std::string str) Converts any type to a std::string */ template -std::string toString(const T& t) +std::string toString(const T &t) { std::stringstream ss; ss.precision(DBL_DIG); @@ -66,8 +91,8 @@ std::string toString(const T& t) /* Specialization */ -template<> -inline std::string toString(const std::wstring& s) +template <> +inline std::string toString(const std::wstring &s) { return convertEncoding(s); } @@ -75,8 +100,8 @@ inline std::string toString(const std::wstring& s) /* Specialization (which does nothing) */ -template<> -inline std::string toString( const std::string& s ) +template <> +inline std::string toString(const std::string &s) { return s; } @@ -85,7 +110,7 @@ inline std::string toString( const std::string& s ) Converts any type to a CBString */ template -CBString toCBString(const T& t) +CBString toCBString(const T &t) { std::stringstream ss; ss.precision(DBL_DIG); @@ -100,7 +125,7 @@ CBString toCBString(const T& t) Specialization */ template <> -inline CBString toCBString(const char* const& s) +inline CBString toCBString(const char *const &s) { return CBString(s); } @@ -108,8 +133,8 @@ inline CBString toCBString(const char* const& s) /* Specialization */ -template<> -inline CBString toCBString(const std::wstring& s) +template <> +inline CBString toCBString(const std::wstring &s) { return convertEncoding(s).c_str(); } @@ -117,8 +142,8 @@ inline CBString toCBString(const std::wstring& s) /* Specialization */ -template<> -inline CBString toCBString(const std::string& s) +template <> +inline CBString toCBString(const std::string &s) { return s.c_str(); } @@ -126,24 +151,24 @@ inline CBString toCBString(const std::string& s) /* Specialization (which does nothing) */ -template<> -inline CBString toCBString(const CBString& s) +template <> +inline CBString toCBString(const CBString &s) { return s; } -void splitString(const char* stringChar, const char* sepChar, std::vector &list); -void splitString(const std::string& str, const char* sepChar, std::vector &list); +void splitString(const char *stringChar, const char *sepChar, std::vector &list); +void splitString(const std::string &str, const char *sepChar, std::vector &list); /* Undos a former split string, therefore concatenating each element plus sepchar of list into one string */ template -void joinString(const std::vector &list, const char* sepChar, std::string& joinedList) +void joinString(const std::vector &list, const char *sepChar, std::string &joinedList) { joinedList.clear(); - for (std::vector::const_iterator it = list.begin(); it != list.end(); it++) + for(std::vector::const_iterator it = list.begin(); it != list.end(); it++) { joinedList.append(toString(*it)); joinedList.append(sepChar); @@ -151,22 +176,22 @@ void joinString(const std::vector &list, const char* sepChar, std::string& jo } bool doubleToBool(double value); -void RemoveAllBackslashesAtTheEnd(char* str); +void RemoveAllBackslashesAtTheEnd(char *str); // Shrink the memory usage of the passed vector -template -void ShrinkToFit( std::vector& vec ) +template +void ShrinkToFit(std::vector &vec) { - std::vector(vec.begin(),vec.end()).swap(vec); + std::vector(vec.begin(), vec.end()).swap(vec); } -template -inline void AddEntry(StringPairVector& vec, T key, U value) +template +inline void AddEntry(StringPairVector &vec, T key, U value) { vec.push_back(std::make_pair(toCBString(key), toCBString(value))); } -inline const char* boolToCString(bool val) +inline const char *boolToCString(bool val) { return val ? "true" : "false"; } diff --git a/VC8/utils_xop.cpp b/VC8/utils_xop.cpp index af5f3ca..9f4a23d 100644 --- a/VC8/utils_xop.cpp +++ b/VC8/utils_xop.cpp @@ -14,31 +14,31 @@ /* Write stringVector to the textwave waveHandle, using memcpy this is quite fast */ -int stringVectorToTextWave(const std::vector& stringVector, waveHndl waveHandle) +int stringVectorToTextWave(const std::vector &stringVector, waveHndl waveHandle) { ASSERT_RETURN_ONE(stringVector.size()); ASSERT_RETURN_ONE(waveHandle); - std::vector stringSizes; + std::vector stringSizes; int ret; unsigned int i; - long int offset; - long int totalSize = 0; + size_t offset; + size_t totalSize = 0; - // number of 32-bit integers (aka long int) is one more compared to the number of strings - const unsigned long int numEntriesPlusOne = stringVector.size() + 1; + // number of integers is one more compared to the number of strings + const size_t numEntriesPlusOne = stringVector.size() + 1; std::vector::const_iterator it; - for (it = stringVector.begin(); it != stringVector.end(); it++) + for(it = stringVector.begin(); it != stringVector.end(); it++) { try { stringSizes.push_back(it->size()); } - catch (...) + catch(...) { return NOMEM; } @@ -46,38 +46,38 @@ int stringVectorToTextWave(const std::vector& stringVector, waveHnd totalSize += it->size(); } - totalSize += numEntriesPlusOne * sizeof(long); + totalSize += numEntriesPlusOne * sizeof(size_t); - Handle textHandle = NewHandle(totalSize); + Handle textHandle = WMNewHandle(totalSize); - if (MemError() || textHandle == NULL) + if(MemError() || textHandle == NULL) { return NOMEM; } - //DEBUGPRINT("totalSize of strings %d",GetHandleSize(textHandle)); + // DEBUGPRINT("totalSize of strings %d",WMGetHandleSize(textHandle)); // - for (i = 0; i < numEntriesPlusOne; i++) + for(i = 0; i < numEntriesPlusOne; i++) { - if (i == 0) // position of the first string + if(i == 0) // position of the first string { - offset = numEntriesPlusOne * sizeof(long); + offset = numEntriesPlusOne * sizeof(size_t); } - else // and of all the others + else // and of all the others { offset += stringSizes[i - 1]; } - //DEBUGPRINT("offset=%d, offsetPosition=%d*sizeof(long)",offset,i); + // DEBUGPRINT("offset=%d, offsetPosition=%d*sizeof(long)",offset,i); // // write offsets - memcpy(*textHandle + i * sizeof(long), &offset, sizeof(long)); + memcpy(*textHandle + i * sizeof(size_t), &offset, sizeof(size_t)); - if (i < stringVector.size()) + if(i < stringVector.size()) { - //DEBUGPRINT("string=%s, stringPosition=%d",stringVector[i].c_str(),offset); + // DEBUGPRINT("string=%s, stringPosition=%d",stringVector[i].c_str(),offset); // // write strings memcpy(*textHandle + offset, stringVector[i].c_str(), stringSizes[i]); @@ -96,7 +96,7 @@ int stringVectorToTextWave(const std::vector& stringVector, waveHnd ret = SetTextWaveData(waveHandle, mode, textHandle); // DEBUGPRINT("SetTextWaveData returned %d",ret); - DisposeHandle(textHandle); + WMDisposeHandle(textHandle); return ret; } @@ -104,11 +104,11 @@ int stringVectorToTextWave(const std::vector& stringVector, waveHnd /* Sets the complete wave data to which data points to NaN (double precision version) */ -void waveClearNaN64(double* data, CountInt length) +void waveClearNaN64(double *data, CountInt length) { ASSERT_RETURN_VOID(data); - for (CountInt i = 0; i < length; i++) + for(CountInt i = 0; i < length; i++) { *data++ = DOUBLE_NAN; } @@ -117,19 +117,19 @@ void waveClearNaN64(double* data, CountInt length) /* Sets the complete wave data to which data points to NaN (single precision version) */ -void waveClearNaN32(float* data, CountInt length) +void waveClearNaN32(float *data, CountInt length) { ASSERT_RETURN_VOID(data); - for (CountInt i = 0; i < length; i++) + for(CountInt i = 0; i < length; i++) { *data++ = SINGLE_NAN; } } -void appendToWaveList(DataFolderHandle df, waveHndl wv, std::string& waveList) +void appendToWaveList(DataFolderHandle df, waveHndl wv, std::string &waveList) { - waveList.append(getRelativePath(df,wv)); + waveList.append(getRelativePath(df, wv)); waveList.append(listSepChar); } @@ -143,7 +143,7 @@ std::string getRelativePath(DataFolderHandle df, waveHndl wv) const int FULLPATH_WITH_QUOTES = 3; char basePath[MAXCMDLEN + 1]; int ret = GetDataFolderNameOrPath(df, FULLPATH_WITH_QUOTES, basePath); - if (ret != 0) + if(ret != 0) { HISTPRINT("BUG: Could not query the datafolder handle for its name"); return std::string(); @@ -151,7 +151,7 @@ std::string getRelativePath(DataFolderHandle df, waveHndl wv) DataFolderHandle waveDataFolder; ret = GetWavesDataFolder(wv, &waveDataFolder); - if (ret != 0) + if(ret != 0) { HISTPRINT("BUG: Could not query the wave for its datafolder path"); return std::string(); @@ -159,13 +159,13 @@ std::string getRelativePath(DataFolderHandle df, waveHndl wv) char wavePath[MAXCMDLEN + 1]; ret = GetDataFolderNameOrPath(waveDataFolder, FULLPATH_WITH_QUOTES, wavePath); - if (ret != 0) + if(ret != 0) { HISTPRINT("BUG: Could not query the wave's datafolder path"); return std::string(); } - std::string relativePath = std::string(wavePath,strlen(basePath),std::string::npos); + std::string relativePath = std::string(wavePath, strlen(basePath), std::string::npos); char waveName[MAX_OBJ_NAME + 2 + 1]; WaveName(wv, waveName); @@ -177,22 +177,22 @@ std::string getRelativePath(DataFolderHandle df, waveHndl wv) /* Convert a XOP string handle to a std::string */ -void convertHandleToString(Handle strHandle, std::string& str) +void convertHandleToString(Handle strHandle, std::string &str) { str.clear(); // for both cases we return an empty string - if (strHandle == NULL || GetHandleSize(strHandle) == 0L) + if(strHandle == NULL || WMGetHandleSize(strHandle) == 0L) { return; } - const int handleSize = GetHandleSize(strHandle); + const BCInt handleSize = WMGetHandleSize(strHandle); try { str = std::string(*strHandle, handleSize); } - catch (CMemoryException* e) + catch(CMemoryException *e) { e->Delete(); HISTPRINT("Out of memory in convertHandleToString()"); @@ -204,32 +204,54 @@ void convertHandleToString(Handle strHandle, std::string& str) */ bool dataFolderExists(DataFolderHandle df) { - if (df == NULL) + if(df == NULL) { return false; } - int dfrefID; - int ret; - - ret = GetDataFolderIDNumber(df, &dfrefID); + DataFolderHandle root; + int ret = GetRootDataFolder(0, &root); if(ret != 0) { GlobalData::Instance().setInternalError(ret); return false; } - DataFolderHandle newDFHandle; - ret = GetDataFolderByIDNumber(dfrefID,&newDFHandle); - if(ret == CANT_FIND_FOLDER || newDFHandle == NULL) + if(root == df) { - return false; + return true; + } + + DataFolderHandle parent; + ret = GetParentDataFolder(df, &parent); + + if(ret == NO_PARENT_DATAFOLDER) + { + // free data folder + return true; } else if(ret != 0) + { + return false; + } + + // permanent existing or dangling + + char dataFolderPathOrName[MAXCMDLEN + 1]; + ret = GetDataFolderNameOrPath(df, 0x1, dataFolderPathOrName); + if(ret != 0) { GlobalData::Instance().setInternalError(ret); return false; } + std::string folder(dataFolderPathOrName); + + // datafolder handle refers to non existing datafolder + if(folder.find(":_killed folder_:") != std::string::npos) + { + return false; + } + return true; } diff --git a/VC8/utils_xop.hpp b/VC8/utils_xop.hpp index 7e64011..3c72ce1 100644 --- a/VC8/utils_xop.hpp +++ b/VC8/utils_xop.hpp @@ -16,68 +16,64 @@ // Accepts multipe arguments like printf and prints them to the history // Custom prefixes can be also inserted, see DEBUGPRINT -// Copies only ARRAY_SIZE-2 characters in _snprintf, because we want to have space for the terminating \0 (1) and for the CR (1) -// Checking the return value of _snprintf is not done on purpose, we just always append a \0 to be safe +// Copies only ARRAY_SIZE-2 characters in _snprintf, because we want to have space for the terminating \0 (1) and for +// the CR (1) Checking the return value of _snprintf is not done on purpose, we just always append a \0 to be safe // @param A prints only if A evaluates to true // @param B uses silent printing (does not mark the experiment as changed) if true -#define PRINT_TO_HISTORY(A,B,...) \ - if (RunningInMainThread() && A) \ - { \ - char* buf = &GlobalData::Instance().outputBuffer[0]; \ - _snprintf(buf,ARRAY_SIZE-2, __VA_ARGS__); \ - buf[ARRAY_SIZE-2] = '\0'; \ - strcat(buf,CR_STR); \ - if (!B) \ - { \ - XOPNotice(buf); \ - } \ - else \ - { \ - XOPNotice2(buf,0); \ - } \ +#define PRINT_TO_HISTORY(A, B, ...) \ + if(RunningInMainThread() && A) \ + { \ + char *buf = &GlobalData::Instance().outputBuffer[0]; \ + _snprintf(buf, ARRAY_SIZE - 2, __VA_ARGS__); \ + buf[ARRAY_SIZE - 2] = '\0'; \ + strcat(buf, CR_STR); \ + if(!B) \ + { \ + XOPNotice(buf); \ + } \ + else \ + { \ + XOPNotice2(buf, 0); \ + } \ } // Convenience wrapper using silent debug print -#define DEBUGPRINT_SILENT(...) \ - PRINT_TO_HISTORY(GlobalData::Instance().isDebuggingEnabled(),true,"DEBUG: "__VA_ARGS__) +#define DEBUGPRINT_SILENT(...) PRINT_TO_HISTORY(GlobalData::Instance().isDebuggingEnabled(), true, "DEBUG: "__VA_ARGS__) // Convenience wrapper using debug print -#define DEBUGPRINT(...) \ - PRINT_TO_HISTORY(GlobalData::Instance().isDebuggingEnabled(),false,"DEBUG: "__VA_ARGS__) +#define DEBUGPRINT(...) PRINT_TO_HISTORY(GlobalData::Instance().isDebuggingEnabled(), false, "DEBUG: "__VA_ARGS__) // Convenience wrapper for printing -#define HISTPRINT(...) \ - PRINT_TO_HISTORY(true,false,__VA_ARGS__) +#define HISTPRINT(...) PRINT_TO_HISTORY(true, false, __VA_ARGS__) // Convenience wrapper for silent printing -#define HISTPRINT_SILENT(...) \ - PRINT_TO_HISTORY(true,true,__VA_ARGS__) +#define HISTPRINT_SILENT(...) PRINT_TO_HISTORY(true, true, __VA_ARGS__) // be sure to check the return value for NULL template -T* getWaveDataPtr(waveHndl waveH) +T *getWaveDataPtr(waveHndl waveH) { THROW_IF_NULL(waveH); BCInt dataOffset; const int accessMode = kMDWaveAccessMode0; - const int ret = MDAccessNumericWaveData(waveH, accessMode, &dataOffset); + const int ret = MDAccessNumericWaveData(waveH, accessMode, &dataOffset); - if (ret != 0) + if(ret != 0) { throw std::runtime_error("MDAccessNumericWaveData returned error: " + toString(ret)); } - return reinterpret_cast(reinterpret_cast(*waveH) + dataOffset); + return reinterpret_cast(reinterpret_cast(*waveH) + dataOffset); } -int stringVectorToTextWave(const std::vector& data, waveHndl waveHandle); +int stringVectorToTextWave(const std::vector &data, waveHndl waveHandle); -void waveClearNaN64(double* wavePtr, CountInt length); -void waveClearNaN32(float* wavePtr, CountInt length); +void waveClearNaN64(double *wavePtr, CountInt length); +void waveClearNaN32(float *wavePtr, CountInt length); -void appendToWaveList(DataFolderHandle df, waveHndl wv, std::string& waveList); +void appendToWaveList(DataFolderHandle df, waveHndl wv, std::string &waveList); -void convertHandleToString(Handle strHandle, std::string& str); +void convertHandleToString(Handle strHandle, std::string &str); bool dataFolderExists(DataFolderHandle df); std::string getRelativePath(DataFolderHandle df, waveHndl wv); diff --git a/VC8/version.hpp b/VC8/version.hpp index 5dc7170..fcc6e80 100644 --- a/VC8/version.hpp +++ b/VC8/version.hpp @@ -9,7 +9,7 @@ version string of the XOP returned by the GetMtrxFileReaderVersion operation and also used for the resource file */ -#define MatrixFileReader_XOP_VERSION 0,2,5,2 +#define MatrixFileReader_XOP_VERSION 0, 2, 6, 0 // must be convertible to a double -#define MatrixFileReader_XOP_VERSION_STR "0.252\0" +#define MatrixFileReader_XOP_VERSION_STR "0.260\0" diff --git a/VC8/wave.cpp b/VC8/wave.cpp index a87bc28..b4ae123 100644 --- a/VC8/wave.cpp +++ b/VC8/wave.cpp @@ -15,9 +15,7 @@ Wave::Wave() Init(); } -Wave::Wave( const ExtremaData& extremaData ) - : - m_extrema(extremaData) +Wave::Wave(const ExtremaData &extremaData) : m_extrema(extremaData) { Init(); } @@ -25,15 +23,17 @@ Wave::Wave( const ExtremaData& extremaData ) // Common initialization routine for all ctors void Wave::Init() { - m_traceDir = NO_TRACE; - moreData = false; - m_doublePtr = NULL; - m_floatPtr = NULL; + m_traceDir = NO_TRACE; + moreData = false; + m_doublePtr = NULL; + m_floatPtr = NULL; m_waveHandle = NULL; - m_pixelSize = default_pixelsize; + m_pixelSize = default_pixelsize; } -Wave::~Wave(){} +Wave::~Wave() +{ +} /* Make a connection between the waveHandle and this class @@ -43,21 +43,21 @@ void Wave::setWaveHandle(waveHndl waveHandle) THROW_IF_NULL(waveHandle); const int waveType = WaveType(waveHandle); - if ( waveType & NT_FP64) + if(waveType & NT_FP64) { m_doublePtr = getWaveDataPtr(waveHandle); m_floatPtr = NULL; moreData = true; m_waveHandle = waveHandle; } - else if (waveType & NT_FP32) + else if(waveType & NT_FP32) { m_doublePtr = NULL; m_floatPtr = getWaveDataPtr(waveHandle); moreData = true; m_waveHandle = waveHandle; } - else if (waveType & NT_I32) + else if(waveType & NT_I32) { m_doublePtr = NULL; m_floatPtr = NULL; @@ -72,9 +72,9 @@ void Wave::setWaveHandle(waveHndl waveHandle) /* Set the name and trace direction of the wave, adds then the appropriate suffix to the wave name */ -void Wave::setProperties(const std::string& basename, int traceDir, std::string suffix) +void Wave::setProperties(const std::string &basename, int traceDir, std::string suffix) { - switch (traceDir) + switch(traceDir) { case NO_TRACE: m_wavename = basename; @@ -103,7 +103,7 @@ void Wave::setProperties(const std::string& basename, int traceDir, std::string m_wavename += suffix; m_traceDir = traceDir; - m_suffix = suffix; + m_suffix = suffix; } /* @@ -112,9 +112,8 @@ void Wave::setProperties(const std::string& basename, int traceDir, std::string void Wave::printDebugInfo() { DEBUGPRINT("%s: waveHandle=%p, float=%p, double=%p, moreData=%s, traceDir=%d, specialSuffix=%s", - m_wavename.empty() ? "empty" : m_wavename.c_str(), m_waveHandle, - m_floatPtr, m_doublePtr, boolToCString(moreData), - m_traceDir, m_suffix.c_str()); + m_wavename.empty() ? "empty" : m_wavename.c_str(), m_waveHandle, m_floatPtr, m_doublePtr, + boolToCString(moreData), m_traceDir, m_suffix.c_str()); } /* @@ -122,11 +121,11 @@ void Wave::printDebugInfo() */ void Wave::clearWave() { - if (m_doublePtr) + if(m_doublePtr) { waveClearNaN64(m_doublePtr, WavePoints(m_waveHandle)); } - else if (m_floatPtr) + else if(m_floatPtr) { waveClearNaN32(m_floatPtr, WavePoints(m_waveHandle)); } @@ -135,13 +134,13 @@ void Wave::clearWave() /* convenience wrapper */ -void Wave::setWaveScaling(int dimension, const double* sfAPtr, const double* sfBPtr) +void Wave::setWaveScaling(int dimension, const double *sfAPtr, const double *sfBPtr) { ASSERT_RETURN_VOID(m_waveHandle); int ret = MDSetWaveScaling(m_waveHandle, dimension, sfAPtr, sfBPtr); - if (ret != 0) + if(ret != 0) { HISTPRINT("WaveClass::setWaveScaling returned error %d", ret); } @@ -150,24 +149,24 @@ void Wave::setWaveScaling(int dimension, const double* sfAPtr, const double* sfB /* convenience wrapper */ -void Wave::setWaveUnits(int dimension, const std::string& units) +void Wave::setWaveUnits(int dimension, const std::string &units) { ASSERT_RETURN_VOID(m_waveHandle); int ret = MDSetWaveUnits(m_waveHandle, dimension, units.c_str()); - if (ret != 0) + if(ret != 0) { HISTPRINT("WaveClass::setWaveUnits returned error %d", ret); } } -void Wave::setWaveUnits(int dimension, const std::wstring& units) +void Wave::setWaveUnits(int dimension, const std::wstring &units) { setWaveUnits(dimension, convertEncoding(units)); } -const ExtremaData& Wave::getExtrema() const +const ExtremaData &Wave::getExtrema() const { return m_extrema; } @@ -182,7 +181,7 @@ int Wave::getTraceDir() const return m_traceDir; } -const char* Wave::getWaveName() const +const char *Wave::getWaveName() const { return m_wavename.c_str(); } diff --git a/VC8/wave.hpp b/VC8/wave.hpp index bf1c06e..10925d5 100644 --- a/VC8/wave.hpp +++ b/VC8/wave.hpp @@ -16,67 +16,66 @@ class Wave { public: Wave(); - Wave(const ExtremaData& extremaData); + Wave(const ExtremaData &extremaData); ~Wave(); void clearWave(); void setWaveHandle(waveHndl waveHandle); - void setProperties(const std::string& basename, int traceDir, std::string suffix = std::string()); + void setProperties(const std::string &basename, int traceDir, std::string suffix = std::string()); void printDebugInfo(); - void setWaveScaling(int dimension, const double* sfAPtr, const double* sfBPtr); - void setWaveUnits(int dimension, const std::wstring& units); - void setWaveUnits(int dimension, const std::string& units); + void setWaveScaling(int dimension, const double *sfAPtr, const double *sfBPtr); + void setWaveUnits(int dimension, const std::wstring &units); + void setWaveUnits(int dimension, const std::string &units); - const char* getWaveName() const; + const char *getWaveName() const; waveHndl getWaveHandle() const; int getTraceDir() const; bool isEmpty() const; - const ExtremaData& getExtrema() const;; + const ExtremaData &getExtrema() const; int GetPixelSize() const; void SetPixelSize(int pixelSize); std::string getSuffix() const; - void fillWave(int index, int rawValue, double scaledValue); + /* + Writes the data into the wave + It will _not_ be checked if index is out-of-range + Here we also determine the extrema values + */ + void fillWave(CountInt index, int rawValue, double scaledValue) + { + if(m_floatPtr) + { + m_floatPtr[index] = static_cast(scaledValue); + } + else if(m_doublePtr) + { + m_doublePtr[index] = scaledValue; + } + + // check if it is a new minimum + if(rawValue < m_extrema.getRawMin()) + { + m_extrema.setMinimum(rawValue, scaledValue); + } + + // check if it is a new maximum + if(rawValue > m_extrema.getRawMax()) + { + m_extrema.setMaximum(rawValue, scaledValue); + } + } public: bool moreData; + private: void Init(); ExtremaData m_extrema; std::string m_wavename; int m_traceDir; waveHndl m_waveHandle; - float* m_floatPtr; - double* m_doublePtr; + float *m_floatPtr; + double *m_doublePtr; int m_pixelSize; std::string m_suffix; }; - -/* - Writes the data into the wave - It will _not_ be checked if index is out-of-range - Here we also determine the extrema values -*/ -inline void Wave::fillWave(int index, int rawValue, double scaledValue) -{ - if (m_floatPtr) - { - m_floatPtr[index] = static_cast(scaledValue); - } - else if (m_doublePtr) - { - m_doublePtr[index] = scaledValue; - } - - //check if it is a new minimium - if (rawValue < m_extrema.getRawMin()) - { - m_extrema.setMinimum(rawValue, scaledValue); - } - - //check if it is a new maximum - if (rawValue > m_extrema.getRawMax()) - { - m_extrema.setMaximum(rawValue, scaledValue); - } -} diff --git a/create-public-release.sh b/create-public-release.sh index bb36538..0f57583 100644 --- a/create-public-release.sh +++ b/create-public-release.sh @@ -2,8 +2,8 @@ set -e -lastVersion=0.25.1 -newVersion=0.25.2 +lastVersion=0.25.2 +newVersion=0.26 filesToWatch="VC8 *.txt regression_tests *.pxp *.ihf" @@ -33,15 +33,16 @@ cp Readme.md $folder cp "matrixfilereader Help.ihf" $docFolder cp matrixfilereader-basic-gui.pxp $pxpFolder -cp regression_tests/*.{bat,log,ipf,pxp} $regressFolder +cp regression_tests/*.{bat,xml,ipf,pxp} $regressFolder -cp VC8/*.{bat,cpp,h,hpp,rc} VC8/MatrixFileReader.sln VC8/MatrixFileReader.vcproj $srcFolder +cp VC8/*.{bat,cpp,h,hpp,rc} VC8/MatrixFileReader.sln VC8/MatrixFileReader.vcxproj $srcFolder cp -r VC8/bstrlib $srcFolder cp Operation-Template-Generator.pxp $srcFolder cp VC8/Release/matrixfilereader.xop $folder -cp VC8/VC2005_Redist_package_x86/vcredist_x86.exe $folder +cp VC8/Release-x64/matrixfilereader-64.xop $folder +cp VC8/VC2013_Redist_package/*.exe $folder cd public-releases && zip -q -r $baseName.zip $baseName/* && cd .. diff --git a/matrixfilereader Help.ihf b/matrixfilereader Help.ihf index 57e888e..a4f836b 100644 Binary files a/matrixfilereader Help.ihf and b/matrixfilereader Help.ihf differ diff --git a/public-releases/matrixFileReaderXOP-v0.26.zip b/public-releases/matrixFileReaderXOP-v0.26.zip new file mode 100644 index 0000000..80f5add Binary files /dev/null and b/public-releases/matrixFileReaderXOP-v0.26.zip differ diff --git a/regression_tests/JU_mfr-testing_2020-07-30_20-16-50.xml b/regression_tests/JU_mfr-testing_2020-07-30_20-16-50.xml new file mode 100644 index 0000000..4f60a54 --- /dev/null +++ b/regression_tests/JU_mfr-testing_2020-07-30_20-16-50.xml @@ -0,0 +1,611 @@ + + + + + + + + + + + + Entering test case "regressionTest" 0, h:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx No bricklets in the result file 1, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 2, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 3, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 4, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 5, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 6, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 7, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 8, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 9, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 10, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 11, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 12, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 13, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 14, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 15, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 16, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 17, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 18, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 19, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 20, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) path: "h:projekte:matrixfilereader-data:referenceData_0.24:" path: "E:newVersion_0.22:" Leaving test case "regressionTest" + + Entering test case "regressionTest" 0, h:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx No bricklets in the result file 1, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 2, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 3, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 4, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 5, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 6, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 7, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 8, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 9, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 10, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 11, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 12, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 13, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 14, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 15, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 16, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 17, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 18, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 19, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) 20, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) path: "h:projekte:matrixfilereader-data:referenceData_0.24:" path: "E:newVersion_0.22:" Leaving test case "regressionTest" + + + + + + + + + + + Entering test case "BrickletConversionDetails#check_image_All" DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=98, endBrickletID=98 DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=98, endBrickletID=98 DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 DEBUG: m_rawBufferContents=000000000C2CE040,size=640000 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=98, endBrickletID=98 DEBUG: ### BrickletID 98 ### DEBUG: dimension 2 DEBUG: viewType vtc_ForwardBackward2D DEBUG: brickletType btc_SPMImage DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000000C2CE040,size=640000 DEBUG: numPointsRootAxis=400 DEBUG: numPointsTriggerAxis=400 DEBUG: data_00098_Up: waveHandle=0000000001A93080, float=0000000000000000, double=000000000C55D2B0, moreData=true, traceDir=0, specialSuffix= DEBUG: data_00098_ReUp: waveHandle=0000000001A92F40, float=0000000000000000, double=000000000C6A82B0, moreData=true, traceDir=1, specialSuffix= DEBUG: data_00098_Down: waveHandle=0000000001A92F80, float=0000000000000000, double=000000000C9462B0, moreData=true, traceDir=2, specialSuffix= DEBUG: data_00098_ReDown: waveHandle=0000000001A92D20, float=0000000000000000, double=000000000CA822B0, moreData=true, traceDir=3, specialSuffix= DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_image_All" + + + Entering test case "BrickletConversionDetails#check_cube_Up_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=1, endBrickletID=1 DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=1, endBrickletID=1 DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 DEBUG: m_rawBufferContents=0000000009B22BD0,size=6250 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=1, endBrickletID=1 DEBUG: ### BrickletID 1 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=0000000009B22BD0,size=6250 DEBUG: Axis mirroring: X=true, Y=false, Spec=false DEBUG: Spec Axis: points 250, clocks 250 DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=20, stop=81 DEBUG: Tablesets: yAxis DEBUG: start=1, step=20, stop=81 DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 DEBUG: data_00001_Up_RampFwd: waveHandle=0000000001A8ACA0, float=0000000000000000, double=0000000001C98290, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwd" + + + Entering test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=26, endBrickletID=26 DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=26, endBrickletID=26 DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 DEBUG: m_rawBufferContents=0000000013609320,size=1500 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=26, endBrickletID=26 DEBUG: ### BrickletID 26 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=0000000013609320,size=1500 DEBUG: Axis mirroring: X=false, Y=false, Spec=true DEBUG: Spec Axis: points 30, clocks 60 DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=20, stop=81 DEBUG: Tablesets: yAxis DEBUG: start=1, step=20, stop=81 DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 DEBUG: data_00026_Up_RampFwd: waveHandle=000000001309B680, float=0000000000000000, double=000000001306C520, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00026_Up_RampBwd: waveHandle=000000001309BB00, float=0000000000000000, double=0000000013076180, moreData=true, traceDir=0, specialSuffix=_RampBwd DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" + + + Entering test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=21, endBrickletID=21 DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=21, endBrickletID=21 DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 DEBUG: m_rawBufferContents=0000000014829500,size=3000 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=21, endBrickletID=21 DEBUG: ### BrickletID 21 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=0000000014829500,size=3000 DEBUG: Axis mirroring: X=true, Y=false, Spec=true DEBUG: Spec Axis: points 30, clocks 60 DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=20, stop=81 DEBUG: start=120, step=20, stop=200 DEBUG: Tablesets: yAxis DEBUG: start=1, step=20, stop=81 DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 DEBUG: data_00021_Up_RampFwd: waveHandle=0000000001A94560, float=0000000000000000, double=0000000013076180, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00021_ReUp_RampFwd: waveHandle=0000000001A947A0, float=0000000000000000, double=000000001306AB10, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00021_Up_RampBwd: waveHandle=0000000001A946A0, float=0000000000000000, double=0000000013077B90, moreData=true, traceDir=0, specialSuffix=_RampBwd DEBUG: data_00021_ReUp_RampBwd: waveHandle=0000000001A943C0, float=0000000000000000, double=000000001306C520, moreData=true, traceDir=1, specialSuffix=_RampBwd DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" + + + Entering test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=88, endBrickletID=88 DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=88, endBrickletID=88 DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=88, endBrickletID=88 DEBUG: ### BrickletID 88 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: Axis mirroring: X=true, Y=true, Spec=false DEBUG: Spec Axis: points 100, clocks 100 DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=50, stop=351 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 DEBUG: data_00088_Up_RampFwd: waveHandle=0000000001A8CEA0, float=0000000000000000, double=000000001C630280, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00088_Down_RampFwd: waveHandle=0000000001A8CCE0, float=0000000000000000, double=000000001BE3D280, moreData=true, traceDir=2, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" + + + Entering test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=91, endBrickletID=91 DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=91, endBrickletID=91 DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=91, endBrickletID=91 DEBUG: ### BrickletID 91 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: Axis mirroring: X=true, Y=true, Spec=false DEBUG: Spec Axis: points 100, clocks 100 DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=450, step=50, stop=800 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 DEBUG: data_00091_ReUp_RampFwd: waveHandle=0000000001A959C0, float=0000000000000000, double=000000000A5DC280, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00091_ReDown_RampFwd: waveHandle=0000000001A95FC0, float=0000000000000000, double=000000001C54A290, moreData=true, traceDir=3, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" + + + Entering test case "BrickletConversionDetails#check_cube_All_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=100, endBrickletID=100 DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=100, endBrickletID=100 DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=100, endBrickletID=100 DEBUG: ### BrickletID 100 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: Axis mirroring: X=true, Y=true, Spec=false DEBUG: Spec Axis: points 100, clocks 100 DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=100, stop=301 DEBUG: start=500, step=100, stop=800 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 DEBUG: data_00100_Up_RampFwd: waveHandle=0000000001A97620, float=0000000000000000, double=0000000014891B70, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00100_ReUp_RampFwd: waveHandle=0000000001A97360, float=0000000000000000, double=000000001C73C2A0, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00100_Down_RampFwd: waveHandle=0000000001A97240, float=0000000000000000, double=0000000011C37FA0, moreData=true, traceDir=2, specialSuffix=_RampFwd DEBUG: data_00100_ReDown_RampFwd: waveHandle=0000000001A97580, float=0000000000000000, double=00000000117812B0, moreData=true, traceDir=3, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_All_RampFwd" + + + Entering test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=97, endBrickletID=97 DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=97, endBrickletID=97 DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 DEBUG: m_rawBufferContents=000000001C0FB010,size=25600 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=97, endBrickletID=97 DEBUG: ### BrickletID 97 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001C0FB010,size=25600 DEBUG: Axis mirroring: X=true, Y=true, Spec=true DEBUG: Spec Axis: points 100, clocks 200 DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=100, stop=301 DEBUG: start=500, step=100, stop=800 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 DEBUG: data_00097_Up_RampFwd: waveHandle=0000000011DAAA50, float=0000000000000000, double=0000000011DB12B0, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00097_ReUp_RampFwd: waveHandle=0000000011DAA9B0, float=0000000000000000, double=0000000009B22E40, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00097_Down_RampFwd: waveHandle=0000000011DAAA70, float=0000000000000000, double=0000000011C37FA0, moreData=true, traceDir=2, specialSuffix=_RampFwd DEBUG: data_00097_ReDown_RampFwd: waveHandle=0000000011DAAFB0, float=0000000000000000, double=00000000117812B0, moreData=true, traceDir=3, specialSuffix=_RampFwd DEBUG: data_00097_Up_RampBwd: waveHandle=0000000011DAAE90, float=0000000000000000, double=00000000016342A0, moreData=true, traceDir=0, specialSuffix=_RampBwd DEBUG: data_00097_ReUp_RampBwd: waveHandle=0000000011DAABB0, float=0000000000000000, double=0000000015F90280, moreData=true, traceDir=1, specialSuffix=_RampBwd DEBUG: data_00097_Down_RampBwd: waveHandle=0000000011DAB090, float=0000000000000000, double=0000000012F59780, moreData=true, traceDir=2, specialSuffix=_RampBwd DEBUG: data_00097_ReDown_RampBwd: waveHandle=0000000011DAAD70, float=0000000000000000, double=0000000013262290, moreData=true, traceDir=3, specialSuffix=_RampBwd DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" + + Entering test case "BrickletConversionDetails#check_image_All" DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=98, endBrickletID=98 DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=98, endBrickletID=98 DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 DEBUG: m_rawBufferContents=000000000C2CE040,size=640000 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=98, endBrickletID=98 DEBUG: ### BrickletID 98 ### DEBUG: dimension 2 DEBUG: viewType vtc_ForwardBackward2D DEBUG: brickletType btc_SPMImage DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000000C2CE040,size=640000 DEBUG: numPointsRootAxis=400 DEBUG: numPointsTriggerAxis=400 DEBUG: data_00098_Up: waveHandle=0000000001A93080, float=0000000000000000, double=000000000C55D2B0, moreData=true, traceDir=0, specialSuffix= DEBUG: data_00098_ReUp: waveHandle=0000000001A92F40, float=0000000000000000, double=000000000C6A82B0, moreData=true, traceDir=1, specialSuffix= DEBUG: data_00098_Down: waveHandle=0000000001A92F80, float=0000000000000000, double=000000000C9462B0, moreData=true, traceDir=2, specialSuffix= DEBUG: data_00098_ReDown: waveHandle=0000000001A92D20, float=0000000000000000, double=000000000CA822B0, moreData=true, traceDir=3, specialSuffix= DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_image_All" Entering test case "BrickletConversionDetails#check_cube_Up_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=1, endBrickletID=1 DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=1, endBrickletID=1 DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 DEBUG: m_rawBufferContents=0000000009B22BD0,size=6250 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=1, endBrickletID=1 DEBUG: ### BrickletID 1 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=0000000009B22BD0,size=6250 DEBUG: Axis mirroring: X=true, Y=false, Spec=false DEBUG: Spec Axis: points 250, clocks 250 DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=20, stop=81 DEBUG: Tablesets: yAxis DEBUG: start=1, step=20, stop=81 DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 DEBUG: data_00001_Up_RampFwd: waveHandle=0000000001A8ACA0, float=0000000000000000, double=0000000001C98290, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwd" Entering test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=26, endBrickletID=26 DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=26, endBrickletID=26 DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 DEBUG: m_rawBufferContents=0000000013609320,size=1500 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=26, endBrickletID=26 DEBUG: ### BrickletID 26 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=0000000013609320,size=1500 DEBUG: Axis mirroring: X=false, Y=false, Spec=true DEBUG: Spec Axis: points 30, clocks 60 DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=20, stop=81 DEBUG: Tablesets: yAxis DEBUG: start=1, step=20, stop=81 DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 DEBUG: data_00026_Up_RampFwd: waveHandle=000000001309B680, float=0000000000000000, double=000000001306C520, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00026_Up_RampBwd: waveHandle=000000001309BB00, float=0000000000000000, double=0000000013076180, moreData=true, traceDir=0, specialSuffix=_RampBwd DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" Entering test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=21, endBrickletID=21 DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=21, endBrickletID=21 DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 DEBUG: m_rawBufferContents=0000000014829500,size=3000 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=21, endBrickletID=21 DEBUG: ### BrickletID 21 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=0000000014829500,size=3000 DEBUG: Axis mirroring: X=true, Y=false, Spec=true DEBUG: Spec Axis: points 30, clocks 60 DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=20, stop=81 DEBUG: start=120, step=20, stop=200 DEBUG: Tablesets: yAxis DEBUG: start=1, step=20, stop=81 DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 DEBUG: data_00021_Up_RampFwd: waveHandle=0000000001A94560, float=0000000000000000, double=0000000013076180, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00021_ReUp_RampFwd: waveHandle=0000000001A947A0, float=0000000000000000, double=000000001306AB10, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00021_Up_RampBwd: waveHandle=0000000001A946A0, float=0000000000000000, double=0000000013077B90, moreData=true, traceDir=0, specialSuffix=_RampBwd DEBUG: data_00021_ReUp_RampBwd: waveHandle=0000000001A943C0, float=0000000000000000, double=000000001306C520, moreData=true, traceDir=1, specialSuffix=_RampBwd DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" Entering test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=88, endBrickletID=88 DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=88, endBrickletID=88 DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=88, endBrickletID=88 DEBUG: ### BrickletID 88 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: Axis mirroring: X=true, Y=true, Spec=false DEBUG: Spec Axis: points 100, clocks 100 DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=50, stop=351 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 DEBUG: data_00088_Up_RampFwd: waveHandle=0000000001A8CEA0, float=0000000000000000, double=000000001C630280, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00088_Down_RampFwd: waveHandle=0000000001A8CCE0, float=0000000000000000, double=000000001BE3D280, moreData=true, traceDir=2, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" Entering test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=91, endBrickletID=91 DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=91, endBrickletID=91 DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=91, endBrickletID=91 DEBUG: ### BrickletID 91 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: Axis mirroring: X=true, Y=true, Spec=false DEBUG: Spec Axis: points 100, clocks 100 DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=450, step=50, stop=800 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 DEBUG: data_00091_ReUp_RampFwd: waveHandle=0000000001A959C0, float=0000000000000000, double=000000000A5DC280, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00091_ReDown_RampFwd: waveHandle=0000000001A95FC0, float=0000000000000000, double=000000001C54A290, moreData=true, traceDir=3, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" Entering test case "BrickletConversionDetails#check_cube_All_RampFwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=100, endBrickletID=100 DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=100, endBrickletID=100 DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=100, endBrickletID=100 DEBUG: ### BrickletID 100 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001CBA6020,size=12800 DEBUG: Axis mirroring: X=true, Y=true, Spec=false DEBUG: Spec Axis: points 100, clocks 100 DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=100, stop=301 DEBUG: start=500, step=100, stop=800 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 DEBUG: data_00100_Up_RampFwd: waveHandle=0000000001A97620, float=0000000000000000, double=0000000014891B70, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00100_ReUp_RampFwd: waveHandle=0000000001A97360, float=0000000000000000, double=000000001C73C2A0, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00100_Down_RampFwd: waveHandle=0000000001A97240, float=0000000000000000, double=0000000011C37FA0, moreData=true, traceDir=2, specialSuffix=_RampFwd DEBUG: data_00100_ReDown_RampFwd: waveHandle=0000000001A97580, float=0000000000000000, double=00000000117812B0, moreData=true, traceDir=3, specialSuffix=_RampFwd DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_All_RampFwd" Entering test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" DEBUG: V_MatrixFileReaderDebug=0 (default) DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=97, endBrickletID=97 DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=97, endBrickletID=97 DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 DEBUG: m_rawBufferContents=000000001C0FB010,size=25600 DEBUG: lastErrorCode 0, argument DEBUG: lastErrorCode 10001, argument DEBUG: V_MatrixFileReaderDebug=0 DEBUG: Variables in the folder root:tempFolder0:: DEBUG: V_MatrixFileReaderOverwrite=0 (default) DEBUG: V_MatrixFileReaderDouble=0 (default) DEBUG: V_MatrixFileReaderFolder=0 DEBUG: V_MatrixFileReaderCache=0 (default) DEBUG: V_MatrixFileReaderMagic=0 DEBUG: startBrickletID=97, endBrickletID=97 DEBUG: ### BrickletID 97 ### DEBUG: dimension 3 DEBUG: viewType vtc_Spectroscopy DEBUG: viewType vtc_2Dof3D DEBUG: brickletType btc_VolumeCITS DEBUG: Axis order is from triggerAxis to rootAxis DEBUG: Axis V DEBUG: Axis X DEBUG: Axis Y DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values DEBUG: m_rawBufferContents=000000001C0FB010,size=25600 DEBUG: Axis mirroring: X=true, Y=true, Spec=true DEBUG: Spec Axis: points 100, clocks 200 DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 DEBUG: Number of axes we have table sets for: 2 DEBUG: Tablesets: xAxis DEBUG: start=1, step=100, stop=301 DEBUG: start=500, step=100, stop=800 DEBUG: Tablesets: yAxis DEBUG: start=1, step=50, stop=351 DEBUG: start=450, step=50, stop=800 DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 DEBUG: xAxisOffset=0, yAxisOffset=0 DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 DEBUG: data_00097_Up_RampFwd: waveHandle=0000000011DAAA50, float=0000000000000000, double=0000000011DB12B0, moreData=true, traceDir=0, specialSuffix=_RampFwd DEBUG: data_00097_ReUp_RampFwd: waveHandle=0000000011DAA9B0, float=0000000000000000, double=0000000009B22E40, moreData=true, traceDir=1, specialSuffix=_RampFwd DEBUG: data_00097_Down_RampFwd: waveHandle=0000000011DAAA70, float=0000000000000000, double=0000000011C37FA0, moreData=true, traceDir=2, specialSuffix=_RampFwd DEBUG: data_00097_ReDown_RampFwd: waveHandle=0000000011DAAFB0, float=0000000000000000, double=00000000117812B0, moreData=true, traceDir=3, specialSuffix=_RampFwd DEBUG: data_00097_Up_RampBwd: waveHandle=0000000011DAAE90, float=0000000000000000, double=00000000016342A0, moreData=true, traceDir=0, specialSuffix=_RampBwd DEBUG: data_00097_ReUp_RampBwd: waveHandle=0000000011DAABB0, float=0000000000000000, double=0000000015F90280, moreData=true, traceDir=1, specialSuffix=_RampBwd DEBUG: data_00097_Down_RampBwd: waveHandle=0000000011DAB090, float=0000000000000000, double=0000000012F59780, moreData=true, traceDir=2, specialSuffix=_RampBwd DEBUG: data_00097_ReDown_RampBwd: waveHandle=0000000011DAAD70, float=0000000000000000, double=0000000013262290, moreData=true, traceDir=3, specialSuffix=_RampBwd DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 DEBUG: raw->scaled transformation: slope=1,yIntercept=0 DEBUG: lastErrorCode 0, argument Leaving test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" + + + + + + + + + + + Entering test case "CheckForNewBricklets#complains_no_file_open" DEBUG: V_MatrixFileReaderDebug=0 (default) Leaving test case "CheckForNewBricklets#complains_no_file_open" + + + Entering test case "CheckForNewBricklets#no_new_bricklets" Leaving test case "CheckForNewBricklets#no_new_bricklets" + + Entering test case "CheckForNewBricklets#complains_no_file_open" DEBUG: V_MatrixFileReaderDebug=0 (default) Leaving test case "CheckForNewBricklets#complains_no_file_open" Entering test case "CheckForNewBricklets#no_new_bricklets" Leaving test case "CheckForNewBricklets#no_new_bricklets" + + + + + + + + + + + Entering test case "CloseResultFile#complains_no_file_open" Leaving test case "CloseResultFile#complains_no_file_open" + + + Entering test case "CloseResultFile#works" Leaving test case "CloseResultFile#works" + + Entering test case "CloseResultFile#complains_no_file_open" Leaving test case "CloseResultFile#complains_no_file_open" Entering test case "CloseResultFile#works" Leaving test case "CloseResultFile#works" + + + + + + + + + + + Entering test case "CreateOverviewTable#complains_no_file_open" Leaving test case "CreateOverviewTable#complains_no_file_open" + + + Entering test case "CreateOverviewTable#complains_empty_file" Leaving test case "CreateOverviewTable#complains_empty_file" + + + Entering test case "CreateOverviewTable#complains_empty_wavename" Leaving test case "CreateOverviewTable#complains_empty_wavename" + + + Entering test case "CreateOverviewTable#complains_wavename_toolong" Leaving test case "CreateOverviewTable#complains_wavename_toolong" + + + Entering test case "CreateOverviewTable#complains_baseName_ill_chars" Leaving test case "CreateOverviewTable#complains_baseName_ill_chars" + + + Entering test case "CreateOverviewTable#complains_empty_df" Leaving test case "CreateOverviewTable#complains_empty_df" + + + Entering test case "CreateOverviewTable#complains_invalid_df" Leaving test case "CreateOverviewTable#complains_invalid_df" + + + Entering test case "CreateOverviewTable#complains_deleted_df" Leaving test case "CreateOverviewTable#complains_deleted_df" + + + Entering test case "CreateOverviewTable#complains_empty_keys" Leaving test case "CreateOverviewTable#complains_empty_keys" + + + Entering test case "CreateOverviewTable#complains_not_with_invalid_keys" Leaving test case "CreateOverviewTable#complains_not_with_invalid_keys" + + + Entering test case "CreateOverviewTable#complains_not_with_toolong_key" Leaving test case "CreateOverviewTable#complains_not_with_toolong_key" + + + Entering test case "CreateOverviewTable#creates_one_wave" Leaving test case "CreateOverviewTable#creates_one_wave" + + + Entering test case "CreateOverviewTable#creates_one_wave_df_name" Leaving test case "CreateOverviewTable#creates_one_wave_df_name" + + + Entering test case "CreateOverviewTable#creates_one_wave_free_df" Leaving test case "CreateOverviewTable#creates_one_wave_free_df" + + + Entering test case "CreateOverviewTable#creates_one_wave_user_keys" Leaving test case "CreateOverviewTable#creates_one_wave_user_keys" + + + Entering test case "CreateOverviewTable#does_not_overwrite_by_default" Leaving test case "CreateOverviewTable#does_not_overwrite_by_default" + + + Entering test case "CreateOverviewTable#setting_overwrite" Leaving test case "CreateOverviewTable#setting_overwrite" + + + Entering test case "CreateOverviewTable#prefers_dfref_settings" Leaving test case "CreateOverviewTable#prefers_dfref_settings" + + + Entering test case "CreateOverviewTable#liberal_wave_name_works" Leaving test case "CreateOverviewTable#liberal_wave_name_works" + + Entering test case "CreateOverviewTable#complains_no_file_open" Leaving test case "CreateOverviewTable#complains_no_file_open" Entering test case "CreateOverviewTable#complains_empty_file" Leaving test case "CreateOverviewTable#complains_empty_file" Entering test case "CreateOverviewTable#complains_empty_wavename" Leaving test case "CreateOverviewTable#complains_empty_wavename" Entering test case "CreateOverviewTable#complains_wavename_toolong" Leaving test case "CreateOverviewTable#complains_wavename_toolong" Entering test case "CreateOverviewTable#complains_baseName_ill_chars" Leaving test case "CreateOverviewTable#complains_baseName_ill_chars" Entering test case "CreateOverviewTable#complains_empty_df" Leaving test case "CreateOverviewTable#complains_empty_df" Entering test case "CreateOverviewTable#complains_invalid_df" Leaving test case "CreateOverviewTable#complains_invalid_df" Entering test case "CreateOverviewTable#complains_deleted_df" Leaving test case "CreateOverviewTable#complains_deleted_df" Entering test case "CreateOverviewTable#complains_empty_keys" Leaving test case "CreateOverviewTable#complains_empty_keys" Entering test case "CreateOverviewTable#complains_not_with_invalid_keys" Leaving test case "CreateOverviewTable#complains_not_with_invalid_keys" Entering test case "CreateOverviewTable#complains_not_with_toolong_key" Leaving test case "CreateOverviewTable#complains_not_with_toolong_key" Entering test case "CreateOverviewTable#creates_one_wave" Leaving test case "CreateOverviewTable#creates_one_wave" Entering test case "CreateOverviewTable#creates_one_wave_df_name" Leaving test case "CreateOverviewTable#creates_one_wave_df_name" Entering test case "CreateOverviewTable#creates_one_wave_free_df" Leaving test case "CreateOverviewTable#creates_one_wave_free_df" Entering test case "CreateOverviewTable#creates_one_wave_user_keys" Leaving test case "CreateOverviewTable#creates_one_wave_user_keys" Entering test case "CreateOverviewTable#does_not_overwrite_by_default" Leaving test case "CreateOverviewTable#does_not_overwrite_by_default" Entering test case "CreateOverviewTable#setting_overwrite" Leaving test case "CreateOverviewTable#setting_overwrite" Entering test case "CreateOverviewTable#prefers_dfref_settings" Leaving test case "CreateOverviewTable#prefers_dfref_settings" Entering test case "CreateOverviewTable#liberal_wave_name_works" Leaving test case "CreateOverviewTable#liberal_wave_name_works" + + + + + + + + + + + Entering test case "GetBrickletCount#complains_no_file_open" Leaving test case "GetBrickletCount#complains_no_file_open" + + + Entering test case "GetBrickletCount#works_empty_file" Leaving test case "GetBrickletCount#works_empty_file" + + + Entering test case "GetBrickletCount#check_with_filled_file" Leaving test case "GetBrickletCount#check_with_filled_file" + + Entering test case "GetBrickletCount#complains_no_file_open" Leaving test case "GetBrickletCount#complains_no_file_open" Entering test case "GetBrickletCount#works_empty_file" Leaving test case "GetBrickletCount#works_empty_file" Entering test case "GetBrickletCount#check_with_filled_file" Leaving test case "GetBrickletCount#check_with_filled_file" + + + + + + + + + + + Entering test case "GetBrickletData#complains_no_file_open" Leaving test case "GetBrickletData#complains_no_file_open" + + + Entering test case "GetBrickletData#complains_empty_file" Leaving test case "GetBrickletData#complains_empty_file" + + + Entering test case "GetBrickletData#complains_invalid_range" Leaving test case "GetBrickletData#complains_invalid_range" + + + Entering test case "GetBrickletData#complains_empty_wavename" Leaving test case "GetBrickletData#complains_empty_wavename" + + + Entering test case "GetBrickletData#complains_wavename_toolong" Leaving test case "GetBrickletData#complains_wavename_toolong" + + + Entering test case "GetBrickletData#complains_baseName_ill_chars" Leaving test case "GetBrickletData#complains_baseName_ill_chars" + + + Entering test case "GetBrickletData#complains_empty_df" Leaving test case "GetBrickletData#complains_empty_df" + + + Entering test case "GetBrickletData#complains_invalid_df" Leaving test case "GetBrickletData#complains_invalid_df" + + + Entering test case "GetBrickletData#complains_deleted_df" Leaving test case "GetBrickletData#complains_deleted_df" + + + Entering test case "GetBrickletData#complains_invalid_ps" Leaving test case "GetBrickletData#complains_invalid_ps" + + + Entering test case "GetBrickletData#valid_pixelsizes" Leaving test case "GetBrickletData#valid_pixelsizes" + + + Entering test case "GetBrickletData#valid_ps_with_liberal_names" Leaving test case "GetBrickletData#valid_ps_with_liberal_names" + + + Entering test case "GetBrickletData#read_one_bricklet" Leaving test case "GetBrickletData#read_one_bricklet" + + + Entering test case "GetBrickletData#read_one_bricklet_df_name" Leaving test case "GetBrickletData#read_one_bricklet_df_name" + + + Entering test case "GetBrickletData#read_one_bricklet_free_df" Leaving test case "GetBrickletData#read_one_bricklet_free_df" + + + Entering test case "GetBrickletData#creates_waves" Leaving test case "GetBrickletData#creates_waves" + + + Entering test case "GetBrickletData#does_not_overwrite_by_default" Leaving test case "GetBrickletData#does_not_overwrite_by_default" + + + Entering test case "GetBrickletData#setting_overwrite" Leaving test case "GetBrickletData#setting_overwrite" + + + Entering test case "GetBrickletData#setting_datafolder" Leaving test case "GetBrickletData#setting_datafolder" + + + Entering test case "GetBrickletData#setting_double" Leaving test case "GetBrickletData#setting_double" + + + Entering test case "GetBrickletData#prefers_dfref_settings" Leaving test case "GetBrickletData#prefers_dfref_settings" + + + Entering test case "GetBrickletData#liberal_wave_name_works" Leaving test case "GetBrickletData#liberal_wave_name_works" + + Entering test case "GetBrickletData#complains_no_file_open" Leaving test case "GetBrickletData#complains_no_file_open" Entering test case "GetBrickletData#complains_empty_file" Leaving test case "GetBrickletData#complains_empty_file" Entering test case "GetBrickletData#complains_invalid_range" Leaving test case "GetBrickletData#complains_invalid_range" Entering test case "GetBrickletData#complains_empty_wavename" Leaving test case "GetBrickletData#complains_empty_wavename" Entering test case "GetBrickletData#complains_wavename_toolong" Leaving test case "GetBrickletData#complains_wavename_toolong" Entering test case "GetBrickletData#complains_baseName_ill_chars" Leaving test case "GetBrickletData#complains_baseName_ill_chars" Entering test case "GetBrickletData#complains_empty_df" Leaving test case "GetBrickletData#complains_empty_df" Entering test case "GetBrickletData#complains_invalid_df" Leaving test case "GetBrickletData#complains_invalid_df" Entering test case "GetBrickletData#complains_deleted_df" Leaving test case "GetBrickletData#complains_deleted_df" Entering test case "GetBrickletData#complains_invalid_ps" Leaving test case "GetBrickletData#complains_invalid_ps" Entering test case "GetBrickletData#valid_pixelsizes" Leaving test case "GetBrickletData#valid_pixelsizes" Entering test case "GetBrickletData#valid_ps_with_liberal_names" Leaving test case "GetBrickletData#valid_ps_with_liberal_names" Entering test case "GetBrickletData#read_one_bricklet" Leaving test case "GetBrickletData#read_one_bricklet" Entering test case "GetBrickletData#read_one_bricklet_df_name" Leaving test case "GetBrickletData#read_one_bricklet_df_name" Entering test case "GetBrickletData#read_one_bricklet_free_df" Leaving test case "GetBrickletData#read_one_bricklet_free_df" Entering test case "GetBrickletData#creates_waves" Leaving test case "GetBrickletData#creates_waves" Entering test case "GetBrickletData#does_not_overwrite_by_default" Leaving test case "GetBrickletData#does_not_overwrite_by_default" Entering test case "GetBrickletData#setting_overwrite" Leaving test case "GetBrickletData#setting_overwrite" Entering test case "GetBrickletData#setting_datafolder" Leaving test case "GetBrickletData#setting_datafolder" Entering test case "GetBrickletData#setting_double" Leaving test case "GetBrickletData#setting_double" Entering test case "GetBrickletData#prefers_dfref_settings" Leaving test case "GetBrickletData#prefers_dfref_settings" Entering test case "GetBrickletData#liberal_wave_name_works" Leaving test case "GetBrickletData#liberal_wave_name_works" + + + + + + + + + + + Entering test case "GetBrickletMetaData#complains_no_file_open" Leaving test case "GetBrickletMetaData#complains_no_file_open" + + + Entering test case "GetBrickletMetaData#complains_empty_file" Leaving test case "GetBrickletMetaData#complains_empty_file" + + + Entering test case "GetBrickletMetaData#complains_invalid_range" Leaving test case "GetBrickletMetaData#complains_invalid_range" + + + Entering test case "GetBrickletMetaData#complains_empty_wavename" Leaving test case "GetBrickletMetaData#complains_empty_wavename" + + + Entering test case "GetBrickletMetaData#complains_wavename_toolong" Leaving test case "GetBrickletMetaData#complains_wavename_toolong" + + + Entering test case "GetBrickletMetaData#complains_baseName_ill_chars" Leaving test case "GetBrickletMetaData#complains_baseName_ill_chars" + + + Entering test case "GetBrickletMetaData#complains_empty_df" Leaving test case "GetBrickletMetaData#complains_empty_df" + + + Entering test case "GetBrickletMetaData#complains_invalid_df" Leaving test case "GetBrickletMetaData#complains_invalid_df" + + + Entering test case "GetBrickletMetaData#complains_deleted_df" Leaving test case "GetBrickletMetaData#complains_deleted_df" + + + Entering test case "GetBrickletMetaData#creates_one_wave" Leaving test case "GetBrickletMetaData#creates_one_wave" + + + Entering test case "GetBrickletMetaData#creates_one_wave_df_name" Leaving test case "GetBrickletMetaData#creates_one_wave_df_name" + + + Entering test case "GetBrickletMetaData#creates_one_wave_free_df" Leaving test case "GetBrickletMetaData#creates_one_wave_free_df" + + + Entering test case "GetBrickletMetaData#creates_waves" Leaving test case "GetBrickletMetaData#creates_waves" + + + Entering test case "GetBrickletMetaData#does_not_overwrite_by_default" Leaving test case "GetBrickletMetaData#does_not_overwrite_by_default" + + + Entering test case "GetBrickletMetaData#setting_overwrite" Leaving test case "GetBrickletMetaData#setting_overwrite" + + + Entering test case "GetBrickletMetaData#setting_datafolder" Leaving test case "GetBrickletMetaData#setting_datafolder" + + + Entering test case "GetBrickletMetaData#prefers_dfref_settings" Leaving test case "GetBrickletMetaData#prefers_dfref_settings" + + + Entering test case "GetBrickletMetaData#liberal_wave_name_works" Leaving test case "GetBrickletMetaData#liberal_wave_name_works" + + Entering test case "GetBrickletMetaData#complains_no_file_open" Leaving test case "GetBrickletMetaData#complains_no_file_open" Entering test case "GetBrickletMetaData#complains_empty_file" Leaving test case "GetBrickletMetaData#complains_empty_file" Entering test case "GetBrickletMetaData#complains_invalid_range" Leaving test case "GetBrickletMetaData#complains_invalid_range" Entering test case "GetBrickletMetaData#complains_empty_wavename" Leaving test case "GetBrickletMetaData#complains_empty_wavename" Entering test case "GetBrickletMetaData#complains_wavename_toolong" Leaving test case "GetBrickletMetaData#complains_wavename_toolong" Entering test case "GetBrickletMetaData#complains_baseName_ill_chars" Leaving test case "GetBrickletMetaData#complains_baseName_ill_chars" Entering test case "GetBrickletMetaData#complains_empty_df" Leaving test case "GetBrickletMetaData#complains_empty_df" Entering test case "GetBrickletMetaData#complains_invalid_df" Leaving test case "GetBrickletMetaData#complains_invalid_df" Entering test case "GetBrickletMetaData#complains_deleted_df" Leaving test case "GetBrickletMetaData#complains_deleted_df" Entering test case "GetBrickletMetaData#creates_one_wave" Leaving test case "GetBrickletMetaData#creates_one_wave" Entering test case "GetBrickletMetaData#creates_one_wave_df_name" Leaving test case "GetBrickletMetaData#creates_one_wave_df_name" Entering test case "GetBrickletMetaData#creates_one_wave_free_df" Leaving test case "GetBrickletMetaData#creates_one_wave_free_df" Entering test case "GetBrickletMetaData#creates_waves" Leaving test case "GetBrickletMetaData#creates_waves" Entering test case "GetBrickletMetaData#does_not_overwrite_by_default" Leaving test case "GetBrickletMetaData#does_not_overwrite_by_default" Entering test case "GetBrickletMetaData#setting_overwrite" Leaving test case "GetBrickletMetaData#setting_overwrite" Entering test case "GetBrickletMetaData#setting_datafolder" Leaving test case "GetBrickletMetaData#setting_datafolder" Entering test case "GetBrickletMetaData#prefers_dfref_settings" Leaving test case "GetBrickletMetaData#prefers_dfref_settings" Entering test case "GetBrickletMetaData#liberal_wave_name_works" Leaving test case "GetBrickletMetaData#liberal_wave_name_works" + + + + + + + + + + + Entering test case "GetBrickletRawData#complains_no_file_open" Leaving test case "GetBrickletRawData#complains_no_file_open" + + + Entering test case "GetBrickletRawData#complains_empty_file" Leaving test case "GetBrickletRawData#complains_empty_file" + + + Entering test case "GetBrickletRawData#complains_invalid_range" Leaving test case "GetBrickletRawData#complains_invalid_range" + + + Entering test case "GetBrickletRawData#complains_empty_wavename" Leaving test case "GetBrickletRawData#complains_empty_wavename" + + + Entering test case "GetBrickletRawData#complains_wavename_toolong" Leaving test case "GetBrickletRawData#complains_wavename_toolong" + + + Entering test case "GetBrickletRawData#complains_baseName_ill_chars" Leaving test case "GetBrickletRawData#complains_baseName_ill_chars" + + + Entering test case "GetBrickletRawData#complains_empty_df" Leaving test case "GetBrickletRawData#complains_empty_df" + + + Entering test case "GetBrickletRawData#complains_invalid_df" Leaving test case "GetBrickletRawData#complains_invalid_df" + + + Entering test case "GetBrickletRawData#complains_deleted_df" Leaving test case "GetBrickletRawData#complains_deleted_df" + + + Entering test case "GetBrickletRawData#creates_one_wave" Leaving test case "GetBrickletRawData#creates_one_wave" + + + Entering test case "GetBrickletRawData#creates_one_wave_df_name" Leaving test case "GetBrickletRawData#creates_one_wave_df_name" + + + Entering test case "GetBrickletRawData#creates_one_wave_free_df" Leaving test case "GetBrickletRawData#creates_one_wave_free_df" + + + Entering test case "GetBrickletRawData#creates_waves" Leaving test case "GetBrickletRawData#creates_waves" + + + Entering test case "GetBrickletRawData#does_not_overwrite_by_default" Leaving test case "GetBrickletRawData#does_not_overwrite_by_default" + + + Entering test case "GetBrickletRawData#setting_overwrite" Leaving test case "GetBrickletRawData#setting_overwrite" + + + Entering test case "GetBrickletRawData#setting_datafolder" Leaving test case "GetBrickletRawData#setting_datafolder" + + + Entering test case "GetBrickletRawData#prefers_dfref_settings" Leaving test case "GetBrickletRawData#prefers_dfref_settings" + + + Entering test case "GetBrickletRawData#liberal_wave_name_works" Leaving test case "GetBrickletRawData#liberal_wave_name_works" + + Entering test case "GetBrickletRawData#complains_no_file_open" Leaving test case "GetBrickletRawData#complains_no_file_open" Entering test case "GetBrickletRawData#complains_empty_file" Leaving test case "GetBrickletRawData#complains_empty_file" Entering test case "GetBrickletRawData#complains_invalid_range" Leaving test case "GetBrickletRawData#complains_invalid_range" Entering test case "GetBrickletRawData#complains_empty_wavename" Leaving test case "GetBrickletRawData#complains_empty_wavename" Entering test case "GetBrickletRawData#complains_wavename_toolong" Leaving test case "GetBrickletRawData#complains_wavename_toolong" Entering test case "GetBrickletRawData#complains_baseName_ill_chars" Leaving test case "GetBrickletRawData#complains_baseName_ill_chars" Entering test case "GetBrickletRawData#complains_empty_df" Leaving test case "GetBrickletRawData#complains_empty_df" Entering test case "GetBrickletRawData#complains_invalid_df" Leaving test case "GetBrickletRawData#complains_invalid_df" Entering test case "GetBrickletRawData#complains_deleted_df" Leaving test case "GetBrickletRawData#complains_deleted_df" Entering test case "GetBrickletRawData#creates_one_wave" Leaving test case "GetBrickletRawData#creates_one_wave" Entering test case "GetBrickletRawData#creates_one_wave_df_name" Leaving test case "GetBrickletRawData#creates_one_wave_df_name" Entering test case "GetBrickletRawData#creates_one_wave_free_df" Leaving test case "GetBrickletRawData#creates_one_wave_free_df" Entering test case "GetBrickletRawData#creates_waves" Leaving test case "GetBrickletRawData#creates_waves" Entering test case "GetBrickletRawData#does_not_overwrite_by_default" Leaving test case "GetBrickletRawData#does_not_overwrite_by_default" Entering test case "GetBrickletRawData#setting_overwrite" Leaving test case "GetBrickletRawData#setting_overwrite" Entering test case "GetBrickletRawData#setting_datafolder" Leaving test case "GetBrickletRawData#setting_datafolder" Entering test case "GetBrickletRawData#prefers_dfref_settings" Leaving test case "GetBrickletRawData#prefers_dfref_settings" Entering test case "GetBrickletRawData#liberal_wave_name_works" Leaving test case "GetBrickletRawData#liberal_wave_name_works" + + + + + + + + + + + Entering test case "returns_non_empty_string" #### Windows version: 10.0 (Build 18363) Free Memory: 53 GiB Total Memory: 63 GiB Used Memory by this XOP: 0 MiB Visual Studio version: 1800 Igor Pro Version: 805 Vernissage version: 2.4.1 XOP version: 0.260 (Build 6333d13) Compilation date and time: Jul 30 2020 19:41:20 Your Name: Bug description: #### Leaving test case "returns_non_empty_string" + + Entering test case "returns_non_empty_string" #### Windows version: 10.0 (Build 18363) Free Memory: 53 GiB Total Memory: 63 GiB Used Memory by this XOP: 0 MiB Visual Studio version: 1800 Igor Pro Version: 805 Vernissage version: 2.4.1 XOP version: 0.260 (Build 6333d13) Compilation date and time: Jul 30 2020 19:41:20 Your Name: Bug description: #### Leaving test case "returns_non_empty_string" + + + + + + + + + + + Entering test case "GetResultFileMetaData#complains_no_file_open" Leaving test case "GetResultFileMetaData#complains_no_file_open" + + + Entering test case "GetResultFileMetaData#complains_empty_wavename" Leaving test case "GetResultFileMetaData#complains_empty_wavename" + + + Entering test case "GetResultFileMetaData#complains_wavename_toolong" Leaving test case "GetResultFileMetaData#complains_wavename_toolong" + + + Entering test case "GetResultFileMetaData#complains_empty_df" Leaving test case "GetResultFileMetaData#complains_empty_df" + + + Entering test case "GetResultFileMetaData#complains_invalid_df" Leaving test case "GetResultFileMetaData#complains_invalid_df" + + + Entering test case "GetResultFileMetaData#complains_waveName_ill_chars" Leaving test case "GetResultFileMetaData#complains_waveName_ill_chars" + + + Entering test case "GetResultFileMetaData#complains_deleted_df" Leaving test case "GetResultFileMetaData#complains_deleted_df" + + + Entering test case "GetResultFileMetaData#works_with_empty_file" Leaving test case "GetResultFileMetaData#works_with_empty_file" + + + Entering test case "GetResultFileMetaData#creates_one_wave" Leaving test case "GetResultFileMetaData#creates_one_wave" + + + Entering test case "GetResultFileMetaData#creates_one_wave_df_name" Leaving test case "GetResultFileMetaData#creates_one_wave_df_name" + + + Entering test case "GetResultFileMetaData#creates_one_wave_free_df" Leaving test case "GetResultFileMetaData#creates_one_wave_free_df" + + + Entering test case "GetResultFileMetaData#does_not_overwrite_by_default" Leaving test case "GetResultFileMetaData#does_not_overwrite_by_default" + + + Entering test case "GetResultFileMetaData#overwrites_if_told" Leaving test case "GetResultFileMetaData#overwrites_if_told" + + + Entering test case "GetResultFileMetaData#liberal_wave_name_works" Leaving test case "GetResultFileMetaData#liberal_wave_name_works" + + Entering test case "GetResultFileMetaData#complains_no_file_open" Leaving test case "GetResultFileMetaData#complains_no_file_open" Entering test case "GetResultFileMetaData#complains_empty_wavename" Leaving test case "GetResultFileMetaData#complains_empty_wavename" Entering test case "GetResultFileMetaData#complains_wavename_toolong" Leaving test case "GetResultFileMetaData#complains_wavename_toolong" Entering test case "GetResultFileMetaData#complains_empty_df" Leaving test case "GetResultFileMetaData#complains_empty_df" Entering test case "GetResultFileMetaData#complains_invalid_df" Leaving test case "GetResultFileMetaData#complains_invalid_df" Entering test case "GetResultFileMetaData#complains_waveName_ill_chars" Leaving test case "GetResultFileMetaData#complains_waveName_ill_chars" Entering test case "GetResultFileMetaData#complains_deleted_df" Leaving test case "GetResultFileMetaData#complains_deleted_df" Entering test case "GetResultFileMetaData#works_with_empty_file" Leaving test case "GetResultFileMetaData#works_with_empty_file" Entering test case "GetResultFileMetaData#creates_one_wave" Leaving test case "GetResultFileMetaData#creates_one_wave" Entering test case "GetResultFileMetaData#creates_one_wave_df_name" Leaving test case "GetResultFileMetaData#creates_one_wave_df_name" Entering test case "GetResultFileMetaData#creates_one_wave_free_df" Leaving test case "GetResultFileMetaData#creates_one_wave_free_df" Entering test case "GetResultFileMetaData#does_not_overwrite_by_default" Leaving test case "GetResultFileMetaData#does_not_overwrite_by_default" Entering test case "GetResultFileMetaData#overwrites_if_told" Leaving test case "GetResultFileMetaData#overwrites_if_told" Entering test case "GetResultFileMetaData#liberal_wave_name_works" Leaving test case "GetResultFileMetaData#liberal_wave_name_works" + + + + + + + + + + + Entering test case "GetBrickletDeployData#complains_no_file_open" Leaving test case "GetBrickletDeployData#complains_no_file_open" + + + Entering test case "GetBrickletDeployData#complains_empty_file" Leaving test case "GetBrickletDeployData#complains_empty_file" + + + Entering test case "GetBrickletDeployData#complains_invalid_range" Leaving test case "GetBrickletDeployData#complains_invalid_range" + + + Entering test case "GetBrickletDeployData#complains_empty_wavename" Leaving test case "GetBrickletDeployData#complains_empty_wavename" + + + Entering test case "GetBrickletDeployData#complains_wavename_toolong" Leaving test case "GetBrickletDeployData#complains_wavename_toolong" + + + Entering test case "GetBrickletDeployData#complains_baseName_ill_chars" Leaving test case "GetBrickletDeployData#complains_baseName_ill_chars" + + + Entering test case "GetBrickletDeployData#complains_empty_df" Leaving test case "GetBrickletDeployData#complains_empty_df" + + + Entering test case "GetBrickletDeployData#complains_invalid_df" Leaving test case "GetBrickletDeployData#complains_invalid_df" + + + Entering test case "GetBrickletDeployData#complains_deleted_df" Leaving test case "GetBrickletDeployData#complains_deleted_df" + + + Entering test case "GetBrickletDeployData#creates_one_wave" Leaving test case "GetBrickletDeployData#creates_one_wave" + + + Entering test case "GetBrickletDeployData#creates_one_wave_df_name" Leaving test case "GetBrickletDeployData#creates_one_wave_df_name" + + + Entering test case "GetBrickletDeployData#creates_one_wave_free_df" Leaving test case "GetBrickletDeployData#creates_one_wave_free_df" + + + Entering test case "GetBrickletDeployData#creates_waves" Leaving test case "GetBrickletDeployData#creates_waves" + + + Entering test case "GetBrickletDeployData#does_not_overwrite_by_default" Leaving test case "GetBrickletDeployData#does_not_overwrite_by_default" + + + Entering test case "GetBrickletDeployData#setting_overwrite" Leaving test case "GetBrickletDeployData#setting_overwrite" + + + Entering test case "GetBrickletDeployData#setting_datafolder" Leaving test case "GetBrickletDeployData#setting_datafolder" + + + Entering test case "GetBrickletDeployData#prefers_dfref_settings" Leaving test case "GetBrickletDeployData#prefers_dfref_settings" + + + Entering test case "GetBrickletDeployData#liberal_wave_name_works" Leaving test case "GetBrickletDeployData#liberal_wave_name_works" + + Entering test case "GetBrickletDeployData#complains_no_file_open" Leaving test case "GetBrickletDeployData#complains_no_file_open" Entering test case "GetBrickletDeployData#complains_empty_file" Leaving test case "GetBrickletDeployData#complains_empty_file" Entering test case "GetBrickletDeployData#complains_invalid_range" Leaving test case "GetBrickletDeployData#complains_invalid_range" Entering test case "GetBrickletDeployData#complains_empty_wavename" Leaving test case "GetBrickletDeployData#complains_empty_wavename" Entering test case "GetBrickletDeployData#complains_wavename_toolong" Leaving test case "GetBrickletDeployData#complains_wavename_toolong" Entering test case "GetBrickletDeployData#complains_baseName_ill_chars" Leaving test case "GetBrickletDeployData#complains_baseName_ill_chars" Entering test case "GetBrickletDeployData#complains_empty_df" Leaving test case "GetBrickletDeployData#complains_empty_df" Entering test case "GetBrickletDeployData#complains_invalid_df" Leaving test case "GetBrickletDeployData#complains_invalid_df" Entering test case "GetBrickletDeployData#complains_deleted_df" Leaving test case "GetBrickletDeployData#complains_deleted_df" Entering test case "GetBrickletDeployData#creates_one_wave" Leaving test case "GetBrickletDeployData#creates_one_wave" Entering test case "GetBrickletDeployData#creates_one_wave_df_name" Leaving test case "GetBrickletDeployData#creates_one_wave_df_name" Entering test case "GetBrickletDeployData#creates_one_wave_free_df" Leaving test case "GetBrickletDeployData#creates_one_wave_free_df" Entering test case "GetBrickletDeployData#creates_waves" Leaving test case "GetBrickletDeployData#creates_waves" Entering test case "GetBrickletDeployData#does_not_overwrite_by_default" Leaving test case "GetBrickletDeployData#does_not_overwrite_by_default" Entering test case "GetBrickletDeployData#setting_overwrite" Leaving test case "GetBrickletDeployData#setting_overwrite" Entering test case "GetBrickletDeployData#setting_datafolder" Leaving test case "GetBrickletDeployData#setting_datafolder" Entering test case "GetBrickletDeployData#prefers_dfref_settings" Leaving test case "GetBrickletDeployData#prefers_dfref_settings" Entering test case "GetBrickletDeployData#liberal_wave_name_works" Leaving test case "GetBrickletDeployData#liberal_wave_name_works" + + + + + + + + + + + Entering test case "GetResultFileName#file_names_are_empty" Leaving test case "GetResultFileName#file_names_are_empty" + + + Entering test case "GetResultFileName#file_names_are_filled" Leaving test case "GetResultFileName#file_names_are_filled" + + + Entering test case "GetResultFileName#file_names_with_corr_bs" Leaving test case "GetResultFileName#file_names_with_corr_bs" + + Entering test case "GetResultFileName#file_names_are_empty" Leaving test case "GetResultFileName#file_names_are_empty" Entering test case "GetResultFileName#file_names_are_filled" Leaving test case "GetResultFileName#file_names_are_filled" Entering test case "GetResultFileName#file_names_with_corr_bs" Leaving test case "GetResultFileName#file_names_with_corr_bs" + + + + + + + + + + + Entering test case "GetVernissageVersion#vernissage_version_format" Leaving test case "GetVernissageVersion#vernissage_version_format" + + Entering test case "GetVernissageVersion#vernissage_version_format" Leaving test case "GetVernissageVersion#vernissage_version_format" + + + + + + + + + + + Entering test case "version_format_is_correct" Leaving test case "version_format_is_correct" + + Entering test case "version_format_is_correct" Leaving test case "version_format_is_correct" + + + + + + + + + + + Entering test case "GetXOPErrorMessage#check_that_messages_are_set" No error, everything went nice and smooth. A file is already open and it can only be one file open at a time. The result file is empty, so there is little one can do here... The file/folder (missing argument) is not readable. There are no new bricklets in the result file. The paramter (missing argument) is missing or wrong. Please consult the documentation. The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data. There is no result file open. The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID. The wave (missing argument) already exists. Please move/delete it first. Leaving test case "GetXOPErrorMessage#check_that_messages_are_set" + + Entering test case "GetXOPErrorMessage#check_that_messages_are_set" No error, everything went nice and smooth. A file is already open and it can only be one file open at a time. The result file is empty, so there is little one can do here... The file/folder (missing argument) is not readable. There are no new bricklets in the result file. The paramter (missing argument) is missing or wrong. Please consult the documentation. The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data. There is no result file open. The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID. The wave (missing argument) already exists. Please move/delete it first. Leaving test case "GetXOPErrorMessage#check_that_messages_are_set" + + + + + + + + + + + Entering test case "OpenResultFile#openResultFile_empty_file_path" Leaving test case "OpenResultFile#openResultFile_empty_file_path" + + + Entering test case "OpenResultFile#openResultFile_non_exist_file" Leaving test case "OpenResultFile#openResultFile_non_exist_file" + + + Entering test case "OpenResultFile#openResultFile_empty_file_K" Leaving test case "OpenResultFile#openResultFile_empty_file_K" + + + Entering test case "OpenResultFile#openResultFile_non_exist_file_K" Leaving test case "OpenResultFile#openResultFile_non_exist_file_K" + + + Entering test case "OpenResultFile#openResultFile_non_exist_path" no symbolic path of that name Leaving test case "OpenResultFile#openResultFile_non_exist_path" + + + Entering test case "OpenResultFile#openResultFile_non_exist_path_K" no symbolic path of that name Leaving test case "OpenResultFile#openResultFile_non_exist_path_K" + + + Entering test case "OpenResultFile#openResultFile_undefined_path" Leaving test case "OpenResultFile#openResultFile_undefined_path" + + + Entering test case "OpenResultFile#openResultFile_undefined_path_K" Leaving test case "OpenResultFile#openResultFile_undefined_path_K" + + + Entering test case "OpenResultFile#openResultFile_undef_path_file" no symbolic path of that name Leaving test case "OpenResultFile#openResultFile_undef_path_file" + + + Entering test case "OpenResultFile#openResultFile_nonexist_path" Leaving test case "OpenResultFile#openResultFile_nonexist_path" + + + Entering test case "OpenResultFile#openResultFile_loading_works" Leaving test case "OpenResultFile#openResultFile_loading_works" + + + Entering test case "OpenResultFile#openResultFile_loading_works_K" Leaving test case "OpenResultFile#openResultFile_loading_works_K" + + + Entering test case "OpenResultFile#openResultFile_loading_path" Leaving test case "OpenResultFile#openResultFile_loading_path" + + + Entering test case "OpenResultFile#openResultFile_already_open" Leaving test case "OpenResultFile#openResultFile_already_open" + + Entering test case "OpenResultFile#openResultFile_empty_file_path" Leaving test case "OpenResultFile#openResultFile_empty_file_path" Entering test case "OpenResultFile#openResultFile_non_exist_file" Leaving test case "OpenResultFile#openResultFile_non_exist_file" Entering test case "OpenResultFile#openResultFile_empty_file_K" Leaving test case "OpenResultFile#openResultFile_empty_file_K" Entering test case "OpenResultFile#openResultFile_non_exist_file_K" Leaving test case "OpenResultFile#openResultFile_non_exist_file_K" Entering test case "OpenResultFile#openResultFile_non_exist_path" no symbolic path of that name Leaving test case "OpenResultFile#openResultFile_non_exist_path" Entering test case "OpenResultFile#openResultFile_non_exist_path_K" no symbolic path of that name Leaving test case "OpenResultFile#openResultFile_non_exist_path_K" Entering test case "OpenResultFile#openResultFile_undefined_path" Leaving test case "OpenResultFile#openResultFile_undefined_path" Entering test case "OpenResultFile#openResultFile_undefined_path_K" Leaving test case "OpenResultFile#openResultFile_undefined_path_K" Entering test case "OpenResultFile#openResultFile_undef_path_file" no symbolic path of that name Leaving test case "OpenResultFile#openResultFile_undef_path_file" Entering test case "OpenResultFile#openResultFile_nonexist_path" Leaving test case "OpenResultFile#openResultFile_nonexist_path" Entering test case "OpenResultFile#openResultFile_loading_works" Leaving test case "OpenResultFile#openResultFile_loading_works" Entering test case "OpenResultFile#openResultFile_loading_works_K" Leaving test case "OpenResultFile#openResultFile_loading_works_K" Entering test case "OpenResultFile#openResultFile_loading_path" Leaving test case "OpenResultFile#openResultFile_loading_path" Entering test case "OpenResultFile#openResultFile_already_open" Leaving test case "OpenResultFile#openResultFile_already_open" + + diff --git a/regression_tests/RegressionTest.ipf b/regression_tests/RegressionTest.ipf index 60ecce6..e87ad93 100644 --- a/regression_tests/RegressionTest.ipf +++ b/regression_tests/RegressionTest.ipf @@ -175,11 +175,16 @@ Function CompareRange(refFolderOnDisc, newFolderOnDisc, refFileList, ignoreTextW SetDataFolder cdf NewDataFolder/S/O newFolder - // Names of SPS curves have changed in c50506 and again in - // c6b95086 (Change SPS suffix for ramp reversal data to RampFwd/RampBwd, 2015-07-17) - GetFileFolderInfo/Q/Z newFolderOnDisc + fileName - if(V_flag != 0) - fileName = ReplaceString(".ibw", filename, "_RampFwd.ibw") + // replace short directory names with long ones + filename = ReplaceString("default_20110114-2011Jan14-1658", filename, "default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001") + filename = ReplaceString("default_20120127-142723_STM_Spe", filename, "default_20120127-142723_STM_Spectroscopy_0001") + filename = ReplaceString("default_2015Sep16-134954_STM-ST", filename, "default_2015Sep16-134954_STM-STM_AtomManipulation_0001") + + // Names of SPS curves have changed in c50506 and again in + // c6b95086 (Change SPS suffix for ramp reversal data to RampFwd/RampBwd, 2015-07-17) + GetFileFolderInfo/Q/Z newFolderOnDisc + fileName + if(V_flag != 0) + fileName = ReplaceString(".ibw", filename, "_RampFwd.ibw") endif path = newFolderOnDisc + fileName diff --git a/regression_tests/Test_CreateOverviewTable.ipf b/regression_tests/Test_CreateOverviewTable.ipf index 43114a5..f1e1ab8 100644 --- a/regression_tests/Test_CreateOverviewTable.ipf +++ b/regression_tests/Test_CreateOverviewTable.ipf @@ -41,7 +41,7 @@ static Function complains_wavename_toolong() MFR_OpenResultFile/K folder + file CHECK_EQUAL_VAR(err.SUCCESS, V_flag) - MFR_CreateOverviewTable/N="abcdefghijklmnopqrstuvwxyzabcdefghij" + MFR_CreateOverviewTable/N=PadString("", 256, 0x61) CHECK_EQUAL_VAR(err.WRONG_PARAMETER, V_flag) CHECK_EMPTY_STR(S_waveNames) CHECK_EMPTY_FOLDER() diff --git a/regression_tests/Test_GetBrickletData.ipf b/regression_tests/Test_GetBrickletData.ipf index 78c42b8..d45b1fd 100644 --- a/regression_tests/Test_GetBrickletData.ipf +++ b/regression_tests/Test_GetBrickletData.ipf @@ -111,7 +111,7 @@ static Function complains_wavename_toolong() MFR_OpenResultFile/K folder + file CHECK_EQUAL_VAR(err.SUCCESS, V_flag) - MFR_GetBrickletData/N="abcdefghijklmnopqrstuvwxyz" + MFR_GetBrickletData/N=PadString("", 256, 0x61) CHECK_EQUAL_VAR(err.WRONG_PARAMETER, V_flag) CHECK_EMPTY_STR(S_waveNames) CHECK_EMPTY_FOLDER() diff --git a/regression_tests/Test_GetBrickletDeployData.ipf b/regression_tests/Test_GetBrickletDeployData.ipf index 2c80e27..3e1f804 100644 --- a/regression_tests/Test_GetBrickletDeployData.ipf +++ b/regression_tests/Test_GetBrickletDeployData.ipf @@ -111,7 +111,7 @@ static Function complains_wavename_toolong() MFR_OpenResultFile/K folder + file CHECK_EQUAL_VAR(err.SUCCESS, V_flag) - MFR_GetBrickletDeployData/N="abcdefghijklmnopqrstuvwxyz" + MFR_GetBrickletDeployData/N=PadString("", 256, 0x61) CHECK_EQUAL_VAR(err.WRONG_PARAMETER, V_flag) CHECK_EMPTY_STR(S_waveNames) CHECK_EMPTY_FOLDER() diff --git a/regression_tests/Test_GetBrickletMetaData.ipf b/regression_tests/Test_GetBrickletMetaData.ipf index 92114a1..37baa2e 100644 --- a/regression_tests/Test_GetBrickletMetaData.ipf +++ b/regression_tests/Test_GetBrickletMetaData.ipf @@ -111,7 +111,7 @@ static Function complains_wavename_toolong() MFR_OpenResultFile/K folder + file CHECK_EQUAL_VAR(err.SUCCESS, V_flag) - MFR_GetBrickletMetaData/N="abcdefghijklmnopqrstuvwxyz" + MFR_GetBrickletMetaData/N=PadString("", 256, 0x61) CHECK_EQUAL_VAR(err.WRONG_PARAMETER, V_flag) CHECK_EMPTY_STR(S_waveNames) CHECK_EMPTY_FOLDER() diff --git a/regression_tests/Test_GetBrickletRawData.ipf b/regression_tests/Test_GetBrickletRawData.ipf index 05628ad..400104b 100644 --- a/regression_tests/Test_GetBrickletRawData.ipf +++ b/regression_tests/Test_GetBrickletRawData.ipf @@ -111,7 +111,7 @@ static Function complains_wavename_toolong() MFR_OpenResultFile/K folder + file CHECK_EQUAL_VAR(err.SUCCESS, V_flag) - MFR_GetBrickletRawData/N="abcdefghijklmnopqrstuvwxyz" + MFR_GetBrickletRawData/N=PadString("", 256, 0x61) CHECK_EQUAL_VAR(err.WRONG_PARAMETER, V_flag) CHECK_EMPTY_STR(S_waveNames) CHECK_EMPTY_FOLDER() diff --git a/regression_tests/Test_GetResultFileMetaData.ipf b/regression_tests/Test_GetResultFileMetaData.ipf index 31b4073..ee1b3ac 100644 --- a/regression_tests/Test_GetResultFileMetaData.ipf +++ b/regression_tests/Test_GetResultFileMetaData.ipf @@ -31,7 +31,7 @@ static Function complains_wavename_toolong() MFR_OpenResultFile/K folder + file CHECK_EQUAL_VAR(err.SUCCESS, V_flag) - MFR_GetResultFileMetaData/N="abcdefghijklmnopqrstuvwxyzabcdefghij" + MFR_GetResultFileMetaData/N=PadString("", 256, 0x61) CHECK_EQUAL_VAR(err.WRONG_PARAMETER, V_flag) CHECK_EMPTY_STR(S_waveNames) CHECK_EMPTY_FOLDER() diff --git a/regression_tests/mfr-testing.pxp b/regression_tests/mfr-testing.pxp index eaa7668..3328da3 100644 Binary files a/regression_tests/mfr-testing.pxp and b/regression_tests/mfr-testing.pxp differ diff --git a/regression_tests/mfr-testing_2017-06-29_18-23-23.log b/regression_tests/mfr-testing_2017-06-29_18-23-23.log deleted file mode 100644 index 764712a..0000000 --- a/regression_tests/mfr-testing_2017-06-29_18-23-23.log +++ /dev/null @@ -1,5565 +0,0 @@ - Start of test "MatrixFileReader XOP" - Entering test suite "RegressionTest.ipf" - Entering test case "regressionTest" - 0, h:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx - No bricklets in the result file - 1, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 2, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 3, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 4, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 5, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 6, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 7, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 8, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 9, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 10, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 11, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 12, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 13, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 14, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 15, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 16, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 17, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 18, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 19, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 20, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - path: "h:projekte:matrixfilereader-data:referenceData_0.24:" - path: "e:newVersion_0.22:" - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: rawData_00250, rawData_00250 -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "RegressionTest.ipf" - Entering test case "regressionTest" - 0, h:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx - No bricklets in the result file - 1, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 2, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 3, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 4, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 5, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 6, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 7, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 8, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 9, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 10, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 11, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 12, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 13, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 14, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 15, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 16, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 17, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 18, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 19, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 20, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - path: "h:projekte:matrixfilereader-data:referenceData_0.24:" - path: "e:newVersion_0.22:" - Leaving test case "regressionTest" - Finished with no errors - Leaving test suite "RegressionTest.ipf" - Test finished with no errors - End of test "MatrixFileReader XOP" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "check_image_All" - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=13580020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=13580020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=0EF55160, float=00000000, double=11790150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=0EF55178, float=00000000, double=13800150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=0EF55190, float=00000000, double=13940150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=0EF551A8, float=00000000, double=13A80150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_image_All" - Entering test case "check_cube_Up_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 - DEBUG: m_rawBufferContents=12E9D4E8,size=6250 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: ### BrickletID 1 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12E9D4E8,size=6250 - DEBUG: Axis mirroring: X=true, Y=false, Spec=false - DEBUG: Spec Axis: points 250, clocks 250 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 - DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 - DEBUG: data_00001_Up_RampFwd: waveHandle=0EF55B08, float=00000000, double=0F04C778, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_cube_Up_RampFwd" - Entering test case "check_cube_Up_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 - DEBUG: m_rawBufferContents=12D237C0,size=1500 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: ### BrickletID 26 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12D237C0,size=1500 - DEBUG: Axis mirroring: X=false, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 - DEBUG: data_00026_Up_RampFwd: waveHandle=0EF56198, float=00000000, double=0B0B7C38, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00026_Up_RampBwd: waveHandle=0EF561B0, float=00000000, double=0D74BBA0, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_cube_Up_RampFwdBwd" - Entering test case "check_cube_UpReUp_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 - DEBUG: m_rawBufferContents=12EA03D0,size=3000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: ### BrickletID 21 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12EA03D0,size=3000 - DEBUG: Axis mirroring: X=true, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: start=120, step=20, stop=200 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 - DEBUG: data_00021_Up_RampFwd: waveHandle=0EF568D0, float=00000000, double=0D695970, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00021_ReUp_RampFwd: waveHandle=0EF568E8, float=00000000, double=0F002480, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00021_Up_RampBwd: waveHandle=0EF56900, float=00000000, double=0B0B7C38, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00021_ReUp_RampBwd: waveHandle=0EF56918, float=00000000, double=0D74BBA0, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_cube_UpReUp_RampFwdBwd" - Entering test case "check_cube_Up_Down_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 - DEBUG: m_rawBufferContents=12F90508,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: ### BrickletID 88 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12F90508,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 - DEBUG: data_00088_Up_RampFwd: waveHandle=0EF56FD8, float=00000000, double=0F084560, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00088_Down_RampFwd: waveHandle=0EF56FF0, float=00000000, double=0F090E98, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_cube_Up_Down_RampFwd" - Entering test case "check_cube_ReUp_ReDown_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 - DEBUG: m_rawBufferContents=12FA2D00,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: ### BrickletID 91 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12FA2D00,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=450, step=50, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 - DEBUG: data_00091_ReUp_RampFwd: waveHandle=0EF577E8, float=00000000, double=0F084560, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00091_ReDown_RampFwd: waveHandle=0EF57800, float=00000000, double=0F090E98, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_cube_ReUp_ReDown_RampFwd" - Entering test case "check_cube_All_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 - DEBUG: m_rawBufferContents=12FAFD00,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: ### BrickletID 100 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12FAFD00,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 - DEBUG: data_00100_Up_RampFwd: waveHandle=0EF57DB8, float=00000000, double=0EFFCF08, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00100_ReUp_RampFwd: waveHandle=0EF57DD0, float=00000000, double=0DC92068, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00100_Down_RampFwd: waveHandle=0EF57DE8, float=00000000, double=0F077C28, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00100_ReDown_RampFwd: waveHandle=0EF57E00, float=00000000, double=0F0AD2C8, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_cube_All_RampFwd" - Entering test case "check_cube_All_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 - DEBUG: m_rawBufferContents=12FBCD00,size=25600 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: ### BrickletID 97 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12FBCD00,size=25600 - DEBUG: Axis mirroring: X=true, Y=true, Spec=true - DEBUG: Spec Axis: points 100, clocks 200 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 - DEBUG: data_00097_Up_RampFwd: waveHandle=0EF58688, float=00000000, double=0EFFCF08, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00097_ReUp_RampFwd: waveHandle=0EF586A0, float=00000000, double=0DC92068, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00097_Down_RampFwd: waveHandle=0EF586B8, float=00000000, double=0F016488, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00097_ReDown_RampFwd: waveHandle=0EF586D0, float=00000000, double=0F0AD2C8, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: data_00097_Up_RampBwd: waveHandle=0EF586E8, float=00000000, double=0F0B3800, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00097_ReUp_RampBwd: waveHandle=0EF58700, float=00000000, double=0F046498, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: data_00097_Down_RampBwd: waveHandle=0EF58718, float=00000000, double=0F04C9D0, moreData=true, traceDir=2, specialSuffix=_RampBwd - DEBUG: data_00097_ReDown_RampBwd: waveHandle=0EF58730, float=00000000, double=0F115950, moreData=true, traceDir=3, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "check_cube_All_RampFwdBwd" - Finished with no errors - Leaving test suite "Test_BrickletConversionDetails.ipf" - Entering test suite "Test_CheckForNewBricklets.ipf" - Entering test case "complains_no_file_open" - DEBUG: V_MatrixFileReaderDebug=0 (default) - Leaving test case "complains_no_file_open" - Entering test case "no_new_bricklets" - Leaving test case "no_new_bricklets" - Finished with no errors - Leaving test suite "Test_CheckForNewBricklets.ipf" - Entering test suite "Test_CloseResultFile.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "works" - Leaving test case "works" - Finished with no errors - Leaving test suite "Test_CloseResultFile.ipf" - Entering test suite "Test_CreateOverviewTable.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "complains_empty_keys" - Leaving test case "complains_empty_keys" - Entering test case "complains_not_with_invalid_keys" - Leaving test case "complains_not_with_invalid_keys" - Entering test case "complains_not_with_toolong_key" - Leaving test case "complains_not_with_toolong_key" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_one_wave_user_keys" - Leaving test case "creates_one_wave_user_keys" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_CreateOverviewTable.ipf" - Entering test suite "Test_GetBrickletCount.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "works_empty_file" - Leaving test case "works_empty_file" - Entering test case "check_with_filled_file" - Leaving test case "check_with_filled_file" - Finished with no errors - Leaving test suite "Test_GetBrickletCount.ipf" - Entering test suite "Test_GetBrickletData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "complains_invalid_ps" - Leaving test case "complains_invalid_ps" - Entering test case "valid_pixelsizes" - Leaving test case "valid_pixelsizes" - Entering test case "valid_ps_with_liberal_names" - Leaving test case "valid_ps_with_liberal_names" - Entering test case "read_one_bricklet" - Leaving test case "read_one_bricklet" - Entering test case "read_one_bricklet_df_name" - Leaving test case "read_one_bricklet_df_name" - Entering test case "read_one_bricklet_free_df" - Leaving test case "read_one_bricklet_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "setting_double" - Leaving test case "setting_double" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletData.ipf" - Entering test suite "Test_GetBrickletMetaData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletMetaData.ipf" - Entering test suite "Test_GetBrickletRawData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletRawData.ipf" - Entering test suite "Test_GetReportTemplate.ipf" - Entering test case "returns_non_empty_string" - #### -Windows version: 6.1 (Build 7601) -Free Memory: 26 GiB -Total Memory: 31 GiB -Used Memory by this XOP: 0 MiB -Visual Studio version: 1400 -Igor Pro Version: 703 -Vernissage version: V2.3.3 -XOP version: 0.251 (Build d041993) -Compilation date and time: Feb 19 2017 00:23:15 - -Your Name: -Bug description: -#### - - Leaving test case "returns_non_empty_string" - Finished with no errors - Leaving test suite "Test_GetReportTemplate.ipf" - Entering test suite "Test_GetResultFileMetaData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_waveName_ill_chars" - Leaving test case "complains_waveName_ill_chars" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "works_with_empty_file" - Leaving test case "works_with_empty_file" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "overwrites_if_told" - Leaving test case "overwrites_if_told" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetResultFileMetaData.ipf" - Entering test suite "Test_GetBrickletDeployData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletDeployData.ipf" - Entering test suite "Test_GetResultFileName.ipf" - Entering test case "file_names_are_empty" - Leaving test case "file_names_are_empty" - Entering test case "file_names_are_filled" - Leaving test case "file_names_are_filled" - Entering test case "file_names_with_corr_bs" - Leaving test case "file_names_with_corr_bs" - Finished with no errors - Leaving test suite "Test_GetResultFileName.ipf" - Entering test suite "Test_GetVernissageVersion.ipf" - Entering test case "vernissage_version_format" - Leaving test case "vernissage_version_format" - Finished with no errors - Leaving test suite "Test_GetVernissageVersion.ipf" - Entering test suite "Test_GetVersion.ipf" - Entering test case "version_format_is_correct" - Leaving test case "version_format_is_correct" - Finished with no errors - Leaving test suite "Test_GetVersion.ipf" - Entering test suite "Test_GetXOPErrorMessage.ipf" - Entering test case "check_that_messages_are_set" - No error, everything went nice and smooth. - A file is already open and it can only be one file open at a time. - The result file is empty, so there is little one can do here... - The file/folder (missing argument) is not readable. - There are no new bricklets in the result file. - The paramter (missing argument) is missing or wrong. Please consult the documentation. - The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data. - There is no result file open. - The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID. - The wave (missing argument) already exists. Please move/delete it first. - Leaving test case "check_that_messages_are_set" - Finished with no errors - Leaving test suite "Test_GetXOPErrorMessage.ipf" - Entering test suite "Test_OpenResultFile.ipf" - Entering test case "openResultFile_empty_file_path" - Leaving test case "openResultFile_empty_file_path" - Entering test case "openResultFile_non_exist_file" - Leaving test case "openResultFile_non_exist_file" - Entering test case "openResultFile_empty_file_K" - Leaving test case "openResultFile_empty_file_K" - Entering test case "openResultFile_non_exist_file_K" - Leaving test case "openResultFile_non_exist_file_K" - Entering test case "openResultFile_non_exist_path" - no symbolic path of that name - Leaving test case "openResultFile_non_exist_path" - Entering test case "openResultFile_non_exist_path_K" - no symbolic path of that name - Leaving test case "openResultFile_non_exist_path_K" - Entering test case "openResultFile_undefined_path" - Leaving test case "openResultFile_undefined_path" - Entering test case "openResultFile_undefined_path_K" - Leaving test case "openResultFile_undefined_path_K" - Entering test case "openResultFile_undef_path_file" - no symbolic path of that name - Leaving test case "openResultFile_undef_path_file" - Entering test case "openResultFile_nonexist_path" - Leaving test case "openResultFile_nonexist_path" - Entering test case "openResultFile_loading_works" - Leaving test case "openResultFile_loading_works" - Entering test case "openResultFile_loading_works_K" - Leaving test case "openResultFile_loading_works_K" - Entering test case "openResultFile_loading_path" - Leaving test case "openResultFile_loading_path" - Entering test case "openResultFile_already_open" - Leaving test case "openResultFile_already_open" - Finished with no errors - Leaving test suite "Test_OpenResultFile.ipf" - Test finished with no errors - End of test "MatrixFileReader XOP" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "check_image_All" - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=163A0020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=163A0020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=0D9C0350, float=00000000, double=117D0150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=0D9C3818, float=00000000, double=128A0150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=08454D00, float=00000000, double=16620150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=08454C40, float=00000000, double=16760150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "check_image_All" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder1:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder1:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=17480020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder1:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=17480020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=07392428, float=00000000, double=12620150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=07392440, float=00000000, double=17700150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=07392458, float=00000000, double=17840150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=07392470, float=00000000, double=17980150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "check_image_All" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder2:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder2:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=18100020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder2:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18100020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=07393328, float=00000000, double=129E0150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=07393340, float=00000000, double=175A0150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=07393358, float=00000000, double=17E80150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=07393370, float=00000000, double=186A0150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "check_image_All" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=18E20020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18E20020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=07398710, float=00000000, double=18BA0150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=07398728, float=00000000, double=193C0150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=07398740, float=00000000, double=19500150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=07398758, float=00000000, double=19640150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_image_All" - Entering test case "check_cube_Up_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 - DEBUG: m_rawBufferContents=137EB428,size=6250 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: ### BrickletID 1 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=137EB428,size=6250 - DEBUG: Axis mirroring: X=true, Y=false, Spec=false - DEBUG: Spec Axis: points 250, clocks 250 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 - DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 - DEBUG: data_00001_Up_RampFwd: waveHandle=07398F80, float=00000000, double=0DFBBCD0, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_Up_RampFwd" - Entering test case "check_cube_Up_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 - DEBUG: m_rawBufferContents=132F5BC8,size=1500 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: ### BrickletID 26 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=132F5BC8,size=1500 - DEBUG: Axis mirroring: X=false, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 - DEBUG: data_00026_Up_RampFwd: waveHandle=07399628, float=00000000, double=0F41A968, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00026_Up_RampBwd: waveHandle=07399640, float=00000000, double=0F41C270, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_Up_RampFwdBwd" - Entering test case "check_cube_UpReUp_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 - DEBUG: m_rawBufferContents=12DCD340,size=3000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: ### BrickletID 21 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12DCD340,size=3000 - DEBUG: Axis mirroring: X=true, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: start=120, step=20, stop=200 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 - DEBUG: data_00021_Up_RampFwd: waveHandle=07399D78, float=00000000, double=0F420D88, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00021_ReUp_RampFwd: waveHandle=07399D90, float=00000000, double=0F41DB78, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00021_Up_RampBwd: waveHandle=07399DA8, float=00000000, double=0F41F480, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00021_ReUp_RampBwd: waveHandle=07399DC0, float=00000000, double=0F41C270, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_UpReUp_RampFwdBwd" - Entering test case "check_cube_Up_Down_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 - DEBUG: m_rawBufferContents=1396AFE8,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: ### BrickletID 88 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=1396AFE8,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 - DEBUG: data_00088_Up_RampFwd: waveHandle=0DE9A968, float=00000000, double=0DF9F078, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00088_Down_RampFwd: waveHandle=0DE9A7D0, float=00000000, double=0A47DAA8, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_Up_Down_RampFwd" - Entering test case "check_cube_ReUp_ReDown_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 - DEBUG: m_rawBufferContents=13860F50,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: ### BrickletID 91 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=13860F50,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=450, step=50, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 - DEBUG: data_00091_ReUp_RampFwd: waveHandle=0DE9B298, float=00000000, double=0DF9F078, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00091_ReDown_RampFwd: waveHandle=0DE9B2E0, float=00000000, double=0A47DAA8, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_ReUp_ReDown_RampFwd" - Entering test case "check_cube_All_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 - DEBUG: m_rawBufferContents=1386D758,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: ### BrickletID 100 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=1386D758,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 - DEBUG: data_00100_Up_RampFwd: waveHandle=0DE9C000, float=00000000, double=0F3F2300, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00100_ReUp_RampFwd: waveHandle=0DE9C210, float=00000000, double=0DF9F078, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00100_Down_RampFwd: waveHandle=0DE9CB58, float=00000000, double=0DFA55B0, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00100_ReDown_RampFwd: waveHandle=0DE9C180, float=00000000, double=0A47DAA8, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_All_RampFwd" - Entering test case "check_cube_All_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 - DEBUG: m_rawBufferContents=13879F58,size=25600 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: ### BrickletID 97 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=13879F58,size=25600 - DEBUG: Axis mirroring: X=true, Y=true, Spec=true - DEBUG: Spec Axis: points 100, clocks 200 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 - DEBUG: data_00097_Up_RampFwd: waveHandle=0DE9AD28, float=00000000, double=0F10E848, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00097_ReUp_RampFwd: waveHandle=0DE9C750, float=00000000, double=0F3F2300, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00097_Down_RampFwd: waveHandle=0DE9C768, float=00000000, double=0DFBBCD0, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00097_ReDown_RampFwd: waveHandle=0DE9C780, float=00000000, double=0DF9F078, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: data_00097_Up_RampBwd: waveHandle=0DE9CFC0, float=00000000, double=0DFA55B0, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00097_ReUp_RampBwd: waveHandle=0DE9C720, float=00000000, double=0A47DAA8, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: data_00097_Down_RampBwd: waveHandle=0DE9C798, float=00000000, double=0A483FE0, moreData=true, traceDir=2, specialSuffix=_RampBwd - DEBUG: data_00097_ReDown_RampBwd: waveHandle=0DE9C7B0, float=00000000, double=0DBD39F8, moreData=true, traceDir=3, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_All_RampFwdBwd" - Failed with 8 errors - Leaving test suite "Test_BrickletConversionDetails.ipf" - Entering test suite "Test_CheckForNewBricklets.ipf" - Entering test case "complains_no_file_open" - DEBUG: V_MatrixFileReaderDebug=0 (default) - Leaving test case "complains_no_file_open" - Entering test case "no_new_bricklets" - Leaving test case "no_new_bricklets" - Finished with no errors - Leaving test suite "Test_CheckForNewBricklets.ipf" - Entering test suite "Test_CloseResultFile.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "works" - Leaving test case "works" - Finished with no errors - Leaving test suite "Test_CloseResultFile.ipf" - Entering test suite "Test_CreateOverviewTable.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Uncaught runtime error "" in test case "complains_empty_file", procedure "Test_CreateOverviewTable.ipf" - The test case "complains_empty_file" did not make any assertions! - Leaving test case "complains_empty_file" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Uncaught runtime error "" in test case "complains_baseName_ill_chars", procedure "Test_CreateOverviewTable.ipf" - The test case "complains_baseName_ill_chars" did not make any assertions! - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Uncaught runtime error "" in test case "complains_empty_df", procedure "Test_CreateOverviewTable.ipf" - The test case "complains_empty_df" did not make any assertions! - Leaving test case "complains_empty_df" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "check_image_All" - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=19640020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder3:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=19640020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=0DE9A200, float=00000000, double=13500150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=0DE99E10, float=00000000, double=13F60150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=0DE9A278, float=00000000, double=182D0150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=0DE99D80, float=00000000, double=18BA0150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "check_image_All" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=1A720020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=1A720020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=07395230, float=00000000, double=18100150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=07398320, float=00000000, double=19C80150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=07395200, float=00000000, double=1A9A0150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=07395248, float=00000000, double=1AAE0150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_image_All" - Entering test case "check_cube_Up_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 - DEBUG: m_rawBufferContents=137EB428,size=6250 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: ### BrickletID 1 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=137EB428,size=6250 - DEBUG: Axis mirroring: X=true, Y=false, Spec=false - DEBUG: Spec Axis: points 250, clocks 250 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 - DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 - DEBUG: data_00001_Up_RampFwd: waveHandle=0DE9A2A8, float=00000000, double=0DBD39F8, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_Up_RampFwd" - Entering test case "check_cube_Up_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 - DEBUG: m_rawBufferContents=141B2580,size=1500 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: ### BrickletID 26 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=141B2580,size=1500 - DEBUG: Axis mirroring: X=false, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 - DEBUG: data_00026_Up_RampFwd: waveHandle=0DB6DD68, float=00000000, double=0F217270, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00026_Up_RampBwd: waveHandle=0DB69760, float=00000000, double=0F218B78, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_Up_RampFwdBwd" - Entering test case "check_cube_UpReUp_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 - DEBUG: m_rawBufferContents=12F2FE58,size=3000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: ### BrickletID 21 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12F2FE58,size=3000 - DEBUG: Axis mirroring: X=true, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: start=120, step=20, stop=200 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 - DEBUG: data_00021_Up_RampFwd: waveHandle=0E0730B8, float=00000000, double=0F21D690, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00021_ReUp_RampFwd: waveHandle=0E0730D0, float=00000000, double=0F21A480, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00021_Up_RampBwd: waveHandle=0E0730E8, float=00000000, double=0F21BD88, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00021_ReUp_RampBwd: waveHandle=0E073100, float=00000000, double=0F218B78, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_UpReUp_RampFwdBwd" - Entering test case "check_cube_Up_Down_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 - DEBUG: m_rawBufferContents=13083410,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: ### BrickletID 88 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=13083410,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 - DEBUG: data_00088_Up_RampFwd: waveHandle=0E073FE8, float=00000000, double=0DBD39F8, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00088_Down_RampFwd: waveHandle=0E074000, float=00000000, double=0A47DAA8, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_Up_Down_RampFwd" - Entering test case "check_cube_ReUp_ReDown_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 - DEBUG: m_rawBufferContents=13083410,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: ### BrickletID 91 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=13083410,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=450, step=50, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 - DEBUG: data_00091_ReUp_RampFwd: waveHandle=0E074810, float=00000000, double=0DBD39F8, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00091_ReDown_RampFwd: waveHandle=0E074828, float=00000000, double=0F614360, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_ReUp_ReDown_RampFwd" - Entering test case "check_cube_All_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 - DEBUG: m_rawBufferContents=13083410,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: ### BrickletID 100 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=13083410,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 - DEBUG: data_00100_Up_RampFwd: waveHandle=0E074DF8, float=00000000, double=0DBD39F8, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00100_ReUp_RampFwd: waveHandle=0E074E10, float=00000000, double=0DBD9F30, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00100_Down_RampFwd: waveHandle=0E074E28, float=00000000, double=0A47DAA8, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00100_ReDown_RampFwd: waveHandle=0E074E40, float=00000000, double=0A483FE0, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_All_RampFwd" - Entering test case "check_cube_All_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 - DEBUG: m_rawBufferContents=1368E198,size=25600 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: ### BrickletID 97 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=1368E198,size=25600 - DEBUG: Axis mirroring: X=true, Y=true, Spec=true - DEBUG: Spec Axis: points 100, clocks 200 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 - DEBUG: data_00097_Up_RampFwd: waveHandle=0E0756B0, float=00000000, double=0A47DAA8, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00097_ReUp_RampFwd: waveHandle=0E0756C8, float=00000000, double=0A483FE0, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00097_Down_RampFwd: waveHandle=0E0756E0, float=00000000, double=0DBD39F8, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00097_ReDown_RampFwd: waveHandle=0E0756F8, float=00000000, double=0DBD9F30, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: data_00097_Up_RampBwd: waveHandle=0E075710, float=00000000, double=0F614360, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00097_ReUp_RampBwd: waveHandle=0E075728, float=00000000, double=0F61A898, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: data_00097_Down_RampBwd: waveHandle=0E075740, float=00000000, double=0F0F4C78, moreData=true, traceDir=2, specialSuffix=_RampBwd - DEBUG: data_00097_ReDown_RampBwd: waveHandle=0E075758, float=00000000, double=0F0FB1B0, moreData=true, traceDir=3, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Assertion "CHECK(0)" failed in line 30, procedure "Test_BrickletConversionDetails.ipf" - Leaving test case "check_cube_All_RampFwdBwd" - Failed with 8 errors - Leaving test suite "Test_BrickletConversionDetails.ipf" - Entering test suite "Test_CheckForNewBricklets.ipf" - Entering test case "complains_no_file_open" - DEBUG: V_MatrixFileReaderDebug=0 (default) - Leaving test case "complains_no_file_open" - Entering test case "no_new_bricklets" - Leaving test case "no_new_bricklets" - Finished with no errors - Leaving test suite "Test_CheckForNewBricklets.ipf" - Entering test suite "Test_CloseResultFile.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "works" - Leaving test case "works" - Finished with no errors - Leaving test suite "Test_CloseResultFile.ipf" - Entering test suite "Test_CreateOverviewTable.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "complains_empty_keys" - Leaving test case "complains_empty_keys" - Entering test case "complains_not_with_invalid_keys" - Leaving test case "complains_not_with_invalid_keys" - Entering test case "complains_not_with_toolong_key" - Leaving test case "complains_not_with_toolong_key" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_one_wave_user_keys" - Leaving test case "creates_one_wave_user_keys" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_CreateOverviewTable.ipf" - Entering test suite "Test_GetBrickletCount.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "works_empty_file" - Leaving test case "works_empty_file" - Entering test case "check_with_filled_file" - Leaving test case "check_with_filled_file" - Finished with no errors - Leaving test suite "Test_GetBrickletCount.ipf" - Entering test suite "Test_GetBrickletData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "complains_invalid_ps" - Leaving test case "complains_invalid_ps" - Entering test case "valid_pixelsizes" - Leaving test case "valid_pixelsizes" - Entering test case "valid_ps_with_liberal_names" - Leaving test case "valid_ps_with_liberal_names" - Entering test case "read_one_bricklet" - Leaving test case "read_one_bricklet" - Entering test case "read_one_bricklet_df_name" - Leaving test case "read_one_bricklet_df_name" - Entering test case "read_one_bricklet_free_df" - Leaving test case "read_one_bricklet_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "setting_double" - Leaving test case "setting_double" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletData.ipf" - Entering test suite "Test_GetBrickletMetaData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletMetaData.ipf" - Entering test suite "Test_GetBrickletRawData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletRawData.ipf" - Entering test suite "Test_GetReportTemplate.ipf" - Entering test case "returns_non_empty_string" - #### -Windows version: 6.1 (Build 7601) -Free Memory: 26 GiB -Total Memory: 31 GiB -Used Memory by this XOP: 0 MiB -Visual Studio version: 1400 -Igor Pro Version: 703 -Vernissage version: V2.3.3 -XOP version: 0.251 (Build d041993) -Compilation date and time: Feb 19 2017 00:23:15 - -Your Name: -Bug description: -#### - - Leaving test case "returns_non_empty_string" - Finished with no errors - Leaving test suite "Test_GetReportTemplate.ipf" - Entering test suite "Test_GetResultFileMetaData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_waveName_ill_chars" - Leaving test case "complains_waveName_ill_chars" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "works_with_empty_file" - Leaving test case "works_with_empty_file" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "overwrites_if_told" - Leaving test case "overwrites_if_told" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetResultFileMetaData.ipf" - Entering test suite "Test_GetBrickletDeployData.ipf" - Entering test case "complains_no_file_open" - Leaving test case "complains_no_file_open" - Entering test case "complains_empty_file" - Leaving test case "complains_empty_file" - Entering test case "complains_invalid_range" - Leaving test case "complains_invalid_range" - Entering test case "complains_empty_wavename" - Leaving test case "complains_empty_wavename" - Entering test case "complains_wavename_toolong" - Leaving test case "complains_wavename_toolong" - Entering test case "complains_baseName_ill_chars" - Leaving test case "complains_baseName_ill_chars" - Entering test case "complains_empty_df" - Leaving test case "complains_empty_df" - Entering test case "complains_invalid_df" - Leaving test case "complains_invalid_df" - Entering test case "complains_deleted_df" - Leaving test case "complains_deleted_df" - Entering test case "creates_one_wave" - Leaving test case "creates_one_wave" - Entering test case "creates_one_wave_df_name" - Leaving test case "creates_one_wave_df_name" - Entering test case "creates_one_wave_free_df" - Leaving test case "creates_one_wave_free_df" - Entering test case "creates_waves" - Leaving test case "creates_waves" - Entering test case "does_not_overwrite_by_default" - Leaving test case "does_not_overwrite_by_default" - Entering test case "setting_overwrite" - Leaving test case "setting_overwrite" - Entering test case "setting_datafolder" - Leaving test case "setting_datafolder" - Entering test case "prefers_dfref_settings" - Leaving test case "prefers_dfref_settings" - Entering test case "liberal_wave_name_works" - Leaving test case "liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletDeployData.ipf" - Entering test suite "Test_GetResultFileName.ipf" - Entering test case "file_names_are_empty" - Leaving test case "file_names_are_empty" - Entering test case "file_names_are_filled" - Leaving test case "file_names_are_filled" - Entering test case "file_names_with_corr_bs" - Leaving test case "file_names_with_corr_bs" - Finished with no errors - Leaving test suite "Test_GetResultFileName.ipf" - Entering test suite "Test_GetVernissageVersion.ipf" - Entering test case "vernissage_version_format" - Leaving test case "vernissage_version_format" - Finished with no errors - Leaving test suite "Test_GetVernissageVersion.ipf" - Entering test suite "Test_GetVersion.ipf" - Entering test case "version_format_is_correct" - Leaving test case "version_format_is_correct" - Finished with no errors - Leaving test suite "Test_GetVersion.ipf" - Entering test suite "Test_GetXOPErrorMessage.ipf" - Entering test case "check_that_messages_are_set" - No error, everything went nice and smooth. - A file is already open and it can only be one file open at a time. - The result file is empty, so there is little one can do here... - The file/folder (missing argument) is not readable. - There are no new bricklets in the result file. - The paramter (missing argument) is missing or wrong. Please consult the documentation. - The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data. - There is no result file open. - The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID. - The wave (missing argument) already exists. Please move/delete it first. - Leaving test case "check_that_messages_are_set" - Finished with no errors - Leaving test suite "Test_GetXOPErrorMessage.ipf" - Entering test suite "Test_OpenResultFile.ipf" - Entering test case "openResultFile_empty_file_path" - Leaving test case "openResultFile_empty_file_path" - Entering test case "openResultFile_non_exist_file" - Leaving test case "openResultFile_non_exist_file" - Entering test case "openResultFile_empty_file_K" - Leaving test case "openResultFile_empty_file_K" - Entering test case "openResultFile_non_exist_file_K" - Leaving test case "openResultFile_non_exist_file_K" - Entering test case "openResultFile_non_exist_path" - no symbolic path of that name - Leaving test case "openResultFile_non_exist_path" - Entering test case "openResultFile_non_exist_path_K" - no symbolic path of that name - Leaving test case "openResultFile_non_exist_path_K" - Entering test case "openResultFile_undefined_path" - Leaving test case "openResultFile_undefined_path" - Entering test case "openResultFile_undefined_path_K" - Leaving test case "openResultFile_undefined_path_K" - Entering test case "openResultFile_undef_path_file" - no symbolic path of that name - Leaving test case "openResultFile_undef_path_file" - Entering test case "openResultFile_nonexist_path" - Leaving test case "openResultFile_nonexist_path" - Entering test case "openResultFile_loading_works" - Leaving test case "openResultFile_loading_works" - Entering test case "openResultFile_loading_works_K" - Leaving test case "openResultFile_loading_works_K" - Entering test case "openResultFile_loading_path" - Leaving test case "openResultFile_loading_path" - Entering test case "openResultFile_already_open" - Leaving test case "openResultFile_already_open" - Finished with no errors - Leaving test suite "Test_OpenResultFile.ipf" - Test finished with 8 errors - End of test "MatrixFileReader XOP" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "BrickletConversionDetails#check_image_All" - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=19530020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=19530020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=11919328, float=00000000, double=197B0150, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=11919340, float=00000000, double=198F0150, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=11919358, float=00000000, double=19A30150, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=11919370, float=00000000, double=19B70150, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_image_All" - Entering test case "BrickletConversionDetails#check_cube_Up_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 - DEBUG: m_rawBufferContents=0B052930,size=6250 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: ### BrickletID 1 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=0B052930,size=6250 - DEBUG: Axis mirroring: X=true, Y=false, Spec=false - DEBUG: Spec Axis: points 250, clocks 250 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 - DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 - DEBUG: data_00001_Up_RampFwd: waveHandle=11FC4F98, float=00000000, double=12227E48, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 - DEBUG: m_rawBufferContents=18E35B00,size=1500 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: ### BrickletID 26 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18E35B00,size=1500 - DEBUG: Axis mirroring: X=false, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 - DEBUG: data_00026_Up_RampFwd: waveHandle=0DC9BF30, float=00000000, double=11810AF8, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00026_Up_RampBwd: waveHandle=0DC9BF48, float=00000000, double=11809600, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" - Entering test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 - DEBUG: m_rawBufferContents=18D2F668,size=3000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: ### BrickletID 21 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18D2F668,size=3000 - DEBUG: Axis mirroring: X=true, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: start=120, step=20, stop=200 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 - DEBUG: data_00021_Up_RampFwd: waveHandle=0E6DACD0, float=00000000, double=1180C618, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00021_ReUp_RampFwd: waveHandle=0E6DACE8, float=00000000, double=11810AF8, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00021_Up_RampBwd: waveHandle=0E6DAD00, float=00000000, double=118055F0, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00021_ReUp_RampBwd: waveHandle=0E6DAD18, float=00000000, double=11806E98, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" - Entering test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 - DEBUG: m_rawBufferContents=18F41220,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: ### BrickletID 88 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18F41220,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 - DEBUG: data_00088_Up_RampFwd: waveHandle=077E8DE8, float=00000000, double=12239790, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00088_Down_RampFwd: waveHandle=077E8E00, float=00000000, double=122460C8, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 - DEBUG: m_rawBufferContents=18F54E90,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: ### BrickletID 91 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18F54E90,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=450, step=50, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 - DEBUG: data_00091_ReUp_RampFwd: waveHandle=1207CE10, float=00000000, double=193C3AC0, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00091_ReDown_RampFwd: waveHandle=1207CE28, float=00000000, double=193D03F8, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_All_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 - DEBUG: m_rawBufferContents=18F62C68,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: ### BrickletID 100 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18F62C68,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 - DEBUG: data_00100_Up_RampFwd: waveHandle=1207B740, float=00000000, double=193C4AC0, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00100_ReUp_RampFwd: waveHandle=1207B758, float=00000000, double=193CAFF8, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00100_Down_RampFwd: waveHandle=1207B770, float=00000000, double=193D1530, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00100_ReDown_RampFwd: waveHandle=1207B788, float=00000000, double=193D7A68, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_All_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 - DEBUG: m_rawBufferContents=18F8A808,size=25600 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: ### BrickletID 97 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=18F8A808,size=25600 - DEBUG: Axis mirroring: X=true, Y=true, Spec=true - DEBUG: Spec Axis: points 100, clocks 200 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 - DEBUG: data_00097_Up_RampFwd: waveHandle=193F1F28, float=00000000, double=193E87B0, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00097_ReUp_RampFwd: waveHandle=193F1F40, float=00000000, double=193D32C0, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00097_Down_RampFwd: waveHandle=193F1F58, float=00000000, double=193D97F8, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00097_ReDown_RampFwd: waveHandle=193F1F70, float=00000000, double=193DFD30, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: data_00097_Up_RampBwd: waveHandle=193F1F88, float=00000000, double=12227E48, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00097_ReUp_RampBwd: waveHandle=193F1FA0, float=00000000, double=1222E380, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: data_00097_Down_RampBwd: waveHandle=193F1FB8, float=00000000, double=122348B8, moreData=true, traceDir=2, specialSuffix=_RampBwd - DEBUG: data_00097_ReDown_RampBwd: waveHandle=1180AFB8, float=00000000, double=1223ADF0, moreData=true, traceDir=3, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" - Finished with no errors - Leaving test suite "Test_BrickletConversionDetails.ipf" - Entering test suite "Test_CheckForNewBricklets.ipf" - Entering test case "CheckForNewBricklets#complains_no_file_open" - DEBUG: V_MatrixFileReaderDebug=0 (default) - Leaving test case "CheckForNewBricklets#complains_no_file_open" - Entering test case "CheckForNewBricklets#no_new_bricklets" - Leaving test case "CheckForNewBricklets#no_new_bricklets" - Finished with no errors - Leaving test suite "Test_CheckForNewBricklets.ipf" - Entering test suite "Test_CloseResultFile.ipf" - Entering test case "CloseResultFile#complains_no_file_open" - Leaving test case "CloseResultFile#complains_no_file_open" - Entering test case "CloseResultFile#works" - Leaving test case "CloseResultFile#works" - Finished with no errors - Leaving test suite "Test_CloseResultFile.ipf" - Entering test suite "Test_CreateOverviewTable.ipf" - Entering test case "CreateOverviewTable#complains_no_file_open" - Leaving test case "CreateOverviewTable#complains_no_file_open" - Entering test case "CreateOverviewTable#complains_empty_file" - Leaving test case "CreateOverviewTable#complains_empty_file" - Entering test case "CreateOverviewTable#complains_empty_wavename" - Leaving test case "CreateOverviewTable#complains_empty_wavename" - Entering test case "CreateOverviewTable#complains_wavename_toolong" - Leaving test case "CreateOverviewTable#complains_wavename_toolong" - Entering test case "CreateOverviewTable#complains_baseName_ill_chars" - Leaving test case "CreateOverviewTable#complains_baseName_ill_chars" - Entering test case "CreateOverviewTable#complains_empty_df" - Leaving test case "CreateOverviewTable#complains_empty_df" - Entering test case "CreateOverviewTable#complains_invalid_df" - Leaving test case "CreateOverviewTable#complains_invalid_df" - Entering test case "CreateOverviewTable#complains_deleted_df" - Leaving test case "CreateOverviewTable#complains_deleted_df" - Entering test case "CreateOverviewTable#complains_empty_keys" - Leaving test case "CreateOverviewTable#complains_empty_keys" - Entering test case "CreateOverviewTable#complains_not_with_invalid_keys" - Leaving test case "CreateOverviewTable#complains_not_with_invalid_keys" - Entering test case "CreateOverviewTable#complains_not_with_toolong_key" - Leaving test case "CreateOverviewTable#complains_not_with_toolong_key" - Entering test case "CreateOverviewTable#creates_one_wave" - Leaving test case "CreateOverviewTable#creates_one_wave" - Entering test case "CreateOverviewTable#creates_one_wave_df_name" - Leaving test case "CreateOverviewTable#creates_one_wave_df_name" - Entering test case "CreateOverviewTable#creates_one_wave_free_df" - Leaving test case "CreateOverviewTable#creates_one_wave_free_df" - Entering test case "CreateOverviewTable#creates_one_wave_user_keys" - Leaving test case "CreateOverviewTable#creates_one_wave_user_keys" - Entering test case "CreateOverviewTable#does_not_overwrite_by_default" - Leaving test case "CreateOverviewTable#does_not_overwrite_by_default" - Entering test case "CreateOverviewTable#setting_overwrite" - Leaving test case "CreateOverviewTable#setting_overwrite" - Entering test case "CreateOverviewTable#prefers_dfref_settings" - Leaving test case "CreateOverviewTable#prefers_dfref_settings" - Entering test case "CreateOverviewTable#liberal_wave_name_works" - Leaving test case "CreateOverviewTable#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_CreateOverviewTable.ipf" - Entering test suite "Test_GetBrickletCount.ipf" - Entering test case "GetBrickletCount#complains_no_file_open" - Leaving test case "GetBrickletCount#complains_no_file_open" - Entering test case "GetBrickletCount#works_empty_file" - Leaving test case "GetBrickletCount#works_empty_file" - Entering test case "GetBrickletCount#check_with_filled_file" - Leaving test case "GetBrickletCount#check_with_filled_file" - Finished with no errors - Leaving test suite "Test_GetBrickletCount.ipf" - Entering test suite "Test_GetBrickletData.ipf" - Entering test case "GetBrickletData#complains_no_file_open" - Leaving test case "GetBrickletData#complains_no_file_open" - Entering test case "GetBrickletData#complains_empty_file" - Leaving test case "GetBrickletData#complains_empty_file" - Entering test case "GetBrickletData#complains_invalid_range" - Leaving test case "GetBrickletData#complains_invalid_range" - Entering test case "GetBrickletData#complains_empty_wavename" - Leaving test case "GetBrickletData#complains_empty_wavename" - Entering test case "GetBrickletData#complains_wavename_toolong" - Leaving test case "GetBrickletData#complains_wavename_toolong" - Entering test case "GetBrickletData#complains_baseName_ill_chars" - Leaving test case "GetBrickletData#complains_baseName_ill_chars" - Entering test case "GetBrickletData#complains_empty_df" - Leaving test case "GetBrickletData#complains_empty_df" - Entering test case "GetBrickletData#complains_invalid_df" - Leaving test case "GetBrickletData#complains_invalid_df" - Entering test case "GetBrickletData#complains_deleted_df" - Leaving test case "GetBrickletData#complains_deleted_df" - Entering test case "GetBrickletData#complains_invalid_ps" - Leaving test case "GetBrickletData#complains_invalid_ps" - Entering test case "GetBrickletData#valid_pixelsizes" - Leaving test case "GetBrickletData#valid_pixelsizes" - Entering test case "GetBrickletData#valid_ps_with_liberal_names" - Leaving test case "GetBrickletData#valid_ps_with_liberal_names" - Entering test case "GetBrickletData#read_one_bricklet" - Leaving test case "GetBrickletData#read_one_bricklet" - Entering test case "GetBrickletData#read_one_bricklet_df_name" - Leaving test case "GetBrickletData#read_one_bricklet_df_name" - Entering test case "GetBrickletData#read_one_bricklet_free_df" - Leaving test case "GetBrickletData#read_one_bricklet_free_df" - Entering test case "GetBrickletData#creates_waves" - Leaving test case "GetBrickletData#creates_waves" - Entering test case "GetBrickletData#does_not_overwrite_by_default" - Leaving test case "GetBrickletData#does_not_overwrite_by_default" - Entering test case "GetBrickletData#setting_overwrite" - Leaving test case "GetBrickletData#setting_overwrite" - Entering test case "GetBrickletData#setting_datafolder" - Leaving test case "GetBrickletData#setting_datafolder" - Entering test case "GetBrickletData#setting_double" - Leaving test case "GetBrickletData#setting_double" - Entering test case "GetBrickletData#prefers_dfref_settings" - Leaving test case "GetBrickletData#prefers_dfref_settings" - Entering test case "GetBrickletData#liberal_wave_name_works" - Leaving test case "GetBrickletData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletData.ipf" - Entering test suite "Test_GetBrickletMetaData.ipf" - Entering test case "GetBrickletMetaData#complains_no_file_open" - Leaving test case "GetBrickletMetaData#complains_no_file_open" - Entering test case "GetBrickletMetaData#complains_empty_file" - Leaving test case "GetBrickletMetaData#complains_empty_file" - Entering test case "GetBrickletMetaData#complains_invalid_range" - Leaving test case "GetBrickletMetaData#complains_invalid_range" - Entering test case "GetBrickletMetaData#complains_empty_wavename" - Leaving test case "GetBrickletMetaData#complains_empty_wavename" - Entering test case "GetBrickletMetaData#complains_wavename_toolong" - Leaving test case "GetBrickletMetaData#complains_wavename_toolong" - Entering test case "GetBrickletMetaData#complains_baseName_ill_chars" - Leaving test case "GetBrickletMetaData#complains_baseName_ill_chars" - Entering test case "GetBrickletMetaData#complains_empty_df" - Leaving test case "GetBrickletMetaData#complains_empty_df" - Entering test case "GetBrickletMetaData#complains_invalid_df" - Leaving test case "GetBrickletMetaData#complains_invalid_df" - Entering test case "GetBrickletMetaData#complains_deleted_df" - Leaving test case "GetBrickletMetaData#complains_deleted_df" - Entering test case "GetBrickletMetaData#creates_one_wave" - Leaving test case "GetBrickletMetaData#creates_one_wave" - Entering test case "GetBrickletMetaData#creates_one_wave_df_name" - Leaving test case "GetBrickletMetaData#creates_one_wave_df_name" - Entering test case "GetBrickletMetaData#creates_one_wave_free_df" - Leaving test case "GetBrickletMetaData#creates_one_wave_free_df" - Entering test case "GetBrickletMetaData#creates_waves" - Leaving test case "GetBrickletMetaData#creates_waves" - Entering test case "GetBrickletMetaData#does_not_overwrite_by_default" - Leaving test case "GetBrickletMetaData#does_not_overwrite_by_default" - Entering test case "GetBrickletMetaData#setting_overwrite" - Leaving test case "GetBrickletMetaData#setting_overwrite" - Entering test case "GetBrickletMetaData#setting_datafolder" - Leaving test case "GetBrickletMetaData#setting_datafolder" - Entering test case "GetBrickletMetaData#prefers_dfref_settings" - Leaving test case "GetBrickletMetaData#prefers_dfref_settings" - Entering test case "GetBrickletMetaData#liberal_wave_name_works" - Leaving test case "GetBrickletMetaData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletMetaData.ipf" - Entering test suite "Test_GetBrickletRawData.ipf" - Entering test case "GetBrickletRawData#complains_no_file_open" - Leaving test case "GetBrickletRawData#complains_no_file_open" - Entering test case "GetBrickletRawData#complains_empty_file" - Leaving test case "GetBrickletRawData#complains_empty_file" - Entering test case "GetBrickletRawData#complains_invalid_range" - Leaving test case "GetBrickletRawData#complains_invalid_range" - Entering test case "GetBrickletRawData#complains_empty_wavename" - Leaving test case "GetBrickletRawData#complains_empty_wavename" - Entering test case "GetBrickletRawData#complains_wavename_toolong" - Leaving test case "GetBrickletRawData#complains_wavename_toolong" - Entering test case "GetBrickletRawData#complains_baseName_ill_chars" - Leaving test case "GetBrickletRawData#complains_baseName_ill_chars" - Entering test case "GetBrickletRawData#complains_empty_df" - Leaving test case "GetBrickletRawData#complains_empty_df" - Entering test case "GetBrickletRawData#complains_invalid_df" - Leaving test case "GetBrickletRawData#complains_invalid_df" - Entering test case "GetBrickletRawData#complains_deleted_df" - Leaving test case "GetBrickletRawData#complains_deleted_df" - Entering test case "GetBrickletRawData#creates_one_wave" - Leaving test case "GetBrickletRawData#creates_one_wave" - Entering test case "GetBrickletRawData#creates_one_wave_df_name" - Leaving test case "GetBrickletRawData#creates_one_wave_df_name" - Entering test case "GetBrickletRawData#creates_one_wave_free_df" - Leaving test case "GetBrickletRawData#creates_one_wave_free_df" - Entering test case "GetBrickletRawData#creates_waves" - Leaving test case "GetBrickletRawData#creates_waves" - Entering test case "GetBrickletRawData#does_not_overwrite_by_default" - Leaving test case "GetBrickletRawData#does_not_overwrite_by_default" - Entering test case "GetBrickletRawData#setting_overwrite" - Leaving test case "GetBrickletRawData#setting_overwrite" - Entering test case "GetBrickletRawData#setting_datafolder" - Leaving test case "GetBrickletRawData#setting_datafolder" - Entering test case "GetBrickletRawData#prefers_dfref_settings" - Leaving test case "GetBrickletRawData#prefers_dfref_settings" - Entering test case "GetBrickletRawData#liberal_wave_name_works" - Leaving test case "GetBrickletRawData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletRawData.ipf" - Entering test suite "Test_GetReportTemplate.ipf" - Entering test case "GetReportTemplate#returns_non_empty_string" - #### -Windows version: 6.1 (Build 7601) -Free Memory: 56 GiB -Total Memory: 63 GiB -Used Memory by this XOP: 0 MiB -Visual Studio version: 1400 -Igor Pro Version: 705 -Vernissage version: V2.3.3 -XOP version: 0.251 (Build fc5a5e1) -Compilation date and time: Jun 29 2017 15:40:35 - -Your Name: -Bug description: -#### - - Leaving test case "GetReportTemplate#returns_non_empty_string" - Finished with no errors - Leaving test suite "Test_GetReportTemplate.ipf" - Entering test suite "Test_GetResultFileMetaData.ipf" - Entering test case "GetResultFileMetaData#complains_no_file_open" - Leaving test case "GetResultFileMetaData#complains_no_file_open" - Entering test case "GetResultFileMetaData#complains_empty_wavename" - Leaving test case "GetResultFileMetaData#complains_empty_wavename" - Entering test case "GetResultFileMetaData#complains_wavename_toolong" - Leaving test case "GetResultFileMetaData#complains_wavename_toolong" - Entering test case "GetResultFileMetaData#complains_empty_df" - Leaving test case "GetResultFileMetaData#complains_empty_df" - Entering test case "GetResultFileMetaData#complains_invalid_df" - Leaving test case "GetResultFileMetaData#complains_invalid_df" - Entering test case "GetResultFileMetaData#complains_waveName_ill_chars" - Leaving test case "GetResultFileMetaData#complains_waveName_ill_chars" - Entering test case "GetResultFileMetaData#complains_deleted_df" - Leaving test case "GetResultFileMetaData#complains_deleted_df" - Entering test case "GetResultFileMetaData#works_with_empty_file" - Leaving test case "GetResultFileMetaData#works_with_empty_file" - Entering test case "GetResultFileMetaData#creates_one_wave" - Leaving test case "GetResultFileMetaData#creates_one_wave" - Entering test case "GetResultFileMetaData#creates_one_wave_df_name" - Leaving test case "GetResultFileMetaData#creates_one_wave_df_name" - Entering test case "GetResultFileMetaData#creates_one_wave_free_df" - Leaving test case "GetResultFileMetaData#creates_one_wave_free_df" - Entering test case "GetResultFileMetaData#does_not_overwrite_by_default" - Leaving test case "GetResultFileMetaData#does_not_overwrite_by_default" - Entering test case "GetResultFileMetaData#overwrites_if_told" - Leaving test case "GetResultFileMetaData#overwrites_if_told" - Entering test case "GetResultFileMetaData#liberal_wave_name_works" - Leaving test case "GetResultFileMetaData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetResultFileMetaData.ipf" - Entering test suite "Test_GetBrickletDeployData.ipf" - Entering test case "GetBrickletDeployData#complains_no_file_open" - Leaving test case "GetBrickletDeployData#complains_no_file_open" - Entering test case "GetBrickletDeployData#complains_empty_file" - Leaving test case "GetBrickletDeployData#complains_empty_file" - Entering test case "GetBrickletDeployData#complains_invalid_range" - Leaving test case "GetBrickletDeployData#complains_invalid_range" - Entering test case "GetBrickletDeployData#complains_empty_wavename" - Leaving test case "GetBrickletDeployData#complains_empty_wavename" - Entering test case "GetBrickletDeployData#complains_wavename_toolong" - Leaving test case "GetBrickletDeployData#complains_wavename_toolong" - Entering test case "GetBrickletDeployData#complains_baseName_ill_chars" - Leaving test case "GetBrickletDeployData#complains_baseName_ill_chars" - Entering test case "GetBrickletDeployData#complains_empty_df" - Leaving test case "GetBrickletDeployData#complains_empty_df" - Entering test case "GetBrickletDeployData#complains_invalid_df" - Leaving test case "GetBrickletDeployData#complains_invalid_df" - Entering test case "GetBrickletDeployData#complains_deleted_df" - Leaving test case "GetBrickletDeployData#complains_deleted_df" - Entering test case "GetBrickletDeployData#creates_one_wave" - Leaving test case "GetBrickletDeployData#creates_one_wave" - Entering test case "GetBrickletDeployData#creates_one_wave_df_name" - Leaving test case "GetBrickletDeployData#creates_one_wave_df_name" - Entering test case "GetBrickletDeployData#creates_one_wave_free_df" - Leaving test case "GetBrickletDeployData#creates_one_wave_free_df" - Entering test case "GetBrickletDeployData#creates_waves" - Leaving test case "GetBrickletDeployData#creates_waves" - Entering test case "GetBrickletDeployData#does_not_overwrite_by_default" - Leaving test case "GetBrickletDeployData#does_not_overwrite_by_default" - Entering test case "GetBrickletDeployData#setting_overwrite" - Leaving test case "GetBrickletDeployData#setting_overwrite" - Entering test case "GetBrickletDeployData#setting_datafolder" - Leaving test case "GetBrickletDeployData#setting_datafolder" - Entering test case "GetBrickletDeployData#prefers_dfref_settings" - Leaving test case "GetBrickletDeployData#prefers_dfref_settings" - Entering test case "GetBrickletDeployData#liberal_wave_name_works" - Leaving test case "GetBrickletDeployData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletDeployData.ipf" - Entering test suite "Test_GetResultFileName.ipf" - Entering test case "GetResultFileName#file_names_are_empty" - Leaving test case "GetResultFileName#file_names_are_empty" - Entering test case "GetResultFileName#file_names_are_filled" - Leaving test case "GetResultFileName#file_names_are_filled" - Entering test case "GetResultFileName#file_names_with_corr_bs" - Leaving test case "GetResultFileName#file_names_with_corr_bs" - Finished with no errors - Leaving test suite "Test_GetResultFileName.ipf" - Entering test suite "Test_GetVernissageVersion.ipf" - Entering test case "GetVernissageVersion#vernissage_version_format" - Leaving test case "GetVernissageVersion#vernissage_version_format" - Finished with no errors - Leaving test suite "Test_GetVernissageVersion.ipf" - Entering test suite "Test_GetVersion.ipf" - Entering test case "GetVersion#version_format_is_correct" - Leaving test case "GetVersion#version_format_is_correct" - Finished with no errors - Leaving test suite "Test_GetVersion.ipf" - Entering test suite "Test_GetXOPErrorMessage.ipf" - Entering test case "GetXOPErrorMessage#check_that_messages_are_set" - No error, everything went nice and smooth. - A file is already open and it can only be one file open at a time. - The result file is empty, so there is little one can do here... - The file/folder (missing argument) is not readable. - There are no new bricklets in the result file. - The paramter (missing argument) is missing or wrong. Please consult the documentation. - The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data. - There is no result file open. - The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID. - The wave (missing argument) already exists. Please move/delete it first. - Leaving test case "GetXOPErrorMessage#check_that_messages_are_set" - Finished with no errors - Leaving test suite "Test_GetXOPErrorMessage.ipf" - Entering test suite "Test_OpenResultFile.ipf" - Entering test case "OpenResultFile#openResultFile_empty_file_path" - Leaving test case "OpenResultFile#openResultFile_empty_file_path" - Entering test case "OpenResultFile#openResultFile_non_exist_file" - Leaving test case "OpenResultFile#openResultFile_non_exist_file" - Entering test case "OpenResultFile#openResultFile_empty_file_K" - Leaving test case "OpenResultFile#openResultFile_empty_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_file_K" - Leaving test case "OpenResultFile#openResultFile_non_exist_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_path" - Assertion "CHECK_EQUAL_VAR(err.UNKNOWN_ERROR, V_flag)" failed in line 45, procedure "Test_OpenResultFile.ipf" - Leaving test case "OpenResultFile#openResultFile_non_exist_path" - Entering test case "OpenResultFile#openResultFile_non_exist_path_K" - Assertion "CHECK_EQUAL_VAR(err.UNKNOWN_ERROR, V_flag)" failed in line 55, procedure "Test_OpenResultFile.ipf" - Leaving test case "OpenResultFile#openResultFile_non_exist_path_K" - Entering test case "OpenResultFile#openResultFile_undefined_path" - Leaving test case "OpenResultFile#openResultFile_undefined_path" - Entering test case "OpenResultFile#openResultFile_undefined_path_K" - Leaving test case "OpenResultFile#openResultFile_undefined_path_K" - Entering test case "OpenResultFile#openResultFile_undef_path_file" - Assertion "CHECK_EQUAL_VAR(err.UNKNOWN_ERROR, V_flag)" failed in line 83, procedure "Test_OpenResultFile.ipf" - Leaving test case "OpenResultFile#openResultFile_undef_path_file" - Entering test case "OpenResultFile#openResultFile_nonexist_path" - Leaving test case "OpenResultFile#openResultFile_nonexist_path" - Entering test case "OpenResultFile#openResultFile_loading_works" - Leaving test case "OpenResultFile#openResultFile_loading_works" - Entering test case "OpenResultFile#openResultFile_loading_works_K" - Leaving test case "OpenResultFile#openResultFile_loading_works_K" - Entering test case "OpenResultFile#openResultFile_loading_path" - Leaving test case "OpenResultFile#openResultFile_loading_path" - Entering test case "OpenResultFile#openResultFile_already_open" - Leaving test case "OpenResultFile#openResultFile_already_open" - Failed with 3 errors - Leaving test suite "Test_OpenResultFile.ipf" - Test finished with 3 errors - End of test "MatrixFileReader XOP" -•RunTest("TEst_openResultFile.ipf", testCase="openResultFile_non_exist_path") - Start of test "Unnamed" - Entering test suite "TEst_openResultFile.ipf" - Entering test case "OpenResultFile#openResultFile_non_exist_path" - Assertion "CHECK_EQUAL_VAR(err.UNKNOWN_ERROR, V_flag)" failed in line 45, procedure "Test_OpenResultFile.ipf" - Leaving test case "OpenResultFile#openResultFile_non_exist_path" - Failed with 1 errors - Leaving test suite "TEst_openResultFile.ipf" - Test finished with 1 errors - End of test "Unnamed" -•RunTest("TEst_openResultFile.ipf", testCase="openResultFile_non_exist_path", allowDebug=1) - Start of test "Unnamed" - Entering test suite "TEst_openResultFile.ipf" - Entering test case "OpenResultFile#openResultFile_non_exist_path" - Encountered "AbortOnvalue" Code 1 in test case "OpenResultFile#openResultFile_non_exist_path", procedure file "TEst_openResultFile.ipf" - The test case "OpenResultFile#openResultFile_non_exist_path" did not make any assertions! - Leaving test case "OpenResultFile#openResultFile_non_exist_path" - Failed with 1 errors - Leaving test suite "TEst_openResultFile.ipf" - Test finished with 1 errors - End of test "Unnamed" -•RunTest("TEst_openResultFile.ipf", testCase="openResultFile_non_exist_path", allowDebug=1) - Start of test "Unnamed" - Entering test suite "TEst_openResultFile.ipf" - Entering test case "OpenResultFile#openResultFile_non_exist_path" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_non_exist_path" - Finished with no errors - Leaving test suite "TEst_openResultFile.ipf" - Test finished with no errors - End of test "Unnamed" -•RunTest("TEst_openResultFile.ipf") - Start of test "Unnamed" - Entering test suite "TEst_openResultFile.ipf" - Entering test case "OpenResultFile#openResultFile_empty_file_path" - Leaving test case "OpenResultFile#openResultFile_empty_file_path" - Entering test case "OpenResultFile#openResultFile_non_exist_file" - Leaving test case "OpenResultFile#openResultFile_non_exist_file" - Entering test case "OpenResultFile#openResultFile_empty_file_K" - Leaving test case "OpenResultFile#openResultFile_empty_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_file_K" - Leaving test case "OpenResultFile#openResultFile_non_exist_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_path" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_non_exist_path" - Entering test case "OpenResultFile#openResultFile_non_exist_path_K" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_non_exist_path_K" - Entering test case "OpenResultFile#openResultFile_undefined_path" - Leaving test case "OpenResultFile#openResultFile_undefined_path" - Entering test case "OpenResultFile#openResultFile_undefined_path_K" - Leaving test case "OpenResultFile#openResultFile_undefined_path_K" - Entering test case "OpenResultFile#openResultFile_undef_path_file" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_undef_path_file" - Entering test case "OpenResultFile#openResultFile_nonexist_path" - Leaving test case "OpenResultFile#openResultFile_nonexist_path" - Entering test case "OpenResultFile#openResultFile_loading_works" - Leaving test case "OpenResultFile#openResultFile_loading_works" - Entering test case "OpenResultFile#openResultFile_loading_works_K" - Leaving test case "OpenResultFile#openResultFile_loading_works_K" - Entering test case "OpenResultFile#openResultFile_loading_path" - Leaving test case "OpenResultFile#openResultFile_loading_path" - Entering test case "OpenResultFile#openResultFile_already_open" - Leaving test case "OpenResultFile#openResultFile_already_open" - Finished with no errors - Leaving test suite "TEst_openResultFile.ipf" - Test finished with no errors - End of test "Unnamed" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "RegressionTest.ipf" - Entering test case "RegressionTest#regressionTest" - 0, H:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx - No bricklets in the result file - 1, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 2, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 3, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 4, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 5, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 6, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 7, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 8, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 9, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 10, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 11, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 12, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 13, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 14, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 15, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 16, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 17, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 18, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 19, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 20, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - path: "H:projekte:matrixfilereader-data:referenceData_0.24:" - path: "e:newVersion_0.22:" - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00001, metaData_00001 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00002, metaData_00002 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00003, metaData_00003 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00004, metaData_00004 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00005, metaData_00005 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00006, metaData_00006 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00007, metaData_00007 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00008, metaData_00008 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00009, metaData_00009 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00010, metaData_00010 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00011, metaData_00011 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00012, metaData_00012 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00013, metaData_00013 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00014, metaData_00014 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00015, metaData_00015 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00016, metaData_00016 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00017, metaData_00017 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00018, metaData_00018 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00019, metaData_00019 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00020, metaData_00020 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00021, metaData_00021 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00022, metaData_00022 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00023, metaData_00023 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00024, metaData_00024 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00025, metaData_00025 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00026, metaData_00026 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00027, metaData_00027 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00028, metaData_00028 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00029, metaData_00029 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00030, metaData_00030 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00031, metaData_00031 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00032, metaData_00032 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00033, metaData_00033 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00034, metaData_00034 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00035, metaData_00035 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00036, metaData_00036 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00037, metaData_00037 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00038, metaData_00038 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00039, metaData_00039 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00040, metaData_00040 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00041, metaData_00041 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00042, metaData_00042 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00043, metaData_00043 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00044, metaData_00044 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00045, metaData_00045 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00046, metaData_00046 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00047, metaData_00047 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00048, metaData_00048 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00049, metaData_00049 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00050, metaData_00050 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00051, metaData_00051 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00052, metaData_00052 - Assertion "CHECK_EQUAL_WAVES(refWave, newWave)" failed in line 281, procedure "RegressionTest.ipf" - WaveNames: metaData_00053, metaData_00053 - User aborted Test Run manually in test case "RegressionTest#regressionTest", procedure file "RegressionTest.ipf" - Leaving test case "RegressionTest#regressionTest" - Failed with 54 errors - Leaving test suite "RegressionTest.ipf" - Test finished with 54 errors - End of test "MatrixFileReader XOP" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "RegressionTest.ipf" - Entering test case "RegressionTest#regressionTest" - 0, H:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx - No bricklets in the result file - 1, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 2, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 3, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 4, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 5, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 6, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 7, h:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 8, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 9, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 10, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 11, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 12, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 13, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 14, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 15, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 16, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 17, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 18, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 19, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 20, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - path: "H:projekte:matrixfilereader-data:referenceData_0.24:" - path: "e:newVersion_0.22:" - Leaving test case "RegressionTest#regressionTest" - Finished with no errors - Leaving test suite "RegressionTest.ipf" - Test finished with no errors - End of test "MatrixFileReader XOP" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "RegressionTest.ipf" - Entering test case "RegressionTest#regressionTest" - 0, H:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx - No bricklets in the result file - 1, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 2, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 3, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 4, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 5, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 6, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 7, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 8, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 9, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 10, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 11, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 12, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 13, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 14, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 15, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 16, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 17, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 18, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 19, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 20, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - path: "H:projekte:matrixfilereader-data:referenceData_0.24:" - path: "E:newVersion_0.22:" - Leaving test case "RegressionTest#regressionTest" - Finished with no errors - Leaving test suite "RegressionTest.ipf" - Test finished with no errors - End of test "MatrixFileReader XOP" -•run() - Start of test "MatrixFileReader XOP" - Entering test suite "RegressionTest.ipf" - Entering test case "RegressionTest#regressionTest" - 0, H:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx - No bricklets in the result file - 1, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 2, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 3, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 4, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 5, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 6, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 7, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 8, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 9, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 10, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 11, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 12, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 13, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 14, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 15, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 16, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 17, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 18, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 19, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 20, H:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - path: "H:projekte:matrixfilereader-data:referenceData_0.24:" - path: "E:newVersion_0.22:" - Leaving test case "RegressionTest#regressionTest" - Finished with no errors - Leaving test suite "RegressionTest.ipf" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "BrickletConversionDetails#check_image_All" - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=187D0020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=187D0020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=06360430, float=00000000, double=18A50168, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=06360070, float=00000000, double=18B90168, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=06360A90, float=00000000, double=18CD0168, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=06360DB0, float=00000000, double=18E10168, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_image_All" - Entering test case "BrickletConversionDetails#check_cube_Up_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 - DEBUG: m_rawBufferContents=175A7310,size=6250 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: ### BrickletID 1 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=175A7310,size=6250 - DEBUG: Axis mirroring: X=true, Y=false, Spec=false - DEBUG: Spec Axis: points 250, clocks 250 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 - DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 - DEBUG: data_00001_Up_RampFwd: waveHandle=06360B50, float=00000000, double=16130050, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 - DEBUG: m_rawBufferContents=0D182390,size=1500 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: ### BrickletID 26 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=0D182390,size=1500 - DEBUG: Axis mirroring: X=false, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 - DEBUG: data_00026_Up_RampFwd: waveHandle=06360B50, float=00000000, double=160AC378, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00026_Up_RampBwd: waveHandle=06360070, float=00000000, double=160AAA70, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" - Entering test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 - DEBUG: m_rawBufferContents=0CED8050,size=3000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: ### BrickletID 21 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=0CED8050,size=3000 - DEBUG: Axis mirroring: X=true, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: start=120, step=20, stop=200 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 - DEBUG: data_00021_Up_RampFwd: waveHandle=0635F070, float=00000000, double=160B0E90, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00021_ReUp_RampFwd: waveHandle=06360310, float=00000000, double=160ADC80, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00021_Up_RampBwd: waveHandle=06360070, float=00000000, double=160AF588, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00021_ReUp_RampBwd: waveHandle=06360970, float=00000000, double=160AAA70, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" - Entering test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 - DEBUG: m_rawBufferContents=12767260,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: ### BrickletID 88 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12767260,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 - DEBUG: data_00088_Up_RampFwd: waveHandle=06360DB0, float=00000000, double=16130050, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00088_Down_RampFwd: waveHandle=06360CB0, float=00000000, double=15C8BB70, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 - DEBUG: m_rawBufferContents=12767260,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: ### BrickletID 91 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12767260,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=450, step=50, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 - DEBUG: data_00091_ReUp_RampFwd: waveHandle=063605F0, float=00000000, double=1642A150, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00091_ReDown_RampFwd: waveHandle=06360CB0, float=00000000, double=15C8BB70, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_All_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 - DEBUG: m_rawBufferContents=12767260,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: ### BrickletID 100 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12767260,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 - DEBUG: data_00100_Up_RampFwd: waveHandle=06360D70, float=00000000, double=0664CF88, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00100_ReUp_RampFwd: waveHandle=06360CB0, float=00000000, double=15E74C70, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00100_Down_RampFwd: waveHandle=0635FE30, float=00000000, double=164E0DF8, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00100_ReDown_RampFwd: waveHandle=0635F030, float=00000000, double=16130050, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_All_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 - DEBUG: m_rawBufferContents=174EC408,size=25600 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder4:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: ### BrickletID 97 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=174EC408,size=25600 - DEBUG: Axis mirroring: X=true, Y=true, Spec=true - DEBUG: Spec Axis: points 100, clocks 200 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 - DEBUG: data_00097_Up_RampFwd: waveHandle=063605B0, float=00000000, double=164632A0, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00097_ReUp_RampFwd: waveHandle=06360330, float=00000000, double=0664CF88, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00097_Down_RampFwd: waveHandle=06360310, float=00000000, double=15E74C70, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00097_ReDown_RampFwd: waveHandle=06360910, float=00000000, double=16150050, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: data_00097_Up_RampBwd: waveHandle=0635F070, float=00000000, double=164E0DF8, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00097_ReUp_RampBwd: waveHandle=06360970, float=00000000, double=1642A150, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: data_00097_Down_RampBwd: waveHandle=06360D90, float=00000000, double=164306A0, moreData=true, traceDir=2, specialSuffix=_RampBwd - DEBUG: data_00097_ReDown_RampBwd: waveHandle=0635F030, float=00000000, double=15C8BB70, moreData=true, traceDir=3, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" - Finished with no errors - Leaving test suite "Test_BrickletConversionDetails.ipf" - Entering test suite "Test_CheckForNewBricklets.ipf" - Entering test case "CheckForNewBricklets#complains_no_file_open" - DEBUG: V_MatrixFileReaderDebug=0 (default) - Leaving test case "CheckForNewBricklets#complains_no_file_open" - Entering test case "CheckForNewBricklets#no_new_bricklets" - Leaving test case "CheckForNewBricklets#no_new_bricklets" - Finished with no errors - Leaving test suite "Test_CheckForNewBricklets.ipf" - Entering test suite "Test_CloseResultFile.ipf" - Entering test case "CloseResultFile#complains_no_file_open" - Leaving test case "CloseResultFile#complains_no_file_open" - Entering test case "CloseResultFile#works" - Leaving test case "CloseResultFile#works" - Finished with no errors - Leaving test suite "Test_CloseResultFile.ipf" - Entering test suite "Test_CreateOverviewTable.ipf" - Entering test case "CreateOverviewTable#complains_no_file_open" - Leaving test case "CreateOverviewTable#complains_no_file_open" - Entering test case "CreateOverviewTable#complains_empty_file" - Leaving test case "CreateOverviewTable#complains_empty_file" - Entering test case "CreateOverviewTable#complains_empty_wavename" - Leaving test case "CreateOverviewTable#complains_empty_wavename" - Entering test case "CreateOverviewTable#complains_wavename_toolong" - Leaving test case "CreateOverviewTable#complains_wavename_toolong" - Entering test case "CreateOverviewTable#complains_baseName_ill_chars" - Leaving test case "CreateOverviewTable#complains_baseName_ill_chars" - Entering test case "CreateOverviewTable#complains_empty_df" - Leaving test case "CreateOverviewTable#complains_empty_df" - Entering test case "CreateOverviewTable#complains_invalid_df" - Leaving test case "CreateOverviewTable#complains_invalid_df" - Entering test case "CreateOverviewTable#complains_deleted_df" - Leaving test case "CreateOverviewTable#complains_deleted_df" - Entering test case "CreateOverviewTable#complains_empty_keys" - Leaving test case "CreateOverviewTable#complains_empty_keys" - Entering test case "CreateOverviewTable#complains_not_with_invalid_keys" - Leaving test case "CreateOverviewTable#complains_not_with_invalid_keys" - Entering test case "CreateOverviewTable#complains_not_with_toolong_key" - Leaving test case "CreateOverviewTable#complains_not_with_toolong_key" - Entering test case "CreateOverviewTable#creates_one_wave" - Leaving test case "CreateOverviewTable#creates_one_wave" - Entering test case "CreateOverviewTable#creates_one_wave_df_name" - Leaving test case "CreateOverviewTable#creates_one_wave_df_name" - Entering test case "CreateOverviewTable#creates_one_wave_free_df" - Leaving test case "CreateOverviewTable#creates_one_wave_free_df" - Entering test case "CreateOverviewTable#creates_one_wave_user_keys" - Leaving test case "CreateOverviewTable#creates_one_wave_user_keys" - Entering test case "CreateOverviewTable#does_not_overwrite_by_default" - Leaving test case "CreateOverviewTable#does_not_overwrite_by_default" - Entering test case "CreateOverviewTable#setting_overwrite" - Leaving test case "CreateOverviewTable#setting_overwrite" - Entering test case "CreateOverviewTable#prefers_dfref_settings" - Leaving test case "CreateOverviewTable#prefers_dfref_settings" - Entering test case "CreateOverviewTable#liberal_wave_name_works" - Leaving test case "CreateOverviewTable#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_CreateOverviewTable.ipf" - Entering test suite "Test_GetBrickletCount.ipf" - Entering test case "GetBrickletCount#complains_no_file_open" - Leaving test case "GetBrickletCount#complains_no_file_open" - Entering test case "GetBrickletCount#works_empty_file" - Leaving test case "GetBrickletCount#works_empty_file" - Entering test case "GetBrickletCount#check_with_filled_file" - Leaving test case "GetBrickletCount#check_with_filled_file" - Finished with no errors - Leaving test suite "Test_GetBrickletCount.ipf" - Entering test suite "Test_GetBrickletData.ipf" - Entering test case "GetBrickletData#complains_no_file_open" - Leaving test case "GetBrickletData#complains_no_file_open" - Entering test case "GetBrickletData#complains_empty_file" - Leaving test case "GetBrickletData#complains_empty_file" - Entering test case "GetBrickletData#complains_invalid_range" - Leaving test case "GetBrickletData#complains_invalid_range" - Entering test case "GetBrickletData#complains_empty_wavename" - Leaving test case "GetBrickletData#complains_empty_wavename" - Entering test case "GetBrickletData#complains_wavename_toolong" - Leaving test case "GetBrickletData#complains_wavename_toolong" - Entering test case "GetBrickletData#complains_baseName_ill_chars" - Leaving test case "GetBrickletData#complains_baseName_ill_chars" - Entering test case "GetBrickletData#complains_empty_df" - Leaving test case "GetBrickletData#complains_empty_df" - Entering test case "GetBrickletData#complains_invalid_df" - Leaving test case "GetBrickletData#complains_invalid_df" - Entering test case "GetBrickletData#complains_deleted_df" - Leaving test case "GetBrickletData#complains_deleted_df" - Entering test case "GetBrickletData#complains_invalid_ps" - Leaving test case "GetBrickletData#complains_invalid_ps" - Entering test case "GetBrickletData#valid_pixelsizes" - Leaving test case "GetBrickletData#valid_pixelsizes" - Entering test case "GetBrickletData#valid_ps_with_liberal_names" - Leaving test case "GetBrickletData#valid_ps_with_liberal_names" - Entering test case "GetBrickletData#read_one_bricklet" - Leaving test case "GetBrickletData#read_one_bricklet" - Entering test case "GetBrickletData#read_one_bricklet_df_name" - Leaving test case "GetBrickletData#read_one_bricklet_df_name" - Entering test case "GetBrickletData#read_one_bricklet_free_df" - Leaving test case "GetBrickletData#read_one_bricklet_free_df" - Entering test case "GetBrickletData#creates_waves" - Leaving test case "GetBrickletData#creates_waves" - Entering test case "GetBrickletData#does_not_overwrite_by_default" - Leaving test case "GetBrickletData#does_not_overwrite_by_default" - Entering test case "GetBrickletData#setting_overwrite" - Leaving test case "GetBrickletData#setting_overwrite" - Entering test case "GetBrickletData#setting_datafolder" - Leaving test case "GetBrickletData#setting_datafolder" - Entering test case "GetBrickletData#setting_double" - Leaving test case "GetBrickletData#setting_double" - Entering test case "GetBrickletData#prefers_dfref_settings" - Leaving test case "GetBrickletData#prefers_dfref_settings" - Entering test case "GetBrickletData#liberal_wave_name_works" - Leaving test case "GetBrickletData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletData.ipf" - Entering test suite "Test_GetBrickletMetaData.ipf" - Entering test case "GetBrickletMetaData#complains_no_file_open" - Leaving test case "GetBrickletMetaData#complains_no_file_open" - Entering test case "GetBrickletMetaData#complains_empty_file" - Leaving test case "GetBrickletMetaData#complains_empty_file" - Entering test case "GetBrickletMetaData#complains_invalid_range" - Leaving test case "GetBrickletMetaData#complains_invalid_range" - Entering test case "GetBrickletMetaData#complains_empty_wavename" - Leaving test case "GetBrickletMetaData#complains_empty_wavename" - Entering test case "GetBrickletMetaData#complains_wavename_toolong" - Leaving test case "GetBrickletMetaData#complains_wavename_toolong" - Entering test case "GetBrickletMetaData#complains_baseName_ill_chars" - Leaving test case "GetBrickletMetaData#complains_baseName_ill_chars" - Entering test case "GetBrickletMetaData#complains_empty_df" - Leaving test case "GetBrickletMetaData#complains_empty_df" - Entering test case "GetBrickletMetaData#complains_invalid_df" - Leaving test case "GetBrickletMetaData#complains_invalid_df" - Entering test case "GetBrickletMetaData#complains_deleted_df" - Leaving test case "GetBrickletMetaData#complains_deleted_df" - Entering test case "GetBrickletMetaData#creates_one_wave" - Leaving test case "GetBrickletMetaData#creates_one_wave" - Entering test case "GetBrickletMetaData#creates_one_wave_df_name" - Leaving test case "GetBrickletMetaData#creates_one_wave_df_name" - Entering test case "GetBrickletMetaData#creates_one_wave_free_df" - Leaving test case "GetBrickletMetaData#creates_one_wave_free_df" - Entering test case "GetBrickletMetaData#creates_waves" - Leaving test case "GetBrickletMetaData#creates_waves" - Entering test case "GetBrickletMetaData#does_not_overwrite_by_default" - Leaving test case "GetBrickletMetaData#does_not_overwrite_by_default" - Entering test case "GetBrickletMetaData#setting_overwrite" - Leaving test case "GetBrickletMetaData#setting_overwrite" - Entering test case "GetBrickletMetaData#setting_datafolder" - Leaving test case "GetBrickletMetaData#setting_datafolder" - Entering test case "GetBrickletMetaData#prefers_dfref_settings" - Leaving test case "GetBrickletMetaData#prefers_dfref_settings" - Entering test case "GetBrickletMetaData#liberal_wave_name_works" - Leaving test case "GetBrickletMetaData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletMetaData.ipf" - Entering test suite "Test_GetBrickletRawData.ipf" - Entering test case "GetBrickletRawData#complains_no_file_open" - Leaving test case "GetBrickletRawData#complains_no_file_open" - Entering test case "GetBrickletRawData#complains_empty_file" - Leaving test case "GetBrickletRawData#complains_empty_file" - Entering test case "GetBrickletRawData#complains_invalid_range" - Leaving test case "GetBrickletRawData#complains_invalid_range" - Entering test case "GetBrickletRawData#complains_empty_wavename" - Leaving test case "GetBrickletRawData#complains_empty_wavename" - Entering test case "GetBrickletRawData#complains_wavename_toolong" - Leaving test case "GetBrickletRawData#complains_wavename_toolong" - Entering test case "GetBrickletRawData#complains_baseName_ill_chars" - Leaving test case "GetBrickletRawData#complains_baseName_ill_chars" - Entering test case "GetBrickletRawData#complains_empty_df" - Leaving test case "GetBrickletRawData#complains_empty_df" - Entering test case "GetBrickletRawData#complains_invalid_df" - Leaving test case "GetBrickletRawData#complains_invalid_df" - Entering test case "GetBrickletRawData#complains_deleted_df" - Leaving test case "GetBrickletRawData#complains_deleted_df" - Entering test case "GetBrickletRawData#creates_one_wave" - Leaving test case "GetBrickletRawData#creates_one_wave" - Entering test case "GetBrickletRawData#creates_one_wave_df_name" - Leaving test case "GetBrickletRawData#creates_one_wave_df_name" - Entering test case "GetBrickletRawData#creates_one_wave_free_df" - Leaving test case "GetBrickletRawData#creates_one_wave_free_df" - Entering test case "GetBrickletRawData#creates_waves" - Leaving test case "GetBrickletRawData#creates_waves" - Entering test case "GetBrickletRawData#does_not_overwrite_by_default" - Leaving test case "GetBrickletRawData#does_not_overwrite_by_default" - Entering test case "GetBrickletRawData#setting_overwrite" - Leaving test case "GetBrickletRawData#setting_overwrite" - Entering test case "GetBrickletRawData#setting_datafolder" - Leaving test case "GetBrickletRawData#setting_datafolder" - Entering test case "GetBrickletRawData#prefers_dfref_settings" - Leaving test case "GetBrickletRawData#prefers_dfref_settings" - Entering test case "GetBrickletRawData#liberal_wave_name_works" - Leaving test case "GetBrickletRawData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletRawData.ipf" - Entering test suite "Test_GetReportTemplate.ipf" - Entering test case "GetReportTemplate#returns_non_empty_string" - #### -Windows version: 6.1 (Build 7601) -Free Memory: 56 GiB -Total Memory: 63 GiB -Used Memory by this XOP: 0 MiB -Visual Studio version: 1400 -Igor Pro Version: 638 -Vernissage version: V2.3.3 -XOP version: 0.251 (Build fc5a5e1) -Compilation date and time: Jun 29 2017 15:40:35 - -Your Name: -Bug description: -#### - - Leaving test case "GetReportTemplate#returns_non_empty_string" - Finished with no errors - Leaving test suite "Test_GetReportTemplate.ipf" - Entering test suite "Test_GetResultFileMetaData.ipf" - Entering test case "GetResultFileMetaData#complains_no_file_open" - Leaving test case "GetResultFileMetaData#complains_no_file_open" - Entering test case "GetResultFileMetaData#complains_empty_wavename" - Leaving test case "GetResultFileMetaData#complains_empty_wavename" - Entering test case "GetResultFileMetaData#complains_wavename_toolong" - Leaving test case "GetResultFileMetaData#complains_wavename_toolong" - Entering test case "GetResultFileMetaData#complains_empty_df" - Leaving test case "GetResultFileMetaData#complains_empty_df" - Entering test case "GetResultFileMetaData#complains_invalid_df" - Leaving test case "GetResultFileMetaData#complains_invalid_df" - Entering test case "GetResultFileMetaData#complains_waveName_ill_chars" - Leaving test case "GetResultFileMetaData#complains_waveName_ill_chars" - Entering test case "GetResultFileMetaData#complains_deleted_df" - Leaving test case "GetResultFileMetaData#complains_deleted_df" - Entering test case "GetResultFileMetaData#works_with_empty_file" - Leaving test case "GetResultFileMetaData#works_with_empty_file" - Entering test case "GetResultFileMetaData#creates_one_wave" - Leaving test case "GetResultFileMetaData#creates_one_wave" - Entering test case "GetResultFileMetaData#creates_one_wave_df_name" - Leaving test case "GetResultFileMetaData#creates_one_wave_df_name" - Entering test case "GetResultFileMetaData#creates_one_wave_free_df" - Leaving test case "GetResultFileMetaData#creates_one_wave_free_df" - Entering test case "GetResultFileMetaData#does_not_overwrite_by_default" - Leaving test case "GetResultFileMetaData#does_not_overwrite_by_default" - Entering test case "GetResultFileMetaData#overwrites_if_told" - Leaving test case "GetResultFileMetaData#overwrites_if_told" - Entering test case "GetResultFileMetaData#liberal_wave_name_works" - Leaving test case "GetResultFileMetaData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetResultFileMetaData.ipf" - Entering test suite "Test_GetBrickletDeployData.ipf" - Entering test case "GetBrickletDeployData#complains_no_file_open" - Leaving test case "GetBrickletDeployData#complains_no_file_open" - Entering test case "GetBrickletDeployData#complains_empty_file" - Leaving test case "GetBrickletDeployData#complains_empty_file" - Entering test case "GetBrickletDeployData#complains_invalid_range" - Leaving test case "GetBrickletDeployData#complains_invalid_range" - Entering test case "GetBrickletDeployData#complains_empty_wavename" - Leaving test case "GetBrickletDeployData#complains_empty_wavename" - Entering test case "GetBrickletDeployData#complains_wavename_toolong" - Leaving test case "GetBrickletDeployData#complains_wavename_toolong" - Entering test case "GetBrickletDeployData#complains_baseName_ill_chars" - Leaving test case "GetBrickletDeployData#complains_baseName_ill_chars" - Entering test case "GetBrickletDeployData#complains_empty_df" - Leaving test case "GetBrickletDeployData#complains_empty_df" - Entering test case "GetBrickletDeployData#complains_invalid_df" - Leaving test case "GetBrickletDeployData#complains_invalid_df" - Entering test case "GetBrickletDeployData#complains_deleted_df" - Leaving test case "GetBrickletDeployData#complains_deleted_df" - Entering test case "GetBrickletDeployData#creates_one_wave" - Leaving test case "GetBrickletDeployData#creates_one_wave" - Entering test case "GetBrickletDeployData#creates_one_wave_df_name" - Leaving test case "GetBrickletDeployData#creates_one_wave_df_name" - Entering test case "GetBrickletDeployData#creates_one_wave_free_df" - Leaving test case "GetBrickletDeployData#creates_one_wave_free_df" - Entering test case "GetBrickletDeployData#creates_waves" - Leaving test case "GetBrickletDeployData#creates_waves" - Entering test case "GetBrickletDeployData#does_not_overwrite_by_default" - Leaving test case "GetBrickletDeployData#does_not_overwrite_by_default" - Entering test case "GetBrickletDeployData#setting_overwrite" - Leaving test case "GetBrickletDeployData#setting_overwrite" - Entering test case "GetBrickletDeployData#setting_datafolder" - Leaving test case "GetBrickletDeployData#setting_datafolder" - Entering test case "GetBrickletDeployData#prefers_dfref_settings" - Leaving test case "GetBrickletDeployData#prefers_dfref_settings" - Entering test case "GetBrickletDeployData#liberal_wave_name_works" - Leaving test case "GetBrickletDeployData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletDeployData.ipf" - Entering test suite "Test_GetResultFileName.ipf" - Entering test case "GetResultFileName#file_names_are_empty" - Leaving test case "GetResultFileName#file_names_are_empty" - Entering test case "GetResultFileName#file_names_are_filled" - Leaving test case "GetResultFileName#file_names_are_filled" - Entering test case "GetResultFileName#file_names_with_corr_bs" - Leaving test case "GetResultFileName#file_names_with_corr_bs" - Finished with no errors - Leaving test suite "Test_GetResultFileName.ipf" - Entering test suite "Test_GetVernissageVersion.ipf" - Entering test case "GetVernissageVersion#vernissage_version_format" - Leaving test case "GetVernissageVersion#vernissage_version_format" - Finished with no errors - Leaving test suite "Test_GetVernissageVersion.ipf" - Entering test suite "Test_GetVersion.ipf" - Entering test case "GetVersion#version_format_is_correct" - Leaving test case "GetVersion#version_format_is_correct" - Finished with no errors - Leaving test suite "Test_GetVersion.ipf" - Entering test suite "Test_GetXOPErrorMessage.ipf" - Entering test case "GetXOPErrorMessage#check_that_messages_are_set" - No error, everything went nice and smooth. - A file is already open and it can only be one file open at a time. - The result file is empty, so there is little one can do here... - The file/folder (missing argument) is not readable. - There are no new bricklets in the result file. - The paramter (missing argument) is missing or wrong. Please consult the documentation. - The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data. - There is no result file open. - The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID. - The wave (missing argument) already exists. Please move/delete it first. - Leaving test case "GetXOPErrorMessage#check_that_messages_are_set" - Finished with no errors - Leaving test suite "Test_GetXOPErrorMessage.ipf" - Entering test suite "Test_OpenResultFile.ipf" - Entering test case "OpenResultFile#openResultFile_empty_file_path" - Leaving test case "OpenResultFile#openResultFile_empty_file_path" - Entering test case "OpenResultFile#openResultFile_non_exist_file" - Leaving test case "OpenResultFile#openResultFile_non_exist_file" - Entering test case "OpenResultFile#openResultFile_empty_file_K" - Leaving test case "OpenResultFile#openResultFile_empty_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_file_K" - Leaving test case "OpenResultFile#openResultFile_non_exist_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_path" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_non_exist_path" - Entering test case "OpenResultFile#openResultFile_non_exist_path_K" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_non_exist_path_K" - Entering test case "OpenResultFile#openResultFile_undefined_path" - Leaving test case "OpenResultFile#openResultFile_undefined_path" - Entering test case "OpenResultFile#openResultFile_undefined_path_K" - Leaving test case "OpenResultFile#openResultFile_undefined_path_K" - Entering test case "OpenResultFile#openResultFile_undef_path_file" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_undef_path_file" - Entering test case "OpenResultFile#openResultFile_nonexist_path" - Leaving test case "OpenResultFile#openResultFile_nonexist_path" - Entering test case "OpenResultFile#openResultFile_loading_works" - Leaving test case "OpenResultFile#openResultFile_loading_works" - Entering test case "OpenResultFile#openResultFile_loading_works_K" - Leaving test case "OpenResultFile#openResultFile_loading_works_K" - Entering test case "OpenResultFile#openResultFile_loading_path" - Leaving test case "OpenResultFile#openResultFile_loading_path" - Entering test case "OpenResultFile#openResultFile_already_open" - Leaving test case "OpenResultFile#openResultFile_already_open" - Finished with no errors - Leaving test suite "Test_OpenResultFile.ipf" - Test finished with no errors - End of test "MatrixFileReader XOP" - Start of test "MatrixFileReader XOP" - Entering test suite "RegressionTest.ipf" - Entering test case "RegressionTest#regressionTest" - 0, h:projekte:matrixfilereader-data:TestData-Matrix-V2.2:default_2010Oct19-190255_STM-STM_Spectroscopy-VT-STM_0001.mtrx - No bricklets in the result file - 1, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-11:20110111-164555_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 2, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-103050_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 3, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 4, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-01-14:default_20110114-2011Jan14-165821_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 5, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:2011-03-01:20110301-162833_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 6, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:Beispieldaten-SPM-with-repetitions-2011-01-12:2011-01-12:20110112-144308_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 7, H:projekte:matrixfilereader-data:TestData-Matrix-V3.0-3.1:I_t_data_bug_report:default_20120127-142723_STM_Spectroscopy_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 8, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145132_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 9, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-145631_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 10, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:20150310-150653_STM_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 11, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110144_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 12, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110430_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 13, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-110823_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 14, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111006_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 15, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111121_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 16, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111324_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 17, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-111529_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 18, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112049_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 19, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-03-10:2015Mar10-112217_STM-RT_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - 20, h:projekte:matrixfilereader-data:TestData-Matrix-V3.2:2015-09-16:default_2015Sep16-134954_STM-STM_AtomManipulation_0001.mtrx - Saved to "newVersion_0.22" - 1 data folder(s), 2 wave(s), 0 numeric variable(s) and 0 string variable(s) - path: "h:projekte:matrixfilereader-data:referenceData_0.24:" - path: "e:newVersion_0.22:" - Leaving test case "RegressionTest#regressionTest" - Finished with no errors - Leaving test suite "RegressionTest.ipf" - Entering test suite "Test_BrickletConversionDetails.ipf" - Entering test case "BrickletConversionDetails#check_image_All" - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: Loaded 796 keys/values as brickletMetaData for bricklet 98 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: rawMin=52249088,rawMax=81383424,scaledMin=8.0218e-011,scaledMax=1.24948e-010 - DEBUG: m_rawBufferContents=12CB0020,size=640000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=98, endBrickletID=98 - DEBUG: ### BrickletID 98 ### - DEBUG: dimension 2 - DEBUG: viewType vtc_ForwardBackward2D - DEBUG: brickletType btc_SPMImage - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=12CB0020,size=640000 - DEBUG: numPointsRootAxis=400 - DEBUG: numPointsTriggerAxis=400 - DEBUG: data_00098_Up: waveHandle=0A3ED4F8, float=00000000, double=0DA90168, moreData=true, traceDir=0, specialSuffix= - DEBUG: data_00098_ReUp: waveHandle=0A3ECE58, float=00000000, double=0E400168, moreData=true, traceDir=1, specialSuffix= - DEBUG: data_00098_Down: waveHandle=0A3ED0B8, float=00000000, double=11AA0168, moreData=true, traceDir=2, specialSuffix= - DEBUG: data_00098_ReDown: waveHandle=0A3ECE98, float=00000000, double=12F30168, moreData=true, traceDir=3, specialSuffix= - DEBUG: raw->scaled transformation: xOne=52249088,xTwo=81383424,yOne=8.02179756191439e-011,yTwo=1.249478942529e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_image_All" - Entering test case "BrickletConversionDetails#check_cube_Up_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 1 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: rawMin=53646,rawMax=67413,scaledMin=0.000249807,scaledMax=0.000313914 - DEBUG: m_rawBufferContents=0E3BD368,size=6250 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=1, endBrickletID=1 - DEBUG: ### BrickletID 1 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=0E3BD368,size=6250 - DEBUG: Axis mirroring: X=true, Y=false, Spec=false - DEBUG: Spec Axis: points 250, clocks 250 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=1.0101e-009, yAxisDelta=1.0101e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=250 - DEBUG: xAxisBlockSize=1250, xAxisForwardBlockSize=1250, firstBlockOffset=6250 - DEBUG: data_00001_Up_RampFwd: waveHandle=0A3ED018, float=00000000, double=0A3CCF60, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=53646,xTwo=67413,yOne=0.000249806752037253,yTwo=0.000313913853317811 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: Loaded 883 keys/values as brickletMetaData for bricklet 26 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: rawMin=-416540,rawMax=-366193,scaledMin=-0.00193965,scaledMax=-0.00170521 - DEBUG: m_rawBufferContents=0E13D848,size=1500 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=26, endBrickletID=26 - DEBUG: ### BrickletID 26 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=0E13D848,size=1500 - DEBUG: Axis mirroring: X=false, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=5, Forward=5, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=300, xAxisForwardBlockSize=300, firstBlockOffset=1500 - DEBUG: data_00026_Up_RampFwd: waveHandle=0A3ED0B8, float=00000000, double=06378D48, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00026_Up_RampBwd: waveHandle=0A3ECE58, float=00000000, double=0637A608, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-416540,xTwo=-366193,yOne=-0.00193965075669383,yTwo=-0.00170520605355064 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_RampFwdBwd" - Entering test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: Loaded 887 keys/values as brickletMetaData for bricklet 21 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: rawMin=-40969216,rawMax=40470698,scaledMin=-6.29e-011,scaledMax=6.21346e-011 - DEBUG: m_rawBufferContents=0DDC41F8,size=3000 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=21, endBrickletID=21 - DEBUG: ### BrickletID 21 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=0DDC41F8,size=3000 - DEBUG: Axis mirroring: X=true, Y=false, Spec=true - DEBUG: Spec Axis: points 30, clocks 60 - DEBUG: X Axis # points with tableSet: Total=10, Forward=5, Backward=5 - DEBUG: Y Axis # points with tableSet: Total=5, Up=5, Down=0 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: start=120, step=20, stop=200 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=20, stop=81 - DEBUG: xAxisDelta=2.0202e-009, yAxisDelta=2.0202e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=5,cols=5,layers=30 - DEBUG: xAxisBlockSize=600, xAxisForwardBlockSize=300, firstBlockOffset=3000 - DEBUG: data_00021_Up_RampFwd: waveHandle=0A3ED098, float=00000000, double=0A93B1A8, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00021_ReUp_RampFwd: waveHandle=0A3ED018, float=00000000, double=0A40EBF8, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00021_Up_RampBwd: waveHandle=0A3ECE98, float=00000000, double=06378D48, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00021_ReUp_RampBwd: waveHandle=0A3ED4F8, float=00000000, double=0637A608, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=-40969216,xTwo=40470698,yOne=-6.28999987564078e-011,yTwo=6.21346245403123e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_UpReUp_RampFwdBwd" - Entering test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 88 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: rawMin=16776704,rawMax=75552597,scaledMin=2.57573e-011,scaledMax=1.15996e-010 - DEBUG: m_rawBufferContents=10E24830,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=88, endBrickletID=88 - DEBUG: ### BrickletID 88 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=10E24830,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=8, Backward=0 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=800, firstBlockOffset=6400 - DEBUG: data_00088_Up_RampFwd: waveHandle=0A3ED438, float=00000000, double=0A7EE150, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00088_Down_RampFwd: waveHandle=0A3ED578, float=00000000, double=0A7FAAA0, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=16776704,xTwo=75552597,yOne=2.57572578576222e-011,yTwo=1.15995831048936e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_Up_Down_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: Loaded 817 keys/values as brickletMetaData for bricklet 91 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: rawMin=21549568,rawMax=76914346,scaledMin=3.3085e-011,scaledMax=1.18087e-010 - DEBUG: m_rawBufferContents=10E24830,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=91, endBrickletID=91 - DEBUG: ### BrickletID 91 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=10E24830,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=0, Backward=8 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=450, step=50, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=1.25313e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=8,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=0, firstBlockOffset=6400 - DEBUG: data_00091_ReUp_RampFwd: waveHandle=0A3ECE98, float=00000000, double=0A7FAAA0, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00091_ReDown_RampFwd: waveHandle=0A3ED2D8, float=00000000, double=0AB61150, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=21549568,xTwo=76914346,yOne=3.30850314636513e-011,yTwo=1.18086523006687e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_ReUp_ReDown_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_All_RampFwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 100 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: rawMin=23558485,rawMax=60248576,scaledMin=3.61693e-011,scaledMax=9.24996e-011 - DEBUG: m_rawBufferContents=10E24830,size=12800 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=100, endBrickletID=100 - DEBUG: ### BrickletID 100 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=10E24830,size=12800 - DEBUG: Axis mirroring: X=true, Y=true, Spec=false - DEBUG: Spec Axis: points 100, clocks 100 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=800, xAxisForwardBlockSize=400, firstBlockOffset=6400 - DEBUG: data_00100_Up_RampFwd: waveHandle=0A3ED5F8, float=00000000, double=0A541360, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00100_ReUp_RampFwd: waveHandle=0A3ED578, float=00000000, double=0A7F8160, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00100_Down_RampFwd: waveHandle=0A3ED058, float=00000000, double=0A7FE6B0, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00100_ReDown_RampFwd: waveHandle=0A3ECE98, float=00000000, double=0A804C00, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: raw->scaled transformation: xOne=23558485,xTwo=60248576,yOne=3.61693198425582e-011,yTwo=9.24995820148313e-011 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_All_RampFwd" - Entering test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" - DEBUG: V_MatrixFileReaderDebug=0 (default) - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: Loaded 821 keys/values as brickletMetaData for bricklet 97 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: rawMin=17551189,rawMax=66867200,scaledMin=2.69463e-011,scaledMax=1.02661e-010 - DEBUG: m_rawBufferContents=0DC05048,size=25600 - DEBUG: lastErrorCode 0, argument - DEBUG: lastErrorCode 10001, argument - DEBUG: V_MatrixFileReaderDebug=0 - DEBUG: Variables in the folder root:tempFolder0:: - DEBUG: V_MatrixFileReaderOverwrite=0 (default) - DEBUG: V_MatrixFileReaderDouble=0 (default) - DEBUG: V_MatrixFileReaderFolder=0 - DEBUG: V_MatrixFileReaderCache=0 (default) - DEBUG: V_MatrixFileReaderMagic=0 - DEBUG: startBrickletID=97, endBrickletID=97 - DEBUG: ### BrickletID 97 ### - DEBUG: dimension 3 - DEBUG: viewType vtc_Spectroscopy - DEBUG: viewType vtc_2Dof3D - DEBUG: brickletType btc_VolumeCITS - DEBUG: Axis order is from triggerAxis to rootAxis - DEBUG: Axis V - DEBUG: Axis X - DEBUG: Axis Y - DEBUG: BrickletClass::getBrickletContentsBuffer Using cached values - DEBUG: m_rawBufferContents=0DC05048,size=25600 - DEBUG: Axis mirroring: X=true, Y=true, Spec=true - DEBUG: Spec Axis: points 100, clocks 200 - DEBUG: X Axis # points with tableSet: Total=8, Forward=4, Backward=4 - DEBUG: Y Axis # points with tableSet: Total=16, Up=8, Down=8 - DEBUG: Number of axes we have table sets for: 2 - DEBUG: Tablesets: xAxis - DEBUG: start=1, step=100, stop=301 - DEBUG: start=500, step=100, stop=800 - DEBUG: Tablesets: yAxis - DEBUG: start=1, step=50, stop=351 - DEBUG: start=450, step=50, stop=800 - DEBUG: xAxisDelta=2.50627e-009, yAxisDelta=1.25313e-009 - DEBUG: xAxisOffset=0, yAxisOffset=0 - DEBUG: dimensions of the cube: rows=4,cols=8,layers=100 - DEBUG: xAxisBlockSize=1600, xAxisForwardBlockSize=800, firstBlockOffset=12800 - DEBUG: data_00097_Up_RampFwd: waveHandle=0A3ED0F8, float=00000000, double=0A541360, moreData=true, traceDir=0, specialSuffix=_RampFwd - DEBUG: data_00097_ReUp_RampFwd: waveHandle=0A3ED178, float=00000000, double=0A55AFB0, moreData=true, traceDir=1, specialSuffix=_RampFwd - DEBUG: data_00097_Down_RampFwd: waveHandle=0A3ED618, float=00000000, double=0A561500, moreData=true, traceDir=2, specialSuffix=_RampFwd - DEBUG: data_00097_ReDown_RampFwd: waveHandle=0A3ED138, float=00000000, double=0A7F9160, moreData=true, traceDir=3, specialSuffix=_RampFwd - DEBUG: data_00097_Up_RampBwd: waveHandle=0A3ED0B8, float=00000000, double=0A7FF6B0, moreData=true, traceDir=0, specialSuffix=_RampBwd - DEBUG: data_00097_ReUp_RampBwd: waveHandle=0A3ED458, float=00000000, double=0A805C00, moreData=true, traceDir=1, specialSuffix=_RampBwd - DEBUG: data_00097_Down_RampBwd: waveHandle=0A3ECE58, float=00000000, double=0AB7A2A0, moreData=true, traceDir=2, specialSuffix=_RampBwd - DEBUG: data_00097_ReDown_RampBwd: waveHandle=0A3ECE98, float=00000000, double=0AB807F0, moreData=true, traceDir=3, specialSuffix=_RampBwd - DEBUG: raw->scaled transformation: xOne=17551189,xTwo=66867200,yOne=2.69463239490225e-011,yTwo=1.02661149211263e-010 - DEBUG: raw->scaled transformation: slope=1,yIntercept=0 - DEBUG: lastErrorCode 0, argument - Leaving test case "BrickletConversionDetails#check_cube_All_RampFwdBwd" - Finished with no errors - Leaving test suite "Test_BrickletConversionDetails.ipf" - Entering test suite "Test_CheckForNewBricklets.ipf" - Entering test case "CheckForNewBricklets#complains_no_file_open" - DEBUG: V_MatrixFileReaderDebug=0 (default) - Leaving test case "CheckForNewBricklets#complains_no_file_open" - Entering test case "CheckForNewBricklets#no_new_bricklets" - Leaving test case "CheckForNewBricklets#no_new_bricklets" - Finished with no errors - Leaving test suite "Test_CheckForNewBricklets.ipf" - Entering test suite "Test_CloseResultFile.ipf" - Entering test case "CloseResultFile#complains_no_file_open" - Leaving test case "CloseResultFile#complains_no_file_open" - Entering test case "CloseResultFile#works" - Leaving test case "CloseResultFile#works" - Finished with no errors - Leaving test suite "Test_CloseResultFile.ipf" - Entering test suite "Test_CreateOverviewTable.ipf" - Entering test case "CreateOverviewTable#complains_no_file_open" - Leaving test case "CreateOverviewTable#complains_no_file_open" - Entering test case "CreateOverviewTable#complains_empty_file" - Leaving test case "CreateOverviewTable#complains_empty_file" - Entering test case "CreateOverviewTable#complains_empty_wavename" - Leaving test case "CreateOverviewTable#complains_empty_wavename" - Entering test case "CreateOverviewTable#complains_wavename_toolong" - Leaving test case "CreateOverviewTable#complains_wavename_toolong" - Entering test case "CreateOverviewTable#complains_baseName_ill_chars" - Leaving test case "CreateOverviewTable#complains_baseName_ill_chars" - Entering test case "CreateOverviewTable#complains_empty_df" - Leaving test case "CreateOverviewTable#complains_empty_df" - Entering test case "CreateOverviewTable#complains_invalid_df" - Leaving test case "CreateOverviewTable#complains_invalid_df" - Entering test case "CreateOverviewTable#complains_deleted_df" - Leaving test case "CreateOverviewTable#complains_deleted_df" - Entering test case "CreateOverviewTable#complains_empty_keys" - Leaving test case "CreateOverviewTable#complains_empty_keys" - Entering test case "CreateOverviewTable#complains_not_with_invalid_keys" - Leaving test case "CreateOverviewTable#complains_not_with_invalid_keys" - Entering test case "CreateOverviewTable#complains_not_with_toolong_key" - Leaving test case "CreateOverviewTable#complains_not_with_toolong_key" - Entering test case "CreateOverviewTable#creates_one_wave" - Leaving test case "CreateOverviewTable#creates_one_wave" - Entering test case "CreateOverviewTable#creates_one_wave_df_name" - Leaving test case "CreateOverviewTable#creates_one_wave_df_name" - Entering test case "CreateOverviewTable#creates_one_wave_free_df" - Leaving test case "CreateOverviewTable#creates_one_wave_free_df" - Entering test case "CreateOverviewTable#creates_one_wave_user_keys" - Leaving test case "CreateOverviewTable#creates_one_wave_user_keys" - Entering test case "CreateOverviewTable#does_not_overwrite_by_default" - Leaving test case "CreateOverviewTable#does_not_overwrite_by_default" - Entering test case "CreateOverviewTable#setting_overwrite" - Leaving test case "CreateOverviewTable#setting_overwrite" - Entering test case "CreateOverviewTable#prefers_dfref_settings" - Leaving test case "CreateOverviewTable#prefers_dfref_settings" - Entering test case "CreateOverviewTable#liberal_wave_name_works" - Leaving test case "CreateOverviewTable#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_CreateOverviewTable.ipf" - Entering test suite "Test_GetBrickletCount.ipf" - Entering test case "GetBrickletCount#complains_no_file_open" - Leaving test case "GetBrickletCount#complains_no_file_open" - Entering test case "GetBrickletCount#works_empty_file" - Leaving test case "GetBrickletCount#works_empty_file" - Entering test case "GetBrickletCount#check_with_filled_file" - Leaving test case "GetBrickletCount#check_with_filled_file" - Finished with no errors - Leaving test suite "Test_GetBrickletCount.ipf" - Entering test suite "Test_GetBrickletData.ipf" - Entering test case "GetBrickletData#complains_no_file_open" - Leaving test case "GetBrickletData#complains_no_file_open" - Entering test case "GetBrickletData#complains_empty_file" - Leaving test case "GetBrickletData#complains_empty_file" - Entering test case "GetBrickletData#complains_invalid_range" - Leaving test case "GetBrickletData#complains_invalid_range" - Entering test case "GetBrickletData#complains_empty_wavename" - Leaving test case "GetBrickletData#complains_empty_wavename" - Entering test case "GetBrickletData#complains_wavename_toolong" - Leaving test case "GetBrickletData#complains_wavename_toolong" - Entering test case "GetBrickletData#complains_baseName_ill_chars" - Leaving test case "GetBrickletData#complains_baseName_ill_chars" - Entering test case "GetBrickletData#complains_empty_df" - Leaving test case "GetBrickletData#complains_empty_df" - Entering test case "GetBrickletData#complains_invalid_df" - Leaving test case "GetBrickletData#complains_invalid_df" - Entering test case "GetBrickletData#complains_deleted_df" - Leaving test case "GetBrickletData#complains_deleted_df" - Entering test case "GetBrickletData#complains_invalid_ps" - Leaving test case "GetBrickletData#complains_invalid_ps" - Entering test case "GetBrickletData#valid_pixelsizes" - Leaving test case "GetBrickletData#valid_pixelsizes" - Entering test case "GetBrickletData#valid_ps_with_liberal_names" - Leaving test case "GetBrickletData#valid_ps_with_liberal_names" - Entering test case "GetBrickletData#read_one_bricklet" - Leaving test case "GetBrickletData#read_one_bricklet" - Entering test case "GetBrickletData#read_one_bricklet_df_name" - Leaving test case "GetBrickletData#read_one_bricklet_df_name" - Entering test case "GetBrickletData#read_one_bricklet_free_df" - Leaving test case "GetBrickletData#read_one_bricklet_free_df" - Entering test case "GetBrickletData#creates_waves" - Leaving test case "GetBrickletData#creates_waves" - Entering test case "GetBrickletData#does_not_overwrite_by_default" - Leaving test case "GetBrickletData#does_not_overwrite_by_default" - Entering test case "GetBrickletData#setting_overwrite" - Leaving test case "GetBrickletData#setting_overwrite" - Entering test case "GetBrickletData#setting_datafolder" - Leaving test case "GetBrickletData#setting_datafolder" - Entering test case "GetBrickletData#setting_double" - Leaving test case "GetBrickletData#setting_double" - Entering test case "GetBrickletData#prefers_dfref_settings" - Leaving test case "GetBrickletData#prefers_dfref_settings" - Entering test case "GetBrickletData#liberal_wave_name_works" - Leaving test case "GetBrickletData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletData.ipf" - Entering test suite "Test_GetBrickletMetaData.ipf" - Entering test case "GetBrickletMetaData#complains_no_file_open" - Leaving test case "GetBrickletMetaData#complains_no_file_open" - Entering test case "GetBrickletMetaData#complains_empty_file" - Leaving test case "GetBrickletMetaData#complains_empty_file" - Entering test case "GetBrickletMetaData#complains_invalid_range" - Leaving test case "GetBrickletMetaData#complains_invalid_range" - Entering test case "GetBrickletMetaData#complains_empty_wavename" - Leaving test case "GetBrickletMetaData#complains_empty_wavename" - Entering test case "GetBrickletMetaData#complains_wavename_toolong" - Leaving test case "GetBrickletMetaData#complains_wavename_toolong" - Entering test case "GetBrickletMetaData#complains_baseName_ill_chars" - Leaving test case "GetBrickletMetaData#complains_baseName_ill_chars" - Entering test case "GetBrickletMetaData#complains_empty_df" - Leaving test case "GetBrickletMetaData#complains_empty_df" - Entering test case "GetBrickletMetaData#complains_invalid_df" - Leaving test case "GetBrickletMetaData#complains_invalid_df" - Entering test case "GetBrickletMetaData#complains_deleted_df" - Leaving test case "GetBrickletMetaData#complains_deleted_df" - Entering test case "GetBrickletMetaData#creates_one_wave" - Leaving test case "GetBrickletMetaData#creates_one_wave" - Entering test case "GetBrickletMetaData#creates_one_wave_df_name" - Leaving test case "GetBrickletMetaData#creates_one_wave_df_name" - Entering test case "GetBrickletMetaData#creates_one_wave_free_df" - Leaving test case "GetBrickletMetaData#creates_one_wave_free_df" - Entering test case "GetBrickletMetaData#creates_waves" - Leaving test case "GetBrickletMetaData#creates_waves" - Entering test case "GetBrickletMetaData#does_not_overwrite_by_default" - Leaving test case "GetBrickletMetaData#does_not_overwrite_by_default" - Entering test case "GetBrickletMetaData#setting_overwrite" - Leaving test case "GetBrickletMetaData#setting_overwrite" - Entering test case "GetBrickletMetaData#setting_datafolder" - Leaving test case "GetBrickletMetaData#setting_datafolder" - Entering test case "GetBrickletMetaData#prefers_dfref_settings" - Leaving test case "GetBrickletMetaData#prefers_dfref_settings" - Entering test case "GetBrickletMetaData#liberal_wave_name_works" - Leaving test case "GetBrickletMetaData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletMetaData.ipf" - Entering test suite "Test_GetBrickletRawData.ipf" - Entering test case "GetBrickletRawData#complains_no_file_open" - Leaving test case "GetBrickletRawData#complains_no_file_open" - Entering test case "GetBrickletRawData#complains_empty_file" - Leaving test case "GetBrickletRawData#complains_empty_file" - Entering test case "GetBrickletRawData#complains_invalid_range" - Leaving test case "GetBrickletRawData#complains_invalid_range" - Entering test case "GetBrickletRawData#complains_empty_wavename" - Leaving test case "GetBrickletRawData#complains_empty_wavename" - Entering test case "GetBrickletRawData#complains_wavename_toolong" - Leaving test case "GetBrickletRawData#complains_wavename_toolong" - Entering test case "GetBrickletRawData#complains_baseName_ill_chars" - Leaving test case "GetBrickletRawData#complains_baseName_ill_chars" - Entering test case "GetBrickletRawData#complains_empty_df" - Leaving test case "GetBrickletRawData#complains_empty_df" - Entering test case "GetBrickletRawData#complains_invalid_df" - Leaving test case "GetBrickletRawData#complains_invalid_df" - Entering test case "GetBrickletRawData#complains_deleted_df" - Leaving test case "GetBrickletRawData#complains_deleted_df" - Entering test case "GetBrickletRawData#creates_one_wave" - Leaving test case "GetBrickletRawData#creates_one_wave" - Entering test case "GetBrickletRawData#creates_one_wave_df_name" - Leaving test case "GetBrickletRawData#creates_one_wave_df_name" - Entering test case "GetBrickletRawData#creates_one_wave_free_df" - Leaving test case "GetBrickletRawData#creates_one_wave_free_df" - Entering test case "GetBrickletRawData#creates_waves" - Leaving test case "GetBrickletRawData#creates_waves" - Entering test case "GetBrickletRawData#does_not_overwrite_by_default" - Leaving test case "GetBrickletRawData#does_not_overwrite_by_default" - Entering test case "GetBrickletRawData#setting_overwrite" - Leaving test case "GetBrickletRawData#setting_overwrite" - Entering test case "GetBrickletRawData#setting_datafolder" - Leaving test case "GetBrickletRawData#setting_datafolder" - Entering test case "GetBrickletRawData#prefers_dfref_settings" - Leaving test case "GetBrickletRawData#prefers_dfref_settings" - Entering test case "GetBrickletRawData#liberal_wave_name_works" - Leaving test case "GetBrickletRawData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletRawData.ipf" - Entering test suite "Test_GetReportTemplate.ipf" - Entering test case "GetReportTemplate#returns_non_empty_string" - #### -Windows version: 6.1 (Build 7601) -Free Memory: 56 GiB -Total Memory: 63 GiB -Used Memory by this XOP: 0 MiB -Visual Studio version: 1400 -Igor Pro Version: 638 -Vernissage version: V2.3.3 -XOP version: 0.251 (Build 9229424) -Compilation date and time: Jun 29 2017 18:14:40 - -Your Name: -Bug description: -#### - - Leaving test case "GetReportTemplate#returns_non_empty_string" - Finished with no errors - Leaving test suite "Test_GetReportTemplate.ipf" - Entering test suite "Test_GetResultFileMetaData.ipf" - Entering test case "GetResultFileMetaData#complains_no_file_open" - Leaving test case "GetResultFileMetaData#complains_no_file_open" - Entering test case "GetResultFileMetaData#complains_empty_wavename" - Leaving test case "GetResultFileMetaData#complains_empty_wavename" - Entering test case "GetResultFileMetaData#complains_wavename_toolong" - Leaving test case "GetResultFileMetaData#complains_wavename_toolong" - Entering test case "GetResultFileMetaData#complains_empty_df" - Leaving test case "GetResultFileMetaData#complains_empty_df" - Entering test case "GetResultFileMetaData#complains_invalid_df" - Leaving test case "GetResultFileMetaData#complains_invalid_df" - Entering test case "GetResultFileMetaData#complains_waveName_ill_chars" - Leaving test case "GetResultFileMetaData#complains_waveName_ill_chars" - Entering test case "GetResultFileMetaData#complains_deleted_df" - Leaving test case "GetResultFileMetaData#complains_deleted_df" - Entering test case "GetResultFileMetaData#works_with_empty_file" - Leaving test case "GetResultFileMetaData#works_with_empty_file" - Entering test case "GetResultFileMetaData#creates_one_wave" - Leaving test case "GetResultFileMetaData#creates_one_wave" - Entering test case "GetResultFileMetaData#creates_one_wave_df_name" - Leaving test case "GetResultFileMetaData#creates_one_wave_df_name" - Entering test case "GetResultFileMetaData#creates_one_wave_free_df" - Leaving test case "GetResultFileMetaData#creates_one_wave_free_df" - Entering test case "GetResultFileMetaData#does_not_overwrite_by_default" - Leaving test case "GetResultFileMetaData#does_not_overwrite_by_default" - Entering test case "GetResultFileMetaData#overwrites_if_told" - Leaving test case "GetResultFileMetaData#overwrites_if_told" - Entering test case "GetResultFileMetaData#liberal_wave_name_works" - Leaving test case "GetResultFileMetaData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetResultFileMetaData.ipf" - Entering test suite "Test_GetBrickletDeployData.ipf" - Entering test case "GetBrickletDeployData#complains_no_file_open" - Leaving test case "GetBrickletDeployData#complains_no_file_open" - Entering test case "GetBrickletDeployData#complains_empty_file" - Leaving test case "GetBrickletDeployData#complains_empty_file" - Entering test case "GetBrickletDeployData#complains_invalid_range" - Leaving test case "GetBrickletDeployData#complains_invalid_range" - Entering test case "GetBrickletDeployData#complains_empty_wavename" - Leaving test case "GetBrickletDeployData#complains_empty_wavename" - Entering test case "GetBrickletDeployData#complains_wavename_toolong" - Leaving test case "GetBrickletDeployData#complains_wavename_toolong" - Entering test case "GetBrickletDeployData#complains_baseName_ill_chars" - Leaving test case "GetBrickletDeployData#complains_baseName_ill_chars" - Entering test case "GetBrickletDeployData#complains_empty_df" - Leaving test case "GetBrickletDeployData#complains_empty_df" - Entering test case "GetBrickletDeployData#complains_invalid_df" - Leaving test case "GetBrickletDeployData#complains_invalid_df" - Entering test case "GetBrickletDeployData#complains_deleted_df" - Leaving test case "GetBrickletDeployData#complains_deleted_df" - Entering test case "GetBrickletDeployData#creates_one_wave" - Leaving test case "GetBrickletDeployData#creates_one_wave" - Entering test case "GetBrickletDeployData#creates_one_wave_df_name" - Leaving test case "GetBrickletDeployData#creates_one_wave_df_name" - Entering test case "GetBrickletDeployData#creates_one_wave_free_df" - Leaving test case "GetBrickletDeployData#creates_one_wave_free_df" - Entering test case "GetBrickletDeployData#creates_waves" - Leaving test case "GetBrickletDeployData#creates_waves" - Entering test case "GetBrickletDeployData#does_not_overwrite_by_default" - Leaving test case "GetBrickletDeployData#does_not_overwrite_by_default" - Entering test case "GetBrickletDeployData#setting_overwrite" - Leaving test case "GetBrickletDeployData#setting_overwrite" - Entering test case "GetBrickletDeployData#setting_datafolder" - Leaving test case "GetBrickletDeployData#setting_datafolder" - Entering test case "GetBrickletDeployData#prefers_dfref_settings" - Leaving test case "GetBrickletDeployData#prefers_dfref_settings" - Entering test case "GetBrickletDeployData#liberal_wave_name_works" - Leaving test case "GetBrickletDeployData#liberal_wave_name_works" - Finished with no errors - Leaving test suite "Test_GetBrickletDeployData.ipf" - Entering test suite "Test_GetResultFileName.ipf" - Entering test case "GetResultFileName#file_names_are_empty" - Leaving test case "GetResultFileName#file_names_are_empty" - Entering test case "GetResultFileName#file_names_are_filled" - Leaving test case "GetResultFileName#file_names_are_filled" - Entering test case "GetResultFileName#file_names_with_corr_bs" - Leaving test case "GetResultFileName#file_names_with_corr_bs" - Finished with no errors - Leaving test suite "Test_GetResultFileName.ipf" - Entering test suite "Test_GetVernissageVersion.ipf" - Entering test case "GetVernissageVersion#vernissage_version_format" - Leaving test case "GetVernissageVersion#vernissage_version_format" - Finished with no errors - Leaving test suite "Test_GetVernissageVersion.ipf" - Entering test suite "Test_GetVersion.ipf" - Entering test case "GetVersion#version_format_is_correct" - Leaving test case "GetVersion#version_format_is_correct" - Finished with no errors - Leaving test suite "Test_GetVersion.ipf" - Entering test suite "Test_GetXOPErrorMessage.ipf" - Entering test case "GetXOPErrorMessage#check_that_messages_are_set" - No error, everything went nice and smooth. - A file is already open and it can only be one file open at a time. - The result file is empty, so there is little one can do here... - The file/folder (missing argument) is not readable. - There are no new bricklets in the result file. - The paramter (missing argument) is missing or wrong. Please consult the documentation. - The rawdata could not be interpreted. You can try using getRawBrickleData() instead and consulting the vernissage documentation. Please file also a bug report and attach your data. - There is no result file open. - The brickletID range was wrong. brickletIDs have to lie between 1 and numberOfBricklets, and startBrickletID may not be bigger than endBrickletID. - The wave (missing argument) already exists. Please move/delete it first. - Leaving test case "GetXOPErrorMessage#check_that_messages_are_set" - Finished with no errors - Leaving test suite "Test_GetXOPErrorMessage.ipf" - Entering test suite "Test_OpenResultFile.ipf" - Entering test case "OpenResultFile#openResultFile_empty_file_path" - Leaving test case "OpenResultFile#openResultFile_empty_file_path" - Entering test case "OpenResultFile#openResultFile_non_exist_file" - Leaving test case "OpenResultFile#openResultFile_non_exist_file" - Entering test case "OpenResultFile#openResultFile_empty_file_K" - Leaving test case "OpenResultFile#openResultFile_empty_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_file_K" - Leaving test case "OpenResultFile#openResultFile_non_exist_file_K" - Entering test case "OpenResultFile#openResultFile_non_exist_path" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_non_exist_path" - Entering test case "OpenResultFile#openResultFile_non_exist_path_K" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_non_exist_path_K" - Entering test case "OpenResultFile#openResultFile_undefined_path" - Leaving test case "OpenResultFile#openResultFile_undefined_path" - Entering test case "OpenResultFile#openResultFile_undefined_path_K" - Leaving test case "OpenResultFile#openResultFile_undefined_path_K" - Entering test case "OpenResultFile#openResultFile_undef_path_file" - no symbolic path of that name - Leaving test case "OpenResultFile#openResultFile_undef_path_file" - Entering test case "OpenResultFile#openResultFile_nonexist_path" - Leaving test case "OpenResultFile#openResultFile_nonexist_path" - Entering test case "OpenResultFile#openResultFile_loading_works" - Leaving test case "OpenResultFile#openResultFile_loading_works" - Entering test case "OpenResultFile#openResultFile_loading_works_K" - Leaving test case "OpenResultFile#openResultFile_loading_works_K" - Entering test case "OpenResultFile#openResultFile_loading_path" - Leaving test case "OpenResultFile#openResultFile_loading_path" - Entering test case "OpenResultFile#openResultFile_already_open" - Leaving test case "OpenResultFile#openResultFile_already_open" - Finished with no errors - Leaving test suite "Test_OpenResultFile.ipf" - Test finished with no errors - End of test "MatrixFileReader XOP"