Microscopy Image Browser 2.91
MIB
Loading...
Searching...
No Matches
mibAlignmentController Class Reference

controller class for alignment of datasets More...

Inheritance diagram for mibAlignmentController:
Collaboration diagram for mibAlignmentController:

Public Member Functions

 mibAlignmentController (mibModel, varargin)
 
function  closeWindow ()
 
function  returnBatchOpt (BatchOptOut)
 return structure with Batch Options and possible configurations via the notify syncBatch event Parameters: BatchOptOut: a local structure with Batch Options generated during Continue callback. It may contain more fields than obj.BatchOpt structure
 
function  updateBatchOptFromGUI (hObject)
 
function  updateWidgets ()
 
function  selectButton_Callback ()
 — Executes on button press in selectButton.
 
function [ meta , files , pixSize , dimsXYZ ] = getMetaInfo (dirName)
 
function  radioButton_Callback ()
 callback for selection of radio buttons: obj.View.handles.dirRadio; .fileRadio; .importRadio in the Second stack panel
 
function  getSearchWindow_Callback ()
 callback from getSearchWindow button to define area to be used for alignment
 
function  loadShiftsCheck_Callback ()
 — Executes on button press in loadShiftsCheck.
 
function  subwindowEdit_Callback (hObject)
 callback for change of subwindow edit boxes
 
function  continueBtn_Callback (useBatchMode)
 — Executes on button press in continueBtn and does alignment Parameters: useBatchMode: a logical switch indicating that the alignment started in the batch mode
 
function  LandmarkMultiPointAlignment (parameters)
 perform alignment using multiple landmark points
 
function  LandmarkMultiPointColorAlignment (parameters)
 perform alignment of the selected color channel over the other color channels using multiple landmark points
 
function  algorithm_Callback ()
 callback on selection of algorithm to use
 
function status = updateAutomaticOptions ()
 update options (obj.automaticOptions) for the automatic alignment using detected features
 
function  previewFeaturesBtn_Callback ()
 preview detected features
 
function  AutomaticFeatureBasedAlignment (parameters)
 perform automatic alignment based on detected features
 
function  HDD_BioformatsReader_Callback ()
 callback for selection of bio-formats reader for the HDD mode
 

Static Public Member Functions

static function idx = findMatchingPairs (X1, X2)
 find matching pairs for X1 from X2 X1[:, (x,y)] X2[:, (x,y)]
 
static function  ViewListner_Callback2 (obj, src, evnt)
 

