From ce401cdd572f27e4e2e19d48d4f445b0fa7b6c4c Mon Sep 17 00:00:00 2001 From: Alan Race Date: Fri, 20 Oct 2017 16:35:19 +0200 Subject: [PATCH] Added more detailed interface for analysing MVA results --- .../jimzMLParser-1.0-SNAPSHOT.jar | Bin 512717 -> 517902 bytes src/core/ProjectedDataInMemory.m | 4 + src/gui/DataViewer.m | 155 ++--------- src/gui/MOOGL | 2 +- src/gui/PCAInfoFigure.m | 244 ++++++++++++++++++ 5 files changed, 269 insertions(+), 136 deletions(-) create mode 100644 src/gui/PCAInfoFigure.m diff --git a/lib/jimzMLParser/jimzMLParser-1.0-SNAPSHOT.jar b/lib/jimzMLParser/jimzMLParser-1.0-SNAPSHOT.jar index 688d211584b21b9ccf9e34ce1a9f8921ea35764a..dbd488f0b33688c4fa0d48d9bc078990e7d9b702 100644 GIT binary patch delta 73012 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 diff --git a/src/core/ProjectedDataInMemory.m b/src/core/ProjectedDataInMemory.m index 18e92e3..07d6f89 100644 --- a/src/core/ProjectedDataInMemory.m +++ b/src/core/ProjectedDataInMemory.m @@ -34,6 +34,10 @@ function setData(obj, data, projectionMatrix, pixelSelection, isRowMajor, spectr spectrum = SpectralData(spectrum.spectralChannels, intensities); end + function spectrum = getProjectedSpectrum(obj, index) + spectrum = SpectralData(obj.spectralChannels, obj.projectionMatrix(:, index)); + end + function [image] = getProjectedImage(obj, index) image = zeros(obj.height, obj.width); diff --git a/src/gui/DataViewer.m b/src/gui/DataViewer.m index 9abfb14..f634f34 100644 --- a/src/gui/DataViewer.m +++ b/src/gui/DataViewer.m @@ -27,8 +27,6 @@ % preprocessingWorkflow; - regionOfInterestList; - % Data that has been generated and should be shown in the imageListGenerated; imageList; @@ -95,12 +93,6 @@ coefficientLabel; regionOfInterestPanel; - regionOfInterestTable; - editRegionOfInterestButton; - saveRegionOfInterestButton; - loadRegionOfInterestButton; - infoRegionOfInterestButton; - selectedROIs; preprocessingPanel; preprocessingLabel; @@ -115,7 +107,7 @@ statusBar; - regionOfInterestListEditor; +% regionOfInterestListEditor; preprocessingWorkflowEditor; postProcessingMethodEditor; @@ -158,7 +150,8 @@ %obj.createFigure(); - obj.regionOfInterestList = RegionOfInterestList(); +% obj.regionOfInterestList = RegionOfInterestList(); +% obj.regionOfInterestPanel.setRegionOfInterestList(obj.regionOfInterestList); obj.spectrumList = SpectrumList(); obj.imageDisplay = ImageDisplay(obj, Image(1)); @@ -198,6 +191,8 @@ function switchSpectrumView(obj) + f = PCAInfoFigure(obj.dataRepresentation, obj.regionOfInterestPanel.regionOfInterestList); + isVisible = strcmp(get(obj.previousCoefficientButton, 'Visible'), 'on'); obj.makeCoefficientControlsVisible(~isVisible); @@ -259,6 +254,7 @@ function coefficientEditBoxCallback(obj) imageData = obj.dataRepresentation.getProjectedImage(value); obj.imageDisplay.setData(Image(imageData)); + obj.regionOfInterestPanel.setImageForEditor(Image(imageData)); if(sum(obj.dataRepresentation.data(:) < 0) > 0) minVal = min(0, min(imageData(:))); @@ -308,7 +304,7 @@ function generateSpectralRepresentation(obj, representationIndex) else obj.postProcessingMethodEditor = PostProcessingMethodEditor(obj.spectralRepresentationMethods{representationIndex});%MemoryEfficientPCAEditor(obj.spectrumDisplay.peakList, obj.preprocessingWorkflow); - obj.postProcessingMethodEditor.setRegionOfInterestList(obj.regionOfInterestList); + obj.postProcessingMethodEditor.setRegionOfInterestList(obj.regionOfInterestPanel.regionOfInterestList); addlistener(obj.postProcessingMethodEditor, 'FinishedEditingPostProcessingMethod', @(src, evnt)obj.finishedEditingPostProcessingMethod()); end @@ -329,7 +325,7 @@ function performDataReduction(obj, dataReductionIndex) else obj.postProcessingMethodEditor = PostProcessingMethodEditor(obj.dataReductionMethods{dataReductionIndex});%MemoryEfficientPCAEditor(obj.spectrumDisplay.peakList, obj.preprocessingWorkflow); - obj.postProcessingMethodEditor.setRegionOfInterestList(obj.regionOfInterestList); + obj.postProcessingMethodEditor.setRegionOfInterestList(obj.regionOfInterestPanel.regionOfInterestList); addlistener(obj.postProcessingMethodEditor, 'FinishedEditingPostProcessingMethod', @(src, evnt)obj.finishedEditingPostProcessingMethod()); end @@ -344,7 +340,7 @@ function performClustering(obj, clusteringIndex) else obj.postProcessingMethodEditor = PostProcessingMethodEditor(obj.clusteringMethods{clusteringIndex}); - obj.postProcessingMethodEditor.setRegionOfInterestList(obj.regionOfInterestList); + obj.postProcessingMethodEditor.setRegionOfInterestList(obj.regionOfInterestPanel.regionOfInterestList); addlistener(obj.postProcessingMethodEditor, 'FinishedEditingPostProcessingMethod', @(src, evnt)obj.finishedEditingPostProcessingMethod()); end @@ -513,104 +509,21 @@ function peakSelected(obj, peakSelectionEvent) end end - function editRegionOfInterestList(obj) - % Check if we have already opened the - % RegionOfInterestListEditor and if so if it is still a valid - % instance of the class. If so show it, otherwise recreate it - if(isa(obj.regionOfInterestListEditor, 'RegionOfInterestListEditor') && isvalid(obj.regionOfInterestListEditor)) - figure(obj.regionOfInterestListEditor.handle); - else - obj.regionOfInterestListEditor = RegionOfInterestListEditor(obj.imageDisplay.getData(), obj.regionOfInterestList); - - addlistener(obj.regionOfInterestListEditor, 'FinishedEditing', @(src, evnt)obj.finishedEditingRegionOfInterestList()); - end - - assignin('base', 'dvroiList', obj.regionOfInterestList); - end - - function finishedEditingRegionOfInterestList(obj) - obj.regionOfInterestList = obj.regionOfInterestListEditor.regionOfInterestList; - - obj.updateRegionOfInterestList(); - end - - function saveRegionOfInterest(this) - this.regionOfInterestList.get(1) - for i = this.selectedROIs - variableName = inputdlg(['Please specifiy a variable name for ' this.regionOfInterestList.get(i).name ':'], 'Variable name', 1, {'roi'}); - - while(~isempty(variableName)) - if(isvarname(variableName{1})) - assignin('base', variableName{1}, this.regionOfInterestList.get(i)); - break; - else - variableName = inputdlg('Invalid variable name. Please specifiy a variable name:', 'Variable name', 1, variableName); - end - end - end - end - - function loadRegionOfInterest(this) - variables = evalin('base', 'who'); - rois = {}; - - for i = 1:length(variables) - if(evalin('base', ['isa(' variables{i} ', ''RegionOfInterest'')'])) - rois{end+1} = variables{i}; - end - end - - [selection, ok] = listdlg('PromptString', 'Select ROI(s)', ... - 'ListString', rois); - - if(ok) - for i = selection - newROI = evalin('base', rois{i}); - - this.regionOfInterestList.add(newROI); - end - - this.updateRegionOfInterestList(); - end - end - function infoRegionOfInterest(this) - roiInfo = RegionOfInterestInfoFigure(this.regionOfInterestList, this.imageList); - roiInfo.selectImageIndex(1); - end - - function setRegionOfInterestList(this, regionOfInterestList) - this.regionOfInterestList = regionOfInterestList; - this.updateRegionOfInterestList(); - end - - function selectRegionOfInterest(this, src, event) - this.selectedROIs = event.Indices(:, 1)'; + roiInfo = RegionOfInterestInfoFigure(this.regionOfInterestPanel.regionOfInterestList, this.imageList); + roiInfo.selectImageIndex(1); end - function updateRegionOfInterestList(this) - rois = this.regionOfInterestList.getObjects(); - data = {}; - - for i = 1:numel(rois) - data{i, 1} = ['' rois{i}.getName() '' ]; - data{i, 2} = false; - end - - set(this.regionOfInterestTable, 'Data', data); - - this.updateRegionOfInterestDisplay(); - end function updateRegionOfInterestDisplay(this) this.imageDisplay.removeAllRegionsOfInterest(); - roiData = get(this.regionOfInterestTable, 'Data'); + roiData = get(this.regionOfInterestPanel.regionOfInterestTable, 'Data'); for i = 1:size(roiData, 1) if(roiData{i, 2}) - this.imageDisplay.addRegionOfInterest(this.regionOfInterestList.get(i)); + this.imageDisplay.addRegionOfInterest(this.regionOfInterestPanel.regionOfInterestList.get(i)); end end @@ -936,6 +849,7 @@ function displayImage(obj, imageIndex) set(obj.imageTitleLabel, 'String', obj.imageList(imageIndex).getDescription()); obj.imageDisplay.setData(obj.imageList(imageIndex)); + obj.regionOfInterestPanel.setImageForEditor(obj.imageList(imageIndex)); set(obj.imageAxis, 'ButtonDownFcn', @(src, evnt)obj.imageAxisClicked()); end @@ -1098,31 +1012,10 @@ function createFigure(obj) 'Callback', @(src, evnt) obj.loadImageListCallback(), ... 'TooltipString', 'Load image list'); - obj.regionOfInterestPanel = uipanel('Parent', obj.handle, 'Title', 'Region Of Interest', ... - 'Position', [0.05 0.05 0.425 0.2]); - %Set up the region of interest table - columnNames = {'Region', 'Display'}; - columnFormat = {'char', 'logical'}; - columnEditable = [false, true]; - - obj.regionOfInterestTable = uitable('Parent', obj.regionOfInterestPanel, ... - 'ColumnName', columnNames, 'ColumnFormat', columnFormat, 'ColumnEditable', columnEditable, ... - 'RowName', [], 'CellEditCallback', @(src, evnt) obj.updateRegionOfInterestDisplay(), ... - 'CellSelectionCallback', @obj.selectRegionOfInterest, ... - 'Units', 'normalized', 'Position', [0.05 0.05 0.9 0.9]); - obj.editRegionOfInterestButton = uicontrol('Parent', obj.regionOfInterestPanel, 'String', 'Edit', ... - 'Units', 'normalized', 'Position', [0.65 0.1 0.3 0.3], 'Callback', @(src, evnt)obj.editRegionOfInterestList(), ... - 'TooltipString', 'Add/Edit regions of interest'); - obj.saveRegionOfInterestButton = uicontrol('Parent', obj.regionOfInterestPanel, 'String', 'S', ... - 'Units', 'normalized', 'Position', [0.1 0.1 0.1 0.3], 'Callback', @(src, evnt)obj.saveRegionOfInterest(), ... - 'TooltipString', 'Save region of interest list'); - obj.loadRegionOfInterestButton = uicontrol('Parent', obj.regionOfInterestPanel, 'String', 'L', ... - 'Units', 'normalized', 'Position', [0.1 0.1 0.1 0.05], 'Callback', @(src, evnt)obj.loadRegionOfInterest(), ... - 'TooltipString', 'Load region of interest list'); - obj.infoRegionOfInterestButton = uicontrol('Parent', obj.regionOfInterestPanel, 'String', 'i', ... - 'Units', 'normalized', 'Position', [0.1 0.1 0.1 0.05], 'Callback', @(src, evnt)obj.infoRegionOfInterest(), ... - 'TooltipString', 'Display region of interest details'); - + obj.regionOfInterestPanel = RegionOfInterestPanel(obj); + addlistener(obj.regionOfInterestPanel, 'InfoButtonClicked', @(src, evnt) obj.infoRegionOfInterest()); + addlistener(obj.regionOfInterestPanel, 'RegionOfInterestSelected', @(src, evnt) obj.updateRegionOfInterestDisplay()); + % obj.imageAxis = axes('Parent', obj.handle, 'Position', [.25 .62 .7 .3]); @@ -1296,16 +1189,8 @@ function sizeChanged(obj) widthOfROIList = 200; widthForImage = widthForImage - widthOfROIList - margin; - Figure.setObjectPositionInPixels(obj.regionOfInterestPanel, [newPosition(3)-widthOfROIList-margin, imageRegionY, widthOfROIList, imageRegionHeight]); - - panelPosition = Figure.getPositionInPixels(obj.regionOfInterestPanel); - - if(~isempty(panelPosition)) - Figure.setObjectPositionInPixels(obj.regionOfInterestTable, [margin, buttonHeight + margin, panelPosition(3) - margin*2, panelPosition(4) - margin*2 - buttonHeight - 20]); - Figure.setObjectPositionInPixels(obj.editRegionOfInterestButton, [panelPosition(3)*2/3, margin, panelPosition(3)*1/3 - margin, buttonHeight]); - Figure.setObjectPositionInPixels(obj.saveRegionOfInterestButton, [margin, margin, panelPosition(3)/5 - margin*2, buttonHeight]); - Figure.setObjectPositionInPixels(obj.loadRegionOfInterestButton, [margin+panelPosition(3)*1/5, margin, panelPosition(3)/5 - margin*2, buttonHeight]); - Figure.setObjectPositionInPixels(obj.infoRegionOfInterestButton, [margin+panelPosition(3)*2/5, margin, panelPosition(3)/5 - margin*2, buttonHeight]); + if(~isempty(obj.regionOfInterestPanel)) + Figure.setObjectPositionInPixels(obj.regionOfInterestPanel.handle, [newPosition(3)-widthOfROIList-margin, imageRegionY, widthOfROIList, imageRegionHeight]); end end diff --git a/src/gui/MOOGL b/src/gui/MOOGL index 63f98d6..2b3061e 160000 --- a/src/gui/MOOGL +++ b/src/gui/MOOGL @@ -1 +1 @@ -Subproject commit 63f98d6813c3d3ed523a373090eaa308de48d73b +Subproject commit 2b3061e39c00042abd5d2b7e69835cc7e45ef5d9 diff --git a/src/gui/PCAInfoFigure.m b/src/gui/PCAInfoFigure.m new file mode 100644 index 0000000..b570248 --- /dev/null +++ b/src/gui/PCAInfoFigure.m @@ -0,0 +1,244 @@ +classdef PCAInfoFigure < Figure + + properties %(Access = private) + projectedDataInMemory; + + pcXSelectionBox; + pcXImageDisplay; + pcXSpectrumPanel; + + pcYSelectionBox; + pcYImageDisplay; + pcYSpectrumPanel; + + combinedAxis; + roiAxis; + + colourOrder; + + roiList; + roiPanel; + roiMatrix; + roiImage; + end + + methods + function this = PCAInfoFigure(projectedDataInMemory, roiList) + this.projectedDataInMemory = projectedDataInMemory; + + this.setTitle('PCA Details'); + this.roiList = roiList; + + this.pcXImageDisplay = ImageDisplay(this, Image(projectedDataInMemory.getProjectedImage(1))); + this.pcXSpectrumPanel = SpectrumPanel(this, projectedDataInMemory.getProjectedSpectrum(1)); + + this.pcYImageDisplay = ImageDisplay(this, Image(projectedDataInMemory.getProjectedImage(2))); + this.pcYSpectrumPanel = SpectrumPanel(this, projectedDataInMemory.getProjectedSpectrum(2)); + + this.populateSelectionBoxes(); + + this.combinedAxis = axes('Parent', this.handle); + plot(projectedDataInMemory.getProjectedSpectrum(1).intensities, projectedDataInMemory.getProjectedSpectrum(2).intensities, '.'); + + this.roiAxis = axes('Parent', this.handle); + this.colourOrder = get(gca, 'ColorOrder'); + + while size(this.colourOrder, 1) < roiList.getSize() + this.colourOrder = [this.colourOrder; this.colourOrder * 0.5]; + end + + this.roiListChanged(); + + for j = 1:roiList.getSize() + roiList.get(j).setColour(Colour(round(this.colourOrder(j, 1) * 255), round(this.colourOrder(j, 2) * 255), round(this.colourOrder(j, 3) * 255))); + end + + this.roiPanel.setRegionOfInterestList(roiList); + + % Ensure that all proportions are correct + this.sizeChanged(); + end + end + + methods (Access = protected) + function populateSelectionBoxes(this) + numPCs = size(this.projectedDataInMemory.projectionMatrix, 2); + pcNames = cellstr(num2str((1:numPCs)', 'PC %d')); + + set(this.pcXSelectionBox, 'String', pcNames'); + set(this.pcYSelectionBox, 'String', pcNames'); + + set(this.pcYSelectionBox, 'Value', 2); + end + + function pcSelected(this, src, event, pc) + newPC = get(src, 'Value'); + + if(pc == 1) + this.pcXImageDisplay.setData(Image(this.projectedDataInMemory.getProjectedImage(newPC))); + this.pcXSpectrumPanel.spectrumDisplay.setData(this.projectedDataInMemory.getProjectedSpectrum(newPC)); + this.pcXImageDisplay.setDivergingColourMap(); + else + this.pcYImageDisplay.setData(Image(this.projectedDataInMemory.getProjectedImage(newPC))); + this.pcYSpectrumPanel.spectrumDisplay.setData(this.projectedDataInMemory.getProjectedSpectrum(newPC)); + this.pcYImageDisplay.setDivergingColourMap(); + end + + this.redrawPlot(); + end + + function redrawPlot(this) + pcX = get(this.pcXSelectionBox, 'Value'); + pcY = get(this.pcYSelectionBox, 'Value'); + + pcXScores = this.projectedDataInMemory.getProjectedImage(pcX)'; + pcXScores = pcXScores(:); + pcYScores = this.projectedDataInMemory.getProjectedImage(pcY)'; + pcYScores = pcYScores(:); + + if(~isempty(this.roiList) && this.roiList.getSize() > 0) + this.plotROIPCvsPC(1, pcXScores, pcYScores); + + hold(this.combinedAxis, 'on'); + for i = 2:size(this.roiMatrix, 2) + this.plotROIPCvsPC(i, pcXScores, pcYScores); + end + hold(this.combinedAxis, 'off'); + else + plot(this.combinedAxis, pcXScores, pcYScores, '.'); + end + end + + function plotROIPCvsPC(this, roi, pcXScores, pcYScores) + pcXSub = pcXScores(this.roiMatrix(:, roi)); + pcYSub = pcYScores(this.roiMatrix(:, roi)); + + plot(this.combinedAxis, pcXSub, pcYSub, '.'); + + colourOrder = get(gca, 'ColorOrder'); + + if(roi < size(colourOrder, 1)) + colour = colourOrder(roi, :); + else + colour = [0 0 0]; + end + + this.confellipse2([pcXSub pcYSub], 0.95, colour); + end + + % https://de.mathworks.com/matlabcentral/answers/24312-pca-for-confidence-ellipses + function hh = confellipse2(this, xy, conf, colour) + %CONFELLIPSE2 Draws a confidence ellipse. + % CONFELLIPSE2(XY,CONF) draws a confidence ellipse on the current axes + % which is calculated from the n-by-2 matrix XY and encloses the + % fraction CONF (e.g., 0.95 for a 95% confidence ellipse). + % H = CONFELLIPSE2(...) returns a handle to the line. + n = size(xy,1); + mxy = mean(xy); + numPts = 200; % The number of points in the ellipse. + th = linspace(0,2*pi,numPts)'; + %dimensionality of the data + p = 2; + %convert confidence rating (eg 0.95) into z score - relative to size of + %sample(n) and the dimensionality of the data, n-p is therefore the degrees + %of freedom. + k = finv(conf,p,n-p)*p*(n-1)/(n-p); + % principle components analysis, lat gives eigenvalues + [pc,score,lat] = princomp(xy); + ab = diag(sqrt(k*lat)); + exy = [cos(th),sin(th)]*ab*pc' + repmat(mxy,numPts,1); + + % Add ellipse to current plot + h = line(this.combinedAxis, exy(:,1),exy(:,2), 'Clipping','off', 'Color', colour); + if nargout > 0 + hh = h; + end + end + + function roiListChanged(this) + this.roiList = this.roiPanel.regionOfInterestList; + + if(~isempty(this.roiList) && this.roiList.getSize() > 0) + this.roiImage = zeros(size(this.roiList.get(1).pixelSelection, 1), size(this.roiList.get(1).pixelSelection, 2), 3); + + this.roiMatrix = false(size(this.projectedDataInMemory.pixels, 1), this.roiList.getSize()); + + for i = 1:size(this.projectedDataInMemory.pixels, 1) + coord = this.projectedDataInMemory.pixels(i, :); + + for j = 1:this.roiList.getSize() + this.roiMatrix(i, j) = this.roiList.get(j).pixelSelection(coord(2), coord(1)); + + if(this.roiMatrix(i, j)) + this.roiImage(coord(2), coord(1), :) = this.colourOrder(j, :); + % this.roiImage(coord(2), coord(1), :) = [roiList.get(j).colour.r, roiList.get(j).colour.g, roiList.get(j).colour.b]./255; + end + end + end + + imagesc(this.roiAxis, this.roiImage); + axis(this.roiAxis, 'image'); + axis(this.roiAxis, 'off'); + end + + this.redrawPlot(); + end + + function createFigure(this) + % createFigure Create figure. + % + % createFigure() + + createFigure@Figure(this); + + this.pcXSelectionBox = uicontrol('Parent', this.handle, 'Style', 'popup', ... + 'String', {''}, 'Units', 'normalized', 'Position', [0.05, 0.85, 0.15, 0.1], 'Callback', @(src, event) this.pcSelected(src, event, 1)); + this.pcYSelectionBox = uicontrol('Parent', this.handle, 'Style', 'popup', ... + 'String', {''}, 'Units', 'normalized', 'Position', [0.65, 0.85, 0.15, 0.1], 'Callback', @(src, event) this.pcSelected(src, event, 2)); + + this.roiPanel = RegionOfInterestPanel(this); + addlistener(this.roiPanel, 'RegionOfInterestListChanged', @(src, event) this.roiListChanged()); + end + + function sizeChanged(this, src, evnt) + if(this.handle ~= 0) + oldUnits = get(this.handle, 'Units'); + set(this.handle, 'Units', 'pixels'); + + newPosition = get(this.handle, 'Position'); + + margin = 10; + + dropDownBoxHeight = 20; + + leftColumnWidth = newPosition(3) / 4; + rightColumnWidth = leftColumnWidth; + middleColumnWidth = newPosition(3) / 2; + + bottomPanelHeight = newPosition(4) / 3; + + colourBarSize = 80; + spectrumExtraSize = 30; + spectrumExtraSize = 0; + buttonHeight = 25; + + widthForImage = leftColumnWidth-2*margin - colourBarSize; + widthForSpectrum = leftColumnWidth-2*margin - spectrumExtraSize; + + Figure.setObjectPositionInPixels(this.pcXSelectionBox, [margin, newPosition(4)-margin-dropDownBoxHeight, leftColumnWidth-2*margin, dropDownBoxHeight]); + Figure.setObjectPositionInPixels(this.pcXImageDisplay.axisHandle, [margin margin*2+(newPosition(4)/2-margin*3) widthForImage newPosition(4)/2-margin*3]); + Figure.setObjectPositionInPixels(this.pcXSpectrumPanel.handle, [margin margin widthForSpectrum newPosition(4)/2-margin*3]); + + Figure.setObjectPositionInPixels(this.pcYSelectionBox, [margin+leftColumnWidth+middleColumnWidth, newPosition(4)-margin-dropDownBoxHeight, leftColumnWidth-2*margin, dropDownBoxHeight]); + Figure.setObjectPositionInPixels(this.pcYImageDisplay.axisHandle, [margin+leftColumnWidth+middleColumnWidth margin*2+(newPosition(4)/2-margin*3) widthForImage newPosition(4)/2-margin*3]); + Figure.setObjectPositionInPixels(this.pcYSpectrumPanel.handle, [margin+leftColumnWidth+middleColumnWidth margin widthForSpectrum newPosition(4)/2-margin*3]); + + Figure.setObjectPositionInPixels(this.combinedAxis, [margin*4+leftColumnWidth margin+bottomPanelHeight middleColumnWidth-8*margin newPosition(4)-bottomPanelHeight-2*margin]); + Figure.setObjectPositionInPixels(this.roiAxis, [margin*4+leftColumnWidth margin middleColumnWidth/2-8*margin bottomPanelHeight-2*margin]); + Figure.setObjectPositionInPixels(this.roiPanel.handle, [margin+leftColumnWidth+middleColumnWidth/2 margin middleColumnWidth/2-2*margin bottomPanelHeight-2*margin]); + end + + sizeChanged@Figure(this); + end + end +end \ No newline at end of file