MeVisLab Toolbox Reference
ml::ProcessAllPagesBackgroundTask Class Reference

Class ProcessAllPagesBackgroundTask. More...

#include <mlProcessAllPagesBackgroundTask.h>

Inheritance diagram for ml::ProcessAllPagesBackgroundTask:
ml::ModuleBackgroundTask ml::ImagingBackgroundTask ml::MessagingBackgroundTask ml::BackgroundTask

Public Member Functions

 ProcessAllPagesBackgroundTask (Module *module, FloatField *progressField=nullptr, StringField *statusField=nullptr)
 
 ~ProcessAllPagesBackgroundTask () override
 
void setHandler (ProcessAllPagesHandler *handler)
 Sets the pointer to a ProcessAllPagesHandler. The ownership is passed to the ProcessAllPagesBackgroundTask. More...
 
ProcessAllPagesHandlergetHandler () const
 Returns access to the handler. The ownership stays with ProcessAllPagesBackgroundTask. More...
 
void setRegion (const SubImageBox &box)
 Sets the box to be processed. Default is the full image. More...
 
SubImageBox getRegion () const
 Returns the box to be processed. More...
 
void setInitialStatusMessage (const std::string &statusArg)
 Sets the initial status string that should be displayed. More...
 
void run () override
 reimp More...
 
- Public Member Functions inherited from ml::ModuleBackgroundTask
 ModuleBackgroundTask (Module *module, FloatField *progressField=nullptr, StringField *statusField=nullptr)
 
 ~ModuleBackgroundTask () override
 
void setProgressField (FloatField *field)
 Sets the progress field. More...
 
void setStatusField (StringField *field)
 Sets the status field. More...
 
bool hasProgressField ()
 Returns whether this task has a progress field. More...
 
bool hasStatusField ()
 Returns whether this task has a status field. More...
 
void setStatusString (const std::string &status) override
 Updates the status string while processing. More...
 
void setProgress (float progress) override
 Updates the progress while processing. More...
 
AsyncTileRequest requestTile (int inputImageIndex, const SubImageBox &box, MLDataType type, const ScaleShiftData &shift=ScaleShiftData(), int getTileFlags=ImagingBackgroundTask::UseMemoryManager)
 Asynchronously request the tile. More...
 
AsyncTileRequest requestTileWithExternalBuffer (int inputImageIndex, const SubImageBox &box, MLDataType type, const ScaleShiftData &shift, ManagedSubImage *externalBuffer, int getTileFlags=ImagingBackgroundTask::ExternalBuffer)
 Asynchronously request the tile. More...
 
ProcessAllPagesRequest requestProcessAllPages (ProcessAllPagesHandler *handler, const SubImageBox &box=SubImageBox())
 Asynchronously request a processing of pages using the given handler. More...
 
ProcessAllPagesRequest requestProcessAllPages (const SubImageBox &box=SubImageBox())
 Asynchronously request a processing of pages and running Module::processAllPages(-1). More...
 
virtual bool shouldCancelOnInputImageChange (int) const
 Returns whether the task should be canceled when the given input image has changed. More...
 
ImageVector getInputImageExtent (int index=0) const
 Returns the extent of the input image at index. More...
 
ImageVector getInputImagePageExtent (int index=0) const
 Returns the page extent of the input image at index. More...
 
MLDataType getInputImageDataType (int index=0) const
 Returns the data type of the input image at index. More...
 
double getInputImageMinVoxelValue (int index=0) const
 Returns the minimum voxel value of the input image at index. More...
 
double getInputImageMaxVoxelValue (int index=0) const
 Returns the maximum voxel value of the input image at index. More...
 
const MedicalImagePropertiesgetInputImageProperties (int index=0) const
 Returns the image properties of the input image at index. More...
 
bool hasValidInputImage (int index=0) const
 Returns whether the input image at index is valid and thus its properties can be requested. More...
 
int getNumInputImages () const
 Returns the number of input images. More...
 
- Public Member Functions inherited from ml::ImagingBackgroundTask
 ImagingBackgroundTask (void *owner)
 
 ~ImagingBackgroundTask () override
 
- Public Member Functions inherited from ml::MessagingBackgroundTask
 MessagingBackgroundTask (void *ownerArg)
 
template<typename Object , typename Method >
void callMethodOnGUI (const DistantObject< Object > &target, Method method)
 
template<typename Object , typename Method , typename Arg1 >
void callMethodOnGUI (const DistantObject< Object > &target, Method method, const Arg1 &arg1)
 
template<typename Object , typename Method , typename Arg1 , typename Arg2 >
void callMethodOnGUI (const DistantObject< Object > &target, Method method, const Arg1 &arg1, const Arg2 &arg2)
 
template<typename Object , typename Method , typename Arg1 , typename Arg2 , typename Arg3 >
void callMethodOnGUI (const DistantObject< Object > &target, Method method, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3)
 
template<typename Object , typename Method , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 >
void callMethodOnGUI (const DistantObject< Object > &target, Method method, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4)
 
template<typename Object , typename Method , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 >
void callMethodOnGUI (const DistantObject< Object > &target, Method method, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5)
 
- Public Member Functions inherited from ml::BackgroundTask
 BackgroundTask (void *owner)
 Creates a new task with given owner. More...
 
virtual ~BackgroundTask ()
 
bool isSynchronous () const
 Checks whether the task is synchronous, which means it is not executed in a different thread. More...
 
void setSynchronous (bool flag)
 Sets whether the task is handled synchronously. Call this only in the setup of the task, not while it is already running. More...
 
void setSynchronousCancelField (NotifyField *field)
 Sets a cancel field that is used in synchronous mode to check whether cancel was pressed. More...
 