Public Attributes

 mibModel
 handles to the model
 
 View
 handle to the view
 
 listener
 a cell array with handles to listeners
 
 files
 files structure from the getImageMetadata
 
 meta
 meta containers.Map from the getImageMetadata
 
 pathstr
 current path
 
 pixSize
 pixSize structure from the getImageMetadata
 
 shiftsX
 vector with X-shifts or tformMatrix
 
 shiftsY
 vector with Y-shifts or rbMatrix
 
 varname
 variable for import
 
 automaticOptions
 a structure with additional options used during automatic alignment with feature detectors .imgWidthForAnalysis = round(Width/4); % size of the image used to detect features, decrease to make it faster, but compromising the precision .rotationInvariance = true; % Rotation invariance flag, specified a logical scalar; When you set this property to true, the orientation of the feature vectors are not estimated and the feature orientation is set to pi/2. .detectSURFFeatures.MetricThreshold = 1000; % non-negative scalar, strongest feature threshold; to return more blobs, decrease the value of this threshold .detectSURFFeatures.NumOctaves = 3; % scalar, greater than or equal to 1, increase this value to detect larger blobs. Recommended values are between 1 and 4. .detectSURFFeatures.NumScaleLevels = 4; % integer scalar, greater than or equal to 3; Number of scale levels per octave to compute, increase this number to detect more blobs at finer scale increments. Recommended values are between 3 and 6. .detectSIFTFeatures.ContrastThreshold = 0.0133; % Contrast threshold for selecting the strongest features, specified as a non-negative scalar in the range [0,1]. The threshold is used to filter out weak features in low-contrast regions of the image. Increase the contrast threshold to decrease the number of returned features. .detectSIFTFeatures.EdgeThreshold = 10; % Edge threshold, specified as a non-negative scalar greater than or equal to 1. The threshold is used to filter out unstable edge-like features in the image that are susceptible to noise. Increase the edge threshold to decrease the number of features removed by filtering. .detectSIFTFeatures.NumLayersInOctave = 3; % Number of layers in each octave, specified as an integer scalar greater than or equal to 1. The number of octaves is computed automatically from the image resolution. Increase the number of layers in each octave to detect larger features in the image. .detectSIFTFeatures.Sigma = 1.6; % Sigma of the Gaussian, specified as a scalar. The sigma of the Gaussian is applied to the input image at the initial octave. Sigma values are typically in the range [1,2]. Lower the sigma value if the image is blurry. .detectMSERFeatures.ThresholdDelta = 2; % percent numeric value; step size between intensity threshold levels, decrease this value to return more regions. Typical values range from 0.8 to 4. .detectMSERFeatures.RegionAreaRange = [30 14000]; % two-element vector, size of the region in pixels, allows the selection of regions containing pixels between the provided range .detectMSERFeatures.MaxAreaVariation = 0.25; % positive scalar, maximum area variation between extremal regions at varying intensity thresholds; Increasing this value returns a greater number of regions, but they may be less stable. Stable regions are very similar in size over varying intensity thresholds. Typical values range from 0.1 to 1.0. .detectHarrisFeatures.MinQuality = 0.01; % between [0 1], minimum accepted quality of corners, larger values can be used to remove erroneous corners .detectHarrisFeatures.FilterSize = 5; % an odd integer value in the range [3, min(size(I))]; Gaussian filter dimension. .detectBRISKFeatures.MinContrast = 0.2; % a scalar in the range (0 1); Minimum intensity difference between a corner and its surrounding region, Increase this value to reduce the number of detected corners. .detectBRISKFeatures.MinQuality = 0.1; % a scalar value in the range [0,1], Minimum accepted quality of corners, Increase this value to remove erroneous corners. .detectBRISKFeatures.NumOctaves = 4; % an integer scalar, greater than or equal to 0; Number of octaves to implement, Increase this value to detect larger blobs. Recommended values are between 1 and 4. When you set NumOctaves to 0, the function disables multiscale detection .detectFASTFeatures.MinQuality = 0.1; % a scalar value in the range [0,1]; The minimum accepted quality of corners represents a fraction of the maximum corner metric value in the image. Larger values can be used to remove erroneous corners. .detectFASTFeatures.MinContrast = 0.2; % a scalar value in the range (0,1), The minimum intensity represents a fraction of the maximum value of the image class. Increasing the value reduces the number of detected corners. .detectMinEigenFeatures.MinQuality = 0.01; % a scalar value in the range [0,1], The minimum accepted quality of corners represents a fraction of the maximum corner metric value in the image. Larger values can be used to remove erroneous corners .detectMinEigenFeatures.FilterSize = 5; % an odd integer value in the range [3, inf), The Gaussian filter smooths the gradient of the input image. .detectORBFeatures.ScaleFactor = 1.2; % Scale factor for image decomposition, an integer greater than 1. .detectORBFeatures.NumLevels = 8; % Number of decomposition levels, an integer greater than or equal to 1. Increase this value to extract keypoints from the image at more levels of decomposition. .amst.MaximumIterations = 100; % parameters for imregconfig optimizer, Maximum number of iterations .amst.GradientMagnitudeTolerance = 0.0001; % parameters for imregconfig optimizer, Gradient magnitude tolerance .amst.MinimumStepLength = .0001; % parameters for imregconfig optimizer, Tolerance for convergence, with a small value, the optimization takes longer to compute, but it is likely to converge on a more accurate metric value. .amst.MaximumStepLength = 0.0625; % parameters for imregconfig optimizer, Initial step length, whan a large value, the computation time decreases. However, the optimizer might fail to converge .amst.RelaxationFactor = 0.5; % parameters for imregconfig optimizer, Step length reduction factor, defines the rate at which the optimizer reduces step size during convergence .estGeomTransform.MaxNumTrials = 1000; % Maximum number of random trials for finding the inliers, increasing this value improves the robustness of the results at the expense of additional computations. .estGeomTransform.Confidence = 99; % Confidence (0-100) of finding maximum number of inliers, increasing this value improves the robustness of the results at the expense of additional computations. .estGeomTransform.MaxDistance = 1.5; % Maximum distance in pixels, from a point to the projection of its corresponding point
 
 BatchOpt
 a structure compatible with batch operation, see details in the contsructor
 
EVENT closeEvent
 > Description of events event firing when window is closed
 
