diff --git a/AutomaticQC/imosDensityInversionSetQC.m b/AutomaticQC/imosDensityInversionSetQC.m index a4998257c..d3a903bcd 100644 --- a/AutomaticQC/imosDensityInversionSetQC.m +++ b/AutomaticQC/imosDensityInversionSetQC.m @@ -75,6 +75,7 @@ % read dataset QC parameters if exist and override previous parameters file currentQCtest = mfilename; threshold = readDatasetParameter(sample_data.toolbox_input_file, currentQCtest, 'threshold', 0.03); % default threshold value of 0.03kg/m3 +threshold = threshold(1); % fix for compatibility with previous version 2.5.37 and older that used to unnecessarily store an array of thresholds qcSet = str2double(readProperty('toolbox.qc_set')); rawFlag = imosQCFlag('raw', qcSet, 'flag'); @@ -142,8 +143,6 @@ deltaUpBottom = [rhoPotI - rhoPotIp1; NaN]; deltaBottomUp = [NaN; rhoPotIp1 - rhoPotI]; -threshold = ones(lenDataTested, 1) .* threshold; - iDensInv = deltaUpBottom >= threshold | deltaBottomUp <= -threshold; flagsTested(iDensInv) = badFlag; diff --git a/AutomaticQC/imosImpossibleDateQC.m b/AutomaticQC/imosImpossibleDateQC.m index 916e8a4b7..46c50c2ff 100644 --- a/AutomaticQC/imosImpossibleDateQC.m +++ b/AutomaticQC/imosImpossibleDateQC.m @@ -103,10 +103,7 @@ end if any(~iGoodTime) - disp(['Warning : ' num2str(sum(~iGoodTime)) ' points failed Impossible date QC test in file ' sample_data.toolbox_input_file]); - end - if all(~iGoodTime) - error('All points failed'); + error([num2str(sum(~iGoodTime)) ' points failed Impossible date QC test in file ' sample_data.toolbox_input_file '. Try to re-play and fix this dataset when possible using the manufacturer''s software before processing it with the toolbox.']); end % write/update dataset QC parameters diff --git a/FlowManager/exportManager.m b/FlowManager/exportManager.m index 544e4cfc0..9bdbd8937 100644 --- a/FlowManager/exportManager.m +++ b/FlowManager/exportManager.m @@ -260,7 +260,9 @@ function exportQCPlots(sample_data, exportDir, mode, auto, progress) case 'profile' % profile specific plots - lineCastVar(sample_data, paramsName, true, true, exportDir); + for i=1:length(sample_data) % we only want one figure per profile for better readability + lineCastVar(sample_data(i), paramsName, true, true, exportDir); + end end catch e diff --git a/GUI/mainWindow.m b/GUI/mainWindow.m index 041355adb..3c715898b 100644 --- a/GUI/mainWindow.m +++ b/GUI/mainWindow.m @@ -88,11 +88,12 @@ function mainWindow(windowTitle, sample_data, states, startState, selectionCallb sampleDataDescs{k} = genSampleDataDesc(sample_data{k}); end +backgroundPlotColor = [1 1 1]; % white + % window figure fig = figure(... 'Name', windowTitle, ... 'Visible', 'off',... - 'Color', [0.75 0.75 0.75],... 'MenuBar', 'none',... 'ToolBar', 'figure',... 'Resize', 'on',... @@ -165,9 +166,10 @@ function mainWindow(windowTitle, sample_data, states, startState, selectionCallb % main display mainPanel = uipanel(... - 'Parent', fig,... - 'BorderType', 'none',... - 'Tag', 'mainPanel'); + 'BackgroundColor', backgroundPlotColor,... + 'BorderType', 'none',... + 'Parent', fig,... + 'Tag', 'mainPanel'); % use normalized units set(fig, 'Units', 'normalized'); @@ -304,7 +306,7 @@ function mainWindow(windowTitle, sample_data, states, startState, selectionCallb set(hToolsDiagram2DCommonVarDepthNonQC, 'callBack', {@displayDiagramMooringVar, false, false, 'DEPTH'}); set(hToolsDiagram2DCommonVarDepthQC, 'callBack', {@displayDiagramMooringVar, true, false, 'DEPTH'}); case 'profile' - hToolsLineCastVar = uimenu(hToolsMenu, 'label', '1D variable vs DEPTH profile line plot'); + hToolsLineCastVar = uimenu(hToolsMenu, 'label', '1D variable vs DEPTH selected profile line plot'); hToolsLineCastVarNonQC = uimenu(hToolsLineCastVar, 'label', 'all data'); hToolsLineCastVarQC = uimenu(hToolsLineCastVar, 'label', 'only good and non QC''d data'); @@ -648,29 +650,33 @@ function disableZoomAndPan(source, ev) function displayLineCastVar(source, ev, isQC) %DISPLAYLINECASTVAR Opens a new window where all the - % variables collected by the CTD cast are line-plotted in a profile plot. + % variables collected by the currently selected CTD cast are line-plotted in a profile plot. % + % only currently selected profile for better readability + iSampleMenu = get(sampleMenu, 'Value'); + sam = sample_data(iSampleMenu); + % get all params names - lenSampleData = length(sample_data); + lenSampleData = length(sam); paramsName = {}; for i=1:lenSampleData - lenParamsSample = length(sample_data{i}.variables); + lenParamsSample = length(sam{i}.variables); for j=1:lenParamsSample - isParamQC = any(sample_data{i}.variables{j}.flags == 1) || any(sample_data{i}.variables{j}.flags == 2); + isParamQC = any(sam{i}.variables{j}.flags == 1) || any(sam{i}.variables{j}.flags == 2); if i==1 && j==1 - paramsName{1} = sample_data{1}.variables{1}.name; + paramsName{1} = sam{1}.variables{1}.name; else - sameParam = strcmpi(paramsName, sample_data{i}.variables{j}.name); + sameParam = strcmpi(paramsName, sam{i}.variables{j}.name); if ~any(sameParam) - paramsName{end+1} = sample_data{i}.variables{j}.name; + paramsName{end+1} = sam{i}.variables{j}.name; end end % get rid of non QC'd params if only interested in QC if isQC && ~isParamQC; paramsName(end) = []; end end end - lineCastVar(sample_data, paramsName, isQC, false, ''); + lineCastVar(sam, paramsName, isQC, false, ''); end function displayScatterMooringVar(source, ev, isQC, is1D) diff --git a/Graph/DepthProfile/graphDepthProfileGeneric.m b/Graph/DepthProfile/graphDepthProfileGeneric.m index 6837c611c..db556dd10 100644 --- a/Graph/DepthProfile/graphDepthProfileGeneric.m +++ b/Graph/DepthProfile/graphDepthProfileGeneric.m @@ -94,8 +94,8 @@ end end -% set background to be grey -set(ax, 'Color', [0.85 0.85 0.85]) +% set background to be transparent (same as figure background) +set(ax, 'Color', 'none') labels = {var.name, 'DEPTH'}; diff --git a/Graph/DepthProfile/highlightDepthProfileGeneric.m b/Graph/DepthProfile/highlightDepthProfileGeneric.m index 5f9a73845..2498a4527 100644 --- a/Graph/DepthProfile/highlightDepthProfileGeneric.m +++ b/Graph/DepthProfile/highlightDepthProfileGeneric.m @@ -82,6 +82,6 @@ 'Parent', gca, ... 'LineStyle', 'none', ... 'Marker', 'o', ... - 'MarkerEdgeColor', 'white', ... - 'MarkerFaceColor', 'white'); + 'MarkerEdgeColor', 'black', ... + 'MarkerFaceColor', 'black'); end diff --git a/Graph/TimeSeries/graphTimeSeriesGeneric.m b/Graph/TimeSeries/graphTimeSeriesGeneric.m index 2c1708d21..8991f8a7f 100644 --- a/Graph/TimeSeries/graphTimeSeriesGeneric.m +++ b/Graph/TimeSeries/graphTimeSeriesGeneric.m @@ -84,8 +84,8 @@ end end -% set background to be grey -set(ax, 'Color', [0.85 0.85 0.85]) +% set background to be transparent (same as background color) +set(ax, 'Color', 'none') if strncmp(var.name, 'DEPTH', 4) || strncmp(var.name, 'PRES', 4) || strncmp(var.name, 'PRES_REL', 8) set(ax, 'YDir', 'reverse'); diff --git a/Graph/TimeSeries/graphTimeSeriesTimeDepth.m b/Graph/TimeSeries/graphTimeSeriesTimeDepth.m index 75078a3d6..1b105b27a 100644 --- a/Graph/TimeSeries/graphTimeSeriesTimeDepth.m +++ b/Graph/TimeSeries/graphTimeSeriesTimeDepth.m @@ -91,8 +91,8 @@ if length(cbLabel) > 20, cbLabel = [cbLabel(1:17) '...']; end set(get(cb, 'YLabel'), 'String', cbLabel, 'Interpreter', 'none'); -% set background to be grey -set(ax, 'Color', [0.75 0.75 0.75]) +% set background to be light grey (colorbar can include white color) +set(ax, 'Color', [0.85 0.85 0.85]) labels = {time.name, depth.name}; diff --git a/Graph/TimeSeries/graphTimeSeriesTimeFrequency.m b/Graph/TimeSeries/graphTimeSeriesTimeFrequency.m index 554b5c209..b4089fc12 100644 --- a/Graph/TimeSeries/graphTimeSeriesTimeFrequency.m +++ b/Graph/TimeSeries/graphTimeSeriesTimeFrequency.m @@ -86,8 +86,8 @@ if length(cbLabel) > 20, cbLabel = [cbLabel(1:17) '...']; end set(get(cb, 'YLabel'), 'String', cbLabel, 'Interpreter', 'none'); -% set background to be grey -set(ax, 'Color', [0.75 0.75 0.75]) +% set background to be light grey (colorbar can include white color) +set(ax, 'Color', [0.85 0.85 0.85]) labels = {time.name, freq.name}; diff --git a/Graph/TimeSeries/graphTimeSeriesTimeFrequencyDirection.m b/Graph/TimeSeries/graphTimeSeriesTimeFrequencyDirection.m index 30daf3264..3723c26d2 100644 --- a/Graph/TimeSeries/graphTimeSeriesTimeFrequencyDirection.m +++ b/Graph/TimeSeries/graphTimeSeriesTimeFrequencyDirection.m @@ -199,8 +199,8 @@ if length(cbLabel) > 20, cbLabel = [cbLabel(1:17) '...']; end set(get(cb, 'YLabel'), 'String', cbLabel, 'Interpreter', 'none'); -% set background to be grey -set(ax, 'Color', [0.75 0.75 0.75]) +% set background to be light grey (colorbar can include white color) +set(ax, 'Color', [0.85 0.85 0.85]) labels = {}; diff --git a/Graph/TimeSeries/highlightTimeSeriesGeneric.m b/Graph/TimeSeries/highlightTimeSeriesGeneric.m index fa1401990..f76fcd1ce 100644 --- a/Graph/TimeSeries/highlightTimeSeriesGeneric.m +++ b/Graph/TimeSeries/highlightTimeSeriesGeneric.m @@ -78,6 +78,6 @@ 'Parent', gca, ... 'LineStyle', 'none', ... 'Marker', 'o', ... - 'MarkerEdgeColor', 'white', ... - 'MarkerFaceColor', 'white'); + 'MarkerEdgeColor', 'black', ... + 'MarkerFaceColor', 'black'); end diff --git a/Graph/TimeSeries/highlightTimeSeriesTimeDepth.m b/Graph/TimeSeries/highlightTimeSeriesTimeDepth.m index 42e3a17d6..cdc614726 100644 --- a/Graph/TimeSeries/highlightTimeSeriesTimeDepth.m +++ b/Graph/TimeSeries/highlightTimeSeriesTimeDepth.m @@ -81,7 +81,7 @@ 'Parent', gca, ... 'LineStyle', 'none', ... 'Marker', 'o', ... - 'MarkerEdgeColor', 'white', ... - 'MarkerFaceColor', 'white', ... + 'MarkerEdgeColor', 'black', ... + 'MarkerFaceColor', 'black', ... 'MarkerSize', 3); end diff --git a/Graph/TimeSeries/highlightTimeSeriesTimeFrequencyDirection.m b/Graph/TimeSeries/highlightTimeSeriesTimeFrequencyDirection.m index 6106b0377..13d9aa4ed 100644 --- a/Graph/TimeSeries/highlightTimeSeriesTimeFrequencyDirection.m +++ b/Graph/TimeSeries/highlightTimeSeriesTimeFrequencyDirection.m @@ -70,7 +70,7 @@ 'Parent', gca, ... 'LineStyle', 'none', ... 'Marker', 'o', ... - 'MarkerEdgeColor', 'white', ... - 'MarkerFaceColor', 'white', ... + 'MarkerEdgeColor', 'black', ... + 'MarkerFaceColor', 'black', ... 'MarkerSize', 3); end diff --git a/Graph/TimeSeries/selectTimeSeriesGeneric.m b/Graph/TimeSeries/selectTimeSeriesGeneric.m index efa7a4573..75cfe3cca 100644 --- a/Graph/TimeSeries/selectTimeSeriesGeneric.m +++ b/Graph/TimeSeries/selectTimeSeriesGeneric.m @@ -107,7 +107,7 @@ function buttonDown(source,ev) rect = rectangle(... 'Parent', gca,... 'Position', rectPos,... - 'EdgeColor', [1 1 1],... + 'EdgeColor', 'black',... 'LineStyle', '--',... 'LineWidth', 0.25); diff --git a/Graph/Transect/graphTransectGeneric.m b/Graph/Transect/graphTransectGeneric.m index 240715891..8f4c96c29 100644 --- a/Graph/Transect/graphTransectGeneric.m +++ b/Graph/Transect/graphTransectGeneric.m @@ -60,7 +60,7 @@ if length(cbLabel) > 20, cbLabel = [cbLabel(1:17) '...']; end set(get(cb, 'YLabel'), 'String', cbLabel, 'Interpreter', 'none'); -% set background to be grey -set(ax, 'Color', [0.85 0.85 0.85]) +% set background to be transparent (same as background color) +set(ax, 'Color', 'none') labels = {'LATITUDE', 'LONGITUDE'}; diff --git a/Graph/XvY/graphXvYGeneric.m b/Graph/XvY/graphXvYGeneric.m index 138cffb04..0319f0001 100644 --- a/Graph/XvY/graphXvYGeneric.m +++ b/Graph/XvY/graphXvYGeneric.m @@ -66,7 +66,7 @@ end end -% set background to be grey -set(ax, 'Color', [0.85 0.85 0.85]) +% set background to be transparent (same as background color) +set(ax, 'Color', 'none') labels = {sample_data.variables{vars(1)}.name, sample_data.variables{vars(2)}.name}; \ No newline at end of file diff --git a/Graph/checkMooringPlannedDepths.m b/Graph/checkMooringPlannedDepths.m index 091ea0072..58a5770bc 100644 --- a/Graph/checkMooringPlannedDepths.m +++ b/Graph/checkMooringPlannedDepths.m @@ -313,39 +313,12 @@ function checkMooringPlannedDepths(sample_data, isQC, saveToFile, exportDir) for i = 1:lenMetaDepth avgDep(i) = median(dataVar(i, ~iNaN(i, :))); - if fastScatter - % for performance, we use plot (1 single handle object - % returned) rather than scatter (as many handles returned as - % points to plot). We plot as many subsets of the total amount - % of points as we want colors to be displayed. This is - % performed by the function plotclr. - - % !!! The result is such that the overlapping of points is dictated by - % the order of the colors to be plotted and not by the X axis order (from - % first to last) of the total points given. We choose an ordering from - % centre to both ends of colorbar in order to keep extreme colors visible - % though. - - plotclr(hAxDepthDiff, ... - metaDepth(i), ... - avgDep(i) - metaDepth(i), ... - metaDepth(i), ... - 'o', ... - [min(metaDepth) max(metaDepth)], ... - 'Color', cMap(i, :), ... - 'MarkerFaceColor', cMap(i, :), ... - 'MarkerSize', 2.5); - else - % faster than scatter, but legend requires adjusting - fastScatterMesh(hAxDepthDiff, ... - metaDepth(i), ... - avgDep(i) - metaDepth(i), ... - metaDepth(i), ... - [min(metaDepth) max(metaDepth)], ... - 'Marker', 'o', ... - 'FaceColor', cMap(i, :), ... - 'MarkerSize', 2.5); - end + scatter(hAxDepthDiff, ... + metaDepth(i), ... + avgDep(i) - metaDepth(i), ... + [], ... + cMap(i, :), ... + 'filled'); end instrumentDesc(1) = []; diff --git a/Graph/pcolorMooring2DVar.m b/Graph/pcolorMooring2DVar.m index 628f15492..d57bcb097 100644 --- a/Graph/pcolorMooring2DVar.m +++ b/Graph/pcolorMooring2DVar.m @@ -92,7 +92,8 @@ function pcolorMooring2DVar(sample_data, varName, isQC, saveToFile, exportDir) initiateFigure = true; -backgroundColor = [0.85 0.85 0.85]; % light grey to allow for colorbar with white +backgroundFigure = [1 1 1]; % white +backgroundAxis = [0.85 0.85 0.85]; % light grey to allow for colorbar with white for i=1:lenSampleData % instrument description @@ -146,7 +147,7 @@ function pcolorMooring2DVar(sample_data, varName, isQC, saveToFile, exportDir) 'Name', title, ... 'NumberTitle', 'off', ... 'Visible', visible, ... - 'Color', backgroundColor, ... + 'Color', backgroundFigure, ... 'OuterPosition', monitorRect(iBigMonitor, :)); hAxMooringVar = axes('Parent', hFigMooringVar); @@ -227,9 +228,8 @@ function pcolorMooring2DVar(sample_data, varName, isQC, saveToFile, exportDir) set(get(hCBar, 'Title'), 'String', [varName ' (' varUnit ')'], 'Interpreter', 'none'); - % set axes background to be transparent (figure color shows - % through) - set(hAxMooringVar, 'Color', 'none') + % set axes background + set(hAxMooringVar, 'Color', backgroundAxis) end end end @@ -247,7 +247,7 @@ function pcolorMooring2DVar(sample_data, varName, isQC, saveToFile, exportDir) fileName = strrep(fileName, '_PARAM_', ['_', varName, '_']); % IMOS_[sub-facility_code]_[site_code]_FV01_[deployment_code]_[PLOT-TYPE]_[PARAM]_C-[creation_date].png fileName = strrep(fileName, '_PLOT-TYPE_', '_PCOLOR_'); - fastSaveas(hFigMooringVar, backgroundColor, fullfile(exportDir, fileName)); + fastSaveas(hFigMooringVar, backgroundFigure, fullfile(exportDir, fileName)); close(hFigMooringVar); end diff --git a/Graph/scatterMooring2DVarAgainstDepth.m b/Graph/scatterMooring2DVarAgainstDepth.m index 541665f94..ed608e6bd 100644 --- a/Graph/scatterMooring2DVarAgainstDepth.m +++ b/Graph/scatterMooring2DVarAgainstDepth.m @@ -170,7 +170,8 @@ function scatterMooring2DVarAgainstDepth(sample_data, varName, isQC, saveToFile, end end -backgroundColor = [0.85 0.85 0.85]; % light grey to allow for colorbar with white +backgroundFigure = [1 1 1]; % white +backgroundAxis = [0.85 0.85 0.85]; % light grey to allow for colorbar with white if any(isPlottable) % collect visualQC config @@ -246,7 +247,7 @@ function scatterMooring2DVarAgainstDepth(sample_data, varName, isQC, saveToFile, 'Name', title, ... 'NumberTitle', 'off', ... 'Visible', visible, ... - 'Color', backgroundColor, ... + 'Color', backgroundFigure, ... 'OuterPosition', monitorRect(iBigMonitor, :)); hAxMooringVar = axes('Parent', hFigMooringVar); @@ -260,7 +261,7 @@ function scatterMooring2DVarAgainstDepth(sample_data, varName, isQC, saveToFile, hold(hAxMooringVar, 'on'); % dummy entry for first entry in legend - hScatterVar(1) = plot(0, 0, 'Color', backgroundColor, 'Visible', 'off'); % color same as background (invisible in legend) + hScatterVar(1) = plot(0, 0, 'Color', backgroundAxis, 'Visible', 'off'); % color same as background (invisible in legend) % set data cursor mode custom display dcm_obj = datacursormode(hFigMooringVar); @@ -403,9 +404,8 @@ function scatterMooring2DVarAgainstDepth(sample_data, varName, isQC, saveToFile, 'YGrid', 'on', ... 'Layer', 'top'); - % set axes background to be transparent (figure color shows - % through) - set(hAxMooringVar, 'Color', 'none') + % set axes background + set(hAxMooringVar, 'Color', backgroundAxis) end % we plot the instrument nominal depth @@ -468,7 +468,7 @@ function scatterMooring2DVarAgainstDepth(sample_data, varName, isQC, saveToFile, end end posAx = get(hAxMooringVar, 'Position'); - set(hLegend, 'Units', 'Normalized', 'Color', 'none') + set(hLegend, 'Units', 'Normalized', 'Color', backgroundAxis) posLh = get(hLegend, 'Position'); if posLh(2) < 0 set(hLegend, 'Position',[posLh(1), abs(posLh(2)), posLh(3), posLh(4)]); @@ -477,13 +477,11 @@ function scatterMooring2DVarAgainstDepth(sample_data, varName, isQC, saveToFile, set(hAxMooringVar, 'Position',[posAx(1), posAx(2)+abs(posLh(2)), posAx(3), posAx(4)-abs(posLh(2))]); end - % set(hLegend, 'Box', 'off', 'Color', 'none'); - if saveToFile fileName = strrep(fileName, '_PARAM_', ['_', varName, '_']); % IMOS_[sub-facility_code]_[site_code]_FV01_[deployment_code]_[PLOT-TYPE]_[PARAM]_C-[creation_date].png fileName = strrep(fileName, '_PLOT-TYPE_', '_SCATTER_'); - fastSaveas(hFigMooringVar, backgroundColor, fullfile(exportDir, fileName)); + fastSaveas(hFigMooringVar, backgroundFigure, fullfile(exportDir, fileName)); close(hFigMooringVar); end diff --git a/Parser/aquatecParse.m b/Parser/aquatecParse.m index 012c0fc74..d78db3674 100644 --- a/Parser/aquatecParse.m +++ b/Parser/aquatecParse.m @@ -208,6 +208,15 @@ % if the filename contains timestamps, use them if ~isempty(timeIdx) + % we remove any data with a bad timestamp + iBadTimeStamp = (data{6} == 0) | (data{5} == 0) | (data{4} == 0); + if any(iBadTimeStamp) + disp(['Info : ' num2str(sum(iBadTimeStamp)) ' bad TIME values (and their corresponding measurements) had to be discarded in ' filename '.']); + for i=1:length(data) + data{i}(iBadTimeStamp) = []; + end + end + time = datenum(data{6}, data{5}, data{4}, data{1}, data{2}, data{3}); else % otherwise generate timestamps from diff --git a/Preprocessing/timeDriftPP.m b/Preprocessing/timeDriftPP.m index 32cb5c70d..f2f3fba3f 100644 --- a/Preprocessing/timeDriftPP.m +++ b/Preprocessing/timeDriftPP.m @@ -302,20 +302,19 @@ function endoffsetFieldCallback(source, ev) end function newtime = timedrift_corr(time,offset_s,offset_e) - %remove linear drift of time (in days) from any instrument. - %the drift is calculated using the start offset (offset_s in seconds) and the + % remove linear drift of time (in days) from any instrument. + % the drift is calculated using the start offset (offset_s in seconds) and the % end offset (offset_e in seconds). - %Bec Cowley, April 2014 - % change the offset times to days: - offset_e = offset_e/60/60/24; - offset_s = offset_s/60/60/24; + % calculate the offset times in days: + offset_days_e = offset_e/60/60/24; + offset_days_s = offset_s/60/60/24; - %make an array of time corrections using the offsets: - tarray = (offset_s:(offset_e-offset_s)/(length(time)-1):offset_e)'; - if isempty(tarray) - newtime = []; + if offset_e == offset_s % then just remove the start time + newtime = time - offset_days_s; else + % make an array of time corrections using the offsets: + tarray = (offset_days_s:(offset_days_e-offset_days_s)/(length(time)-1):offset_days_e)'; newtime = time - tarray; end end diff --git a/imosToolbox.m b/imosToolbox.m index cf627d5b9..86df48021 100644 --- a/imosToolbox.m +++ b/imosToolbox.m @@ -37,7 +37,7 @@ function imosToolbox(auto, varargin) % % Set current toolbox version -toolboxVersion = ['2.5.37 - ' computer]; +toolboxVersion = ['2.5.38 - ' computer]; if nargin == 0, auto = 'manual'; end diff --git a/imosToolbox_Linux64.bin b/imosToolbox_Linux64.bin index 55f0d09e4..f92066eba 100755 Binary files a/imosToolbox_Linux64.bin and b/imosToolbox_Linux64.bin differ diff --git a/imosToolbox_Win32.exe b/imosToolbox_Win32.exe index 0c1b8dd1a..286208b54 100644 Binary files a/imosToolbox_Win32.exe and b/imosToolbox_Win32.exe differ diff --git a/imosToolbox_Win64.exe b/imosToolbox_Win64.exe index 0b1188c8d..0e09b7b15 100644 Binary files a/imosToolbox_Win64.exe and b/imosToolbox_Win64.exe differ