![]() |
Microscopy Image Browser 2.91
MIB
|
waitbar for parallel loops based on answer by Edric Ellis from https://se.mathworks.com/matlabcentral/answers/465911-parfor-waitbar-how-to-do-this-more-cleanly More...
Public Member Functions | |
PoolWaitbar (N, message, existingHandle, WindowName, parentHandle) | |
Constructor Parameters: N: number of iterations of the waitbar message: message to display existingHandle: a handle to existing standard waitbar figure WindowName: title of the figure window parentHandle: optional, a handle to the parent window, when it is provided and if it is done with appdesigner, uiprogressdlg function is used instead of waitbar. | |
function | updateMaxNumberOfIterations (N) |
update the max value of the waitbar slider | |
function | increaseMaxNumberOfIterations (N) |
increase maximal number of iterations by N | |
function res = | getCancelState () |
return state (true/false) of the cancel button only for uiprogressdlg | |
function count = | getCurrentIteration () |
return the current iteration | |
function result = | getMaxNumberOfIterations () |
get number of iterations | |
function | updateText (newText) |
update text of the waitbar | |
function | setCurrentIteration (count) |
set the current iteration of the poolwait bar to value N | |
function | setIncrement (increment) |
set a new increment value | |
function | increment () |
function | delete () |
function | deletePoolWaitbar (keepWaitbar) |
alternative way to delete PoolWaitbar | |
function wb = | getWaitbarHandle () |
return handle of the waitbar window, to be used before deleting PoolWaitbar to keep the waitbar window open | |
Additional Inherited Members | |
![]() | |
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. | |
waitbar for parallel loops based on answer by Edric Ellis from https://se.mathworks.com/matlabcentral/answers/465911-parfor-waitbar-how-to-do-this-more-cleanly
Examples of use pwb = PoolWaitbar(100, Example
); parfor ii = 1:20 % parfor (ii=1:20, obj.mibModel.cpuParallelLimit) pwb.increment(); end spmd for ii = 21:40 if labindex == 1 pwb.increment(); end end end for ii = 41:100 parfeval(@() increment(pwb), 0); end
% reuse exiting waitbar wb = waitbar(0.5, my waitbar
); % create a standard waitbar n = 200; A = 500; a = zeros(n); pwb = PoolWaitbar(n, sprintf(Please wait...
), wb); % create PoolWaitbar using existing waitbar window parfor i = 1:n % parfor (i=1:n, obj.mibModel.cpuParallelLimit) a(i) = max(abs(eig(rand(A)))); pwb.increment(); end keepWaitbar = 1; pwb.deletePoolWaitbar(keepWaitbar); % delete pw, while keeping wb
% Add with a title for the figure pwb = PoolWaitbar(n, sprintf(Please wait...
), wb, My waitbar
); pwb.setIncrement(10); % set increment step to 10, whenever needed pwb.updateText(New text
); % update text % pwb.updateMaxNumberOfIterations(100); % increase number of iterations to 100 parfor i = 1:n % parfor (i=1:n, obj.mibModel.cpuParallelLimit) pwb.increment();
end
PoolWaitbar.PoolWaitbar | ( | N, | |
message, | |||
existingHandle, | |||
WindowName, | |||
parentHandle ) |
Constructor Parameters: N: number of iterations of the waitbar message: message to display existingHandle: a handle to existing standard waitbar figure WindowName: title of the figure window parentHandle: optional, a handle to the parent window, when it is provided and if it is done with appdesigner, uiprogressdlg function is used instead of waitbar.
function PoolWaitbar.delete | ( | ) |
function PoolWaitbar.deletePoolWaitbar | ( | keepWaitbar | ) |
alternative way to delete PoolWaitbar
keepWaitbar | logical switch, when 1 - keeps instance of the waitbar obj.ClientHandle, otherwise deletes it |
function res = PoolWaitbar.getCancelState | ( | ) |
return state (true/false) of the cancel button only for uiprogressdlg
function count = PoolWaitbar.getCurrentIteration | ( | ) |
return the current iteration
function result = PoolWaitbar.getMaxNumberOfIterations | ( | ) |
get number of iterations
function wb = PoolWaitbar.getWaitbarHandle | ( | ) |
return handle of the waitbar window, to be used before deleting PoolWaitbar to keep the waitbar window open
function PoolWaitbar.increaseMaxNumberOfIterations | ( | N | ) |
increase maximal number of iterations by N
function PoolWaitbar.increment | ( | ) |
function PoolWaitbar.setCurrentIteration | ( | count | ) |
set the current iteration of the poolwait bar to value N
function PoolWaitbar.setIncrement | ( | increment | ) |
function PoolWaitbar.updateMaxNumberOfIterations | ( | N | ) |
update the max value of the waitbar slider
function PoolWaitbar.updateText | ( | newText | ) |
update text of the waitbar