- Public Attributes inherited from handle
 addlistener
 Creates a listener for the specified event and assigns a callback function to execute when the event occurs.
 
 notify
 Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects.
 
 delete
 Handle object destructor method that is called when the object's lifecycle ends.
 
 disp
 Handle object disp method which is called by the display method. See the MATLAB disp function.
 
 display
 Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function.
 
 findobj
 Finds objects matching the specified conditions from the input array of handle objects.
 
 findprop
 Returns a meta.property objects associated with the specified property name.
 
 fields
 Returns a cell array of string containing the names of public properties.
 
 fieldnames
 Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function.
 
 isvalid
 Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass.
 
 eq
 Relational functions example. See details for more information.
 
 transpose
 Transposes the elements of the handle object array.
 
 permute
 Rearranges the dimensions of the handle object array. See the MATLAB permute function.
 
 reshape
 hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function.
 
 sort
 ort the handle objects in any array in ascending or descending order.
 

Detailed Description

controller class for alignment of datasets

Constructor & Destructor Documentation

◆ mibAlignmentController()

mibAlignmentController.mibAlignmentController ( mibModel,
varargin )

References handle.addlistener, mibModel, mibRescaleWidgets(), mibUpdateFontSize(), handle.notify, updateBatchOptCombineFields_Shared(), and updateGUIFromBatchOpt_Shared().

Referenced by continueBtn_Callback(), and LandmarkMultiPointAlignment().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ algorithm_Callback()

function mibAlignmentController.algorithm_Callback ( )

callback on selection of algorithm to use

◆ AutomaticFeatureBasedAlignment()

function mibAlignmentController.AutomaticFeatureBasedAlignment ( parameters)

perform automatic alignment based on detected features

Required fields of parameters:

References max, mibAlignmentDetectFeatures(), mibInputMultiDlg(), min, and handle.notify.

Here is the call graph for this function:

◆ closeWindow()

function mibAlignmentController.closeWindow ( )

References handle.isvalid, and handle.notify.

◆ continueBtn_Callback()

function mibAlignmentController.continueBtn_Callback ( useBatchMode)

— Executes on button press in continueBtn and does alignment Parameters: useBatchMode: a logical switch indicating that the alignment started in the batch mode

References handle.fields, max, mibAlignmentController(), mibCalcShifts(), mibCrossShiftStack(), mibCrossShiftStacks(), mibGetImages(), mibInputMultiDlg(), mibQuestDlg(), mibSubtractRunningAverage(), min, handle.notify, handle.reshape, shiftsX, and shiftsY.

Here is the call graph for this function:

◆ findMatchingPairs()

static function idx = mibAlignmentController.findMatchingPairs ( X1,
X2 )
static

find matching pairs for X1 from X2 X1[:, (x,y)] X2[:, (x,y)]

References min, and N.

◆ getMetaInfo()

function [ meta , files , pixSize , dimsXYZ ] = mibAlignmentController.getMetaInfo ( dirName)

References files, meta, mibGetImageMetadata(), handle.notify, and pixSize.

Here is the call graph for this function:

◆ getSearchWindow_Callback()

function mibAlignmentController.getSearchWindow_Callback ( )

callback from getSearchWindow button to define area to be used for alignment

◆ HDD_BioformatsReader_Callback()

function mibAlignmentController.HDD_BioformatsReader_Callback ( )

callback for selection of bio-formats reader for the HDD mode

References updateGUIFromBatchOpt_Shared().

Here is the call graph for this function:

◆ LandmarkMultiPointAlignment()

function mibAlignmentController.LandmarkMultiPointAlignment ( parameters)

perform alignment using multiple landmark points

Required fields of parameters:

References max, mibAlignmentController(), min, handle.notify, and handle.reshape.

Here is the call graph for this function:

◆ LandmarkMultiPointColorAlignment()

function mibAlignmentController.LandmarkMultiPointColorAlignment ( parameters)

perform alignment of the selected color channel over the other color channels using multiple landmark points

Required fields of parameters:

References handle.notify.

◆ loadShiftsCheck_Callback()

function mibAlignmentController.loadShiftsCheck_Callback ( )

— Executes on button press in loadShiftsCheck.

References mib_uigetfile().

Here is the call graph for this function:

◆ previewFeaturesBtn_Callback()

function mibAlignmentController.previewFeaturesBtn_Callback ( )

preview detected features

