diff --git a/AutomaticQC/imosTimeSeriesSpikeQC.m b/AutomaticQC/imosTimeSeriesSpikeQC.m index 23a02ecc1..c0ad7198f 100644 --- a/AutomaticQC/imosTimeSeriesSpikeQC.m +++ b/AutomaticQC/imosTimeSeriesSpikeQC.m @@ -146,7 +146,7 @@ arg_string{l + 1} = [user_input.opts{l + 1} '=' string(user_input.args{l + 1}) '.']; -paramLog = strjoin([sprintf('imosTimeSeriesSpikeQC: %d spikes detected on %s with %s with parameters:', nspikes, varname, fun_name) arg_string{:}]); +paramLog = char(strjoin([sprintf('%s(%s,', fun_name, varname) arg_string{:}])); end function [ts_variables] = load_timeseries_variables(sample_data) diff --git a/GUI/previewWindow.m b/GUI/previewWindow.m index d4576bb79..9ca11a8e4 100644 --- a/GUI/previewWindow.m +++ b/GUI/previewWindow.m @@ -3,7 +3,7 @@ properties (Constant) limits_opts_func = @imosSpikeClassifiersLimits; - windowOpts = {'Name', 'imosTimeSeriesSpikeQC::Preview', 'Visible', 'on', 'MenuBar', 'none', 'Resize', 'on', 'NumberTitle', 'off', 'WindowStyle', 'Modal'}; + windowOpts = {'Name', 'imosTimeSeriesSpikeQC::Preview', 'Visible', 'on', 'MenuBar', 'none', 'Resize', 'on', 'NumberTitle', 'off', 'WindowStyle', 'Modal','Units','normalized','Position',[0.1,0.1,.8,.8]}; panelMargin = 0.025; buttonMargin = 0.025; @@ -84,11 +84,12 @@ function obj = previewWindow(postqc_data, classifier_name, classifier_struct, varargin) %function obj = previewWindow(postqc_data, classifier_name, classifier_struct, varargin) % - % Creates the spike preview window. When the user finishes (ok button) + % Creates the spike preview window. + % When the user finishes (ok button), the UserData property is set. % % Inputs: % - % postqc_data - the toolbox struct + % postqc_data - the toolbox struct with data % classifier_name - the SpikeClassifier method name % classifier_struct - the SpikeClassifier struct % @@ -111,7 +112,7 @@ obj.ydata = postqc_data.data; obj.xdata = postqc_data.time; - % cut bursts as well. + % set bursts info if avail. if isfield(obj.postqc_data, 'valid_burst_range') obj.is_data_burst = true; obj.valid_burst_range = obj.postqc_data.valid_burst_range; @@ -156,8 +157,6 @@ function init_uiwindow(obj) obj.ui_window = figure(obj.windowOpts{:}); - obj.ui_window.Position(3) = obj.ui_window.Position(3) * 2.5; - obj.ui_window.Position(4) = obj.ui_window.Position(4) * 1.5; end function init_botpanel(obj) diff --git a/GUI/spikeWindow.m b/GUI/spikeWindow.m index a402832a1..f3d8d682b 100644 --- a/GUI/spikeWindow.m +++ b/GUI/spikeWindow.m @@ -9,7 +9,7 @@ bottomStripHeight = 0.1; okSize = 0.05; cancelSize = 0.05; - windowOpts = {'Name', 'imosTimeSeriesSpikeQC', 'Visible', 'on', 'MenuBar', 'none', 'Resize', 'on', 'NumberTitle', 'off', 'WindowStyle', 'Modal'}; + windowOpts = {'Name', 'imosTimeSeriesSpikeQC', 'Visible', 'on', 'MenuBar', 'none', 'Resize', 'on', 'NumberTitle', 'off', 'WindowStyle', 'Modal','Units','normalized','Position',[0.25,0.1,0.5,0.8]}; end properties (Access = private) @@ -69,8 +69,6 @@ function init_uiwindow(obj) obj.ui_window = figure(obj.windowOpts{:}); - obj.ui_window.Position(3) = obj.ui_window.Position(3) * 1.5; - obj.ui_window.Position(4) = obj.ui_window.Position(3) * 1.; end function init_panel(obj, instrument) diff --git a/Graph/checkMooringPlannedDepths.m b/Graph/checkMooringPlannedDepths.m index 8c714a5a9..4ece21b45 100644 --- a/Graph/checkMooringPlannedDepths.m +++ b/Graph/checkMooringPlannedDepths.m @@ -301,8 +301,9 @@ function checkMooringPlannedDepths(sample_data, isQC, saveToFile, exportDir) uiwait(hMsgbox); %select the area to use for comparison - [x, ~] = select_points(hAxPress); - + rec = drawrectangle(hAxPress); + x = [rec.Position(1) rec.Position(1)+rec.Position(3)]; + delete(rec); iGood = timeVar >= x(1) & timeVar <= x(2); end @@ -336,4 +337,4 @@ function checkMooringPlannedDepths(sample_data, isQC, saveToFile, exportDir) end end -end \ No newline at end of file +end diff --git a/Java/ddb.jar b/Java/ddb.jar index 3a149b541..956339409 100644 Binary files a/Java/ddb.jar and b/Java/ddb.jar differ diff --git a/Util/Path/setToolboxPaths.m b/Util/Path/setToolboxPaths.m index 17733c1e7..4e66513af 100644 --- a/Util/Path/setToolboxPaths.m +++ b/Util/Path/setToolboxPaths.m @@ -37,6 +37,7 @@ function setToolboxPaths(toolbox_path) % Toolbox root level folders and subfolders that contains matlab functions folders = { ... + 'AutomaticQC', ... frdir(fullfile(toolbox_path, 'AutomaticQC')), ... 'DDB', ... 'FlowManager', ... diff --git a/Util/UI/numericInputButton.m b/Util/UI/numericInputButton.m index 3201afb30..f9eea0b89 100644 --- a/Util/UI/numericInputButton.m +++ b/Util/UI/numericInputButton.m @@ -43,7 +43,7 @@ end if nargin < 4 - laterCallback = @(x)(x); + laterCallback = @(~)(1); %dummy call end obj.panel = panel; diff --git a/Util/UI/uiNumericalBox.m b/Util/UI/uiNumericalBox.m index 112f06308..2e65208a6 100644 --- a/Util/UI/uiNumericalBox.m +++ b/Util/UI/uiNumericalBox.m @@ -110,8 +110,8 @@ vboxOpts = {'Units', 'normalized', 'Position', boxPosition}; textboxOpts = {'Style', 'text', 'Value', boxValues{k}, 'String', boxNames{k}, 'FontSize', 10, 'Units', 'normalized', 'Position', textboxPosition}; - - vbox{k} = numericInputButton(panel, boxValues{k}, boxFuncs{k}, vboxOpts{:}); + laterCallback = @(~)(1); % dummy call + vbox{k} = numericInputButton(panel, boxValues{k}, boxFuncs{k}, laterCallback, vboxOpts{:}); textbox{k} = uicontrol(panel, textboxOpts{:}); end diff --git a/Util/select_points.m b/Util/select_points.m deleted file mode 100644 index baa61c2cc..000000000 --- a/Util/select_points.m +++ /dev/null @@ -1,20 +0,0 @@ -function [x,y] = select_points(hAx) -%function [x,y] = select_points -% Uses rbbox to select points in the timeseries chart for flagging. -% Returns [x,y] - index of rectangle corners in figure units -axes(hAx); -k = waitforbuttonpress; -point1 = get(gca,'CurrentPoint'); % button down detected -finalRect = rbbox; % return figure units -point2 = get(gca,'CurrentPoint'); % button up detected -point1 = point1(1,1:2); % extract x and y -point2 = point2(1,1:2); -p1 = min(point1,point2); % calculate locations -offset = abs(point1-point2); % and dimensions -x = [p1(1) p1(1)+offset(1) p1(1)+offset(1) p1(1) p1(1)]; -y = [p1(2) p1(2) p1(2)+offset(2) p1(2)+offset(2) p1(2)]; -hold on -axis manual -plot(x,y); % redraw in dataspace units - -end \ No newline at end of file diff --git a/build.py b/build.py index ad9b887ad..0cca300a6 100755 --- a/build.py +++ b/build.py @@ -36,7 +36,7 @@ } VERSION_FILE = ".standalone_canonical_version" MATLAB_VERSION = "R2018b" -MATLAB_TOOLBOXES_TO_INCLUDE: List[str] = ["signal"] +MATLAB_TOOLBOXES_TO_INCLUDE: List[str] = ["signal/signal","stats/stats","images/imuitools"] def find_matlab_rootpath(arch_str): @@ -178,7 +178,7 @@ def create_mcc_call_sig( if MATLAB_TOOLBOXES_TO_INCLUDE: matlab_root_path = find_matlab_rootpath(arch) extra_toolbox_paths = [ - os.path.join(matlab_root_path, "toolbox", x, x) + os.path.join(matlab_root_path, "toolbox", x) for x in MATLAB_TOOLBOXES_TO_INCLUDE ] diff --git a/imosToolbox.m b/imosToolbox.m index e9411d0a6..c0efcc4f8 100644 --- a/imosToolbox.m +++ b/imosToolbox.m @@ -37,7 +37,7 @@ function imosToolbox(auto, varargin) % % Set current toolbox version -toolboxVersion = ['2.6.6 - ' computer]; +toolboxVersion = ['2.6.7 - ' computer]; if nargin == 0, auto = 'manual'; end diff --git a/imosToolbox_Linux64.bin b/imosToolbox_Linux64.bin index 7933c6cd4..c8a189bfc 100755 Binary files a/imosToolbox_Linux64.bin and b/imosToolbox_Linux64.bin differ diff --git a/imosToolbox_Win64.exe b/imosToolbox_Win64.exe index 52b3444d3..78d77f75b 100644 Binary files a/imosToolbox_Win64.exe and b/imosToolbox_Win64.exe differ