To implement your own Analysis, subclass the IAnalysisJob Interface and add your class into the extension/analysis/your_package/ folder. Your analysis will then automatically appear in the Analysis/Extensions Menu of the MainWindow.
Once the user has triggered the Button in the MainWindow menu, following process will take place:
A Dialog Appears where the user can select all targets and additional Parameters defined by your function.
On Accept, the analysis will take place as follows:
3.1 IAnalysisJob.prepare() will be performed, where you will pack all information needed into a list.
3.2 IAnalysisJob.process() will be performed in an external Thread. All information packed in the last step will be available for you, and no more!
3.3 IAnalysisJob.modify_project() Once the process() function has finished the Thread will be destroyed and the your result will be sent back to the Main-Thread into the IAnalysisJob.modify_project() function. Here you can perform any modifications to the Project if necessary.
You Analysis will be stored in the Project
If the user triggers the Visualization, a new QMainWindow or a Webbrower will be opened and all results of your analysis will be handed to the widget, or url in case of a webbrowser.