References mibAlignmentDetectFeatures(), and mibShowErrorDialog().

Here is the call graph for this function:

◆ radioButton_Callback()

function mibAlignmentController.radioButton_Callback ( )

callback for selection of radio buttons: obj.View.handles.dirRadio; .fileRadio; .importRadio in the Second stack panel

◆ returnBatchOpt()

function mibAlignmentController.returnBatchOpt ( BatchOptOut)

return structure with Batch Options and possible configurations via the notify syncBatch event Parameters: BatchOptOut: a local structure with Batch Options generated during Continue callback. It may contain more fields than obj.BatchOpt structure

References handle.notify.

◆ selectButton_Callback()

function mibAlignmentController.selectButton_Callback ( )

— Executes on button press in selectButton.

References mib_uigetfile().

Here is the call graph for this function:

◆ subwindowEdit_Callback()

function mibAlignmentController.subwindowEdit_Callback ( hObject)

callback for change of subwindow edit boxes

◆ updateAutomaticOptions()

function status = mibAlignmentController.updateAutomaticOptions ( )

update options (obj.automaticOptions) for the automatic alignment using detected features

Return values
statusa switch whether the function was finished to the end or cancelled

References mibInputMultiDlg().

Here is the call graph for this function:

◆ updateBatchOptFromGUI()

function mibAlignmentController.updateBatchOptFromGUI ( hObject)

References updateBatchOptFromGUI_Shared().

Here is the call graph for this function:

◆ updateWidgets()

function mibAlignmentController.updateWidgets ( )

References max, handle.notify, and updateGUIFromBatchOpt_Shared().

Here is the call graph for this function:

◆ ViewListner_Callback2()

static function mibAlignmentController.ViewListner_Callback2 ( obj,
src,
evnt )
static

Member Data Documentation

◆ automaticOptions

mibAlignmentController.automaticOptions