Status status () const
 Returns the status of the task. More...
 
void cancel ()
 Cancels the task (i.e., it sets status to canceled). More...
 
bool isCanceled () const
 Checks whether the task was canceled. More...
 
bool shouldStop ()
 Returns whether the task should stop its work because it has been canceled. More...
 
void resume ()
 Resumes the task after it was suspended. More...
 
void suspend ()
 Suspends the task. More...
 
std::string statusString () const
 Returns current status string. More...
 
float progress () const
 Returns current progress This is thread-safe. More...
 
void setOwnerWasDeleted ()
 Tells the task that its owner was deleted and cancels the thread. More...
 
bool hasOwner () const
 Returns whether the owner was deleted. More...
 
void * owner () const
 Returns the owner of the task Call this from GUI thread only! More...
 
void waitAndExecuteNextMessage ()
 Executes the next message. More...
 
bool executeNextMessage ()
 Executes the next message. More...
 
void sendMessageToGUI (BackgroundTaskMessage *message)
 Sends the message to the GUI. More...
 
void logMessage (const std::string &message)
 Logs a message. More...
 
bool isVerbose () const
 Checks whether task uses verbose logging. More...
 
void setVerbose (bool flag)
 Sets whether task uses verbose logging. More...
 
double runningTime () const
 Returns the running time in seconds of the task. More...
 
double idleTime () const
 Returns the idle time in seconds of the task (e.g., the time it waited for getTile to complete). More...
 
void getStatusInformation (BackgroundTaskStatusInformation &info)
 Returns the complete status information. More...
 
MLuint32 taskId () const
 Returns the unique id of this task. The id of a task never changes. More...
 
void setTaskFinishedCB (BackgroundTaskFinishedCB *callback, void *userdata)
 Set this directly after the initialization of the task from the GUI thread. More...
 
void addObserver (Observer *observer)
 Adds the given observer. More...
 
void removeObserver (Observer *observer)
 Removes the given observer. More...
 

Additional Inherited Members

- Public Types inherited from ml::ImagingBackgroundTask
enum  TileRequestFlags {
  UseMemoryManager = TileRequest::UseMemoryManager , UseMLAlloc = TileRequest::UseMLAlloc , NoAllocation = TileRequest::NoAllocation , ExternalBuffer = TileRequest::ExternalBuffer ,
  AllocationPolicyMask = 0xf , RequestReadOnlyPage = 16 , ReceiveProgressMessages = 32
}
 Defines flags that can be passed with requestTile(). More...
 
- Public Types inherited from ml::BackgroundTask
enum  Status {
  NotInTaskManager , Queued , Running , Finished ,
  Canceled , Suspended
}
 Defines current status of the task. More...
 
- Protected Member Functions inherited from ml::ImagingBackgroundTask
BackgroundRequestId generateBackgroundRequestId ()
 Generates next generateBackgroundRequestId(). More...
 
- Protected Member Functions inherited from ml::BackgroundTask
void sendStatusChangedToObservers ()
 Sends the status change to all observers. More...
 
void sendStatusStringChangedToObservers ()
 Sends the status string change to all observers. More...
 
void sendLogMessageToObservers (const std::string &msg)
 Sends the status string change to all observers. More...
 
void addIdleTime (double timeInSecs)
 Adds given timeInSecs as spent idle time. More...
 

Detailed Description

Class ProcessAllPagesBackgroundTask.

A simple background task that takes a ProcessAllPagesHandler and a box, and runs the processing in the background using its run() method. If no ProcessAllPagesHandler is given or set to NULL, a processAllPages(-1) is started on the Module.

Definition at line 32 of file mlProcessAllPagesBackgroundTask.h.

Constructor & Destructor Documentation

◆ ProcessAllPagesBackgroundTask()

ml::ProcessAllPagesBackgroundTask::ProcessAllPagesBackgroundTask ( Module module,
FloatField progressField = nullptr,
StringField statusField = nullptr 
)

◆ ~ProcessAllPagesBackgroundTask()

ml::ProcessAllPagesBackgroundTask::~ProcessAllPagesBackgroundTask ( )
override

Member Function Documentation

◆ getHandler()

ProcessAllPagesHandler* ml::ProcessAllPagesBackgroundTask::getHandler ( ) const
inline

Returns access to the handler. The ownership stays with ProcessAllPagesBackgroundTask.

Definition at line 42 of file mlProcessAllPagesBackgroundTask.h.

◆ getRegion()

SubImageBox ml::ProcessAllPagesBackgroundTask::getRegion ( ) const
inline

Returns the box to be processed.

Definition at line 48 of file mlProcessAllPagesBackgroundTask.h.

◆ run()

void ml::ProcessAllPagesBackgroundTask::run ( )
overridevirtual

reimp

Implements ml::BackgroundTask.

◆ setHandler()

void ml::ProcessAllPagesBackgroundTask::setHandler ( ProcessAllPagesHandler handler)
inline

Sets the pointer to a ProcessAllPagesHandler. The ownership is passed to the ProcessAllPagesBackgroundTask.

Definition at line 40 of file mlProcessAllPagesBackgroundTask.h.

◆ setInitialStatusMessage()

void ml::ProcessAllPagesBackgroundTask::setInitialStatusMessage ( const std::string &  statusArg)
inline

Sets the initial status string that should be displayed.

Definition at line 51 of file mlProcessAllPagesBackgroundTask.h.

◆ setRegion()

void ml::ProcessAllPagesBackgroundTask::setRegion ( const SubImageBox box)
inline

Sets the box to be processed. Default is the full image.

Definition at line 45 of file mlProcessAllPagesBackgroundTask.h.


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