a structure with additional options used during automatic alignment with feature detectors .imgWidthForAnalysis = round(Width/4); % size of the image used to detect features, decrease to make it faster, but compromising the precision .rotationInvariance = true; % Rotation invariance flag, specified a logical scalar; When you set this property to true, the orientation of the feature vectors are not estimated and the feature orientation is set to pi/2. .detectSURFFeatures.MetricThreshold = 1000; % non-negative scalar, strongest feature threshold; to return more blobs, decrease the value of this threshold .detectSURFFeatures.NumOctaves = 3; % scalar, greater than or equal to 1, increase this value to detect larger blobs. Recommended values are between 1 and 4. .detectSURFFeatures.NumScaleLevels = 4; % integer scalar, greater than or equal to 3; Number of scale levels per octave to compute, increase this number to detect more blobs at finer scale increments. Recommended values are between 3 and 6. .detectSIFTFeatures.ContrastThreshold = 0.0133; % Contrast threshold for selecting the strongest features, specified as a non-negative scalar in the range [0,1]. The threshold is used to filter out weak features in low-contrast regions of the image. Increase the contrast threshold to decrease the number of returned features. .detectSIFTFeatures.EdgeThreshold = 10; % Edge threshold, specified as a non-negative scalar greater than or equal to 1. The threshold is used to filter out unstable edge-like features in the image that are susceptible to noise. Increase the edge threshold to decrease the number of features removed by filtering. .detectSIFTFeatures.NumLayersInOctave = 3; % Number of layers in each octave, specified as an integer scalar greater than or equal to 1. The number of octaves is computed automatically from the image resolution. Increase the number of layers in each octave to detect larger features in the image. .detectSIFTFeatures.Sigma = 1.6; % Sigma of the Gaussian, specified as a scalar. The sigma of the Gaussian is applied to the input image at the initial octave. Sigma values are typically in the range [1,2]. Lower the sigma value if the image is blurry. .detectMSERFeatures.ThresholdDelta = 2; % percent numeric value; step size between intensity threshold levels, decrease this value to return more regions. Typical values range from 0.8 to 4. .detectMSERFeatures.RegionAreaRange = [30 14000]; % two-element vector, size of the region in pixels, allows the selection of regions containing pixels between the provided range .detectMSERFeatures.MaxAreaVariation = 0.25; % positive scalar, maximum area variation between extremal regions at varying intensity thresholds; Increasing this value returns a greater number of regions, but they may be less stable. Stable regions are very similar in size over varying intensity thresholds. Typical values range from 0.1 to 1.0. .detectHarrisFeatures.MinQuality = 0.01; % between [0 1], minimum accepted quality of corners, larger values can be used to remove erroneous corners .detectHarrisFeatures.FilterSize = 5; % an odd integer value in the range [3, min(size(I))]; Gaussian filter dimension. .detectBRISKFeatures.MinContrast = 0.2; % a scalar in the range (0 1); Minimum intensity difference between a corner and its surrounding region, Increase this value to reduce the number of detected corners. .detectBRISKFeatures.MinQuality = 0.1; % a scalar value in the range [0,1], Minimum accepted quality of corners, Increase this value to remove erroneous corners. .detectBRISKFeatures.NumOctaves = 4; % an integer scalar, greater than or equal to 0; Number of octaves to implement, Increase this value to detect larger blobs. Recommended values are between 1 and 4. When you set NumOctaves to 0, the function disables multiscale detection .detectFASTFeatures.MinQuality = 0.1; % a scalar value in the range [0,1]; The minimum accepted quality of corners represents a fraction of the maximum corner metric value in the image. Larger values can be used to remove erroneous corners. .detectFASTFeatures.MinContrast = 0.2; % a scalar value in the range (0,1), The minimum intensity represents a fraction of the maximum value of the image class. Increasing the value reduces the number of detected corners. .detectMinEigenFeatures.MinQuality = 0.01; % a scalar value in the range [0,1], The minimum accepted quality of corners represents a fraction of the maximum corner metric value in the image. Larger values can be used to remove erroneous corners .detectMinEigenFeatures.FilterSize = 5; % an odd integer value in the range [3, inf), The Gaussian filter smooths the gradient of the input image. .detectORBFeatures.ScaleFactor = 1.2; % Scale factor for image decomposition, an integer greater than 1. .detectORBFeatures.NumLevels = 8; % Number of decomposition levels, an integer greater than or equal to 1. Increase this value to extract keypoints from the image at more levels of decomposition. .amst.MaximumIterations = 100; % parameters for imregconfig optimizer, Maximum number of iterations .amst.GradientMagnitudeTolerance = 0.0001; % parameters for imregconfig optimizer, Gradient magnitude tolerance .amst.MinimumStepLength = .0001; % parameters for imregconfig optimizer, Tolerance for convergence, with a small value, the optimization takes longer to compute, but it is likely to converge on a more accurate metric value. .amst.MaximumStepLength = 0.0625; % parameters for imregconfig optimizer, Initial step length, whan a large value, the computation time decreases. However, the optimizer might fail to converge .amst.RelaxationFactor = 0.5; % parameters for imregconfig optimizer, Step length reduction factor, defines the rate at which the optimizer reduces step size during convergence .estGeomTransform.MaxNumTrials = 1000; % Maximum number of random trials for finding the inliers, increasing this value improves the robustness of the results at the expense of additional computations. .estGeomTransform.Confidence = 99; % Confidence (0-100) of finding maximum number of inliers, increasing this value improves the robustness of the results at the expense of additional computations. .estGeomTransform.MaxDistance = 1.5; % Maximum distance in pixels, from a point to the projection of its corresponding point

◆ BatchOpt

mibAlignmentController.BatchOpt

a structure compatible with batch operation, see details in the contsructor

◆ closeEvent

EVENT mibAlignmentController.closeEvent

> Description of events event firing when window is closed

Events
closeEvent

◆ files

mibAlignmentController.files

files structure from the getImageMetadata

Referenced by getMetaInfo().

◆ listener

mibAlignmentController.listener

a cell array with handles to listeners

◆ meta

mibAlignmentController.meta

meta containers.Map from the getImageMetadata

Referenced by getMetaInfo().

◆ mibModel

mibAlignmentController.mibModel

handles to the model

Referenced by mibAlignmentController().

◆ pathstr

mibAlignmentController.pathstr

current path

◆ pixSize

mibAlignmentController.pixSize

pixSize structure from the getImageMetadata

Referenced by getMetaInfo().

◆ shiftsX

mibAlignmentController.shiftsX

vector with X-shifts or tformMatrix

Referenced by continueBtn_Callback().

◆ shiftsY

mibAlignmentController.shiftsY

vector with Y-shifts or rbMatrix

Referenced by continueBtn_Callback().

◆ varname

mibAlignmentController.varname

variable for import

◆ View

mibAlignmentController.View

handle to the view


The documentation for this class was generated from the following file: