MoilApp of Usage
In this section, we will explain the components of the MoilApp application and provide tutorials on how to use the application. MoilApp is a software application that users can utilize, and the referred session might be some kind of training session where the instructor will provide an overview of the various parts of the application and teach users how to use them effectively.

Operations of the MoilApp
Overview of Apps
"MoilApp software application" when it is running for the first time, specifically, the application will display a splash screen to the user, which is a graphical image or animation that indicates that the application is loading and that will be available soon. This splash screen is a new feature that has been added to the latest version of MoilApp (version 4.1).

Loading Splash screen Application
When you open a project in PyCharm, the user interface will show the default main window, ready to run, looks as follows:

Main window MoilApp
1. Open media source
The inputs offered by MoilApp include picture files, video files, and cameras—USB cameras, web cameras, and streaming cameras from Raspberry Pi—all of which can be used for processing. Simply tap the appropriate button for the media source you want to process, and the software will open a file explorer popup, similar to the one below.

Open Media Source

Select Media Source
- After selecting the file to open, a combo box prompt will appear asking you to select the type of camera that was used. The camera parameters can be loaded from the database using this.
- There are two ways to open the camera: through USB or via streaming. You can use the combo box to pick the USB port that is being used for a camera, click OK. And then, you will be prompted to select the type of camera that is being used. As depicted in the picture below.
- The streaming camera option allows you to access the camera_url using the stream server URL. You merely need to enter the camera's URL and click "OK" button, as seen below. In the combo box prompt, you will be prompted to select the type of camera being utilized.
2. Recent Open
The Recent Open feature enhances user experience by providing quick and convenient access to previously used files. This feature maintains a list of recently opened images or projects, allowing users to reopen their recent work without navigating through the entire file system.


Recent open media
After selecting a file from the recent list, you can choose from two options:
- Saved Configuration: This feature allows you to access the history of media files you have recently opened.
- Directory: This feature lets you access the directory to load media files directly.
3. Rotate Image
MoilApp has two rotate functions: rotate the left image and rotate the right image. Rotation can be operated by entering a value on the rotate scale, this helps the user to rotate with a lesser scale.

Processing Rotate left & Rotate right Image
4. Zoom Image
The user can zoom in and out using the plus and minus buttons, respectively, in this program. In addition, the user can select the zoom scale to be smaller by a minimum of 25 degrees and above to make the final image.

Processing Zoom in & Zoom out Image
5. Default Application
The application will automatically return to the original image when the default button is clicked. When the user is processing an image, for instance, when the user is processing an image to any point and then decides they want to go back to the original image, this position is the position when the user loaded the image when opening the application.

Processing default image to original
6. Add Plugin Applications
When the user wants to create an application integrated with MoilApp or the user wants to open the application, the user can add the application to MoilApps by clicking the Add button at the top of the application, provided that the user creates the application using MoilDev or MoilUtils-Templates.

Add application
7. Information Applications
The users can view related information on MoilApp by accessing further information.

Notice Application
8. Debug Applications
The Debug feature, when enabled, logs the processes and functions executed for each feature. This detailed logging is useful for developers to troubleshoot and optimize the application, as it provides insights into the application’s inner workings and helps identify any issues or inefficiencies.</p>

Debug Application
9. Screen Record
A new feature offered by MoilApp is screen recording, which makes it simpler for users to do so. This tool is also a helpful way to record and share videos of what is happening on your desktop.

When using a desktop application to record your screen, you'll typically have a few options to choose from. First, you'll need to select the area of your screen that you want to record. Some applications allow you to record your desktop, while others let you record region of your screen.
10. About US
The application "About Us" section contains details about our work in the field of fisheye image processing.

Information About US
11. Theme Application
In order to assist users adjust to their eyes and avoid seeming monotonous while using this software, MoilApp offers two themes for use: one in bright mode and the other in dark mode.

Light theme & Dark Theme application
13. Fisheye View
The User Interface will display the original fisheye image as below. Users can use the rotate, zoom, change resolution features and turn on the Change OP option.

Show Fisheye Image from Computer
Users can drag the mouse to zoom certain areas in the image as below. The area of interest will be visible on the minimap at the bottom left of the application.

Zoom Image Area
14. Anypoint View
Sometimes we only want to look at places where there is a lot of information in order to improve the outcomes of observations. As a result, we can apply the approach of undistortion rectilinear selected image. This approach shifts the optical axis to the specified zenithal (alpha) and azimuthal (beta) angles, then converts the image plane coordinate to hemispherical coordinates. Anypoint view has two modes, with mode 1 being the result of alphaOffset degree rotation followed by betaOffset degree rotation around the Z-axis (roll) (pitch). In contrast, mode-2 produces a thetaY degree rotation around the Y axis (yaw) following a thetaX degree rotation around the X axis (pitch).

Processing Anypoint Image
You can switch from mode 1 to mode 2 or vice versa by pressing the help button when in Anypoint view mode. The help button can also be used to view Anypoint results coming from a certain angle. An overview of the additional button in Anypoint view mode may be found below.
15. Panorama view
As explained earlier, the panorama view may present a horizontal view in a specific immersed environment to meet human visual perception. The figure below shows a diagram of transforming a fisheye image into a panoramic view.

Diagram processing Original View to Panorama View
The image below is the result of image processing panorama view.

Processing Panorama View
- The maximum and minimum FoV values can also be changed using the lineedit feature, which is only available in this mode.
- By clicking the save image button or selecting save image from the context menu when you right-click on the result image, you can save the original image or the result image. When you save an image for the first time, the application will open a dialog box asking you to select the directory you want to utilize as storage.
- Use the record button to start recording a video, it works almost just like storing an image.You will be asked to select a directory before you can begin recording, and the video files will be saved there.
16. Camera parameters
The camera parameter is a very important component in fisheye image processing. Each fisheye camera can be calibrated. and derive a set of parameters by the MOIL laboratory before the successive functions can work correctly, configuration is necessary at the beginning of the program. MoilApp provides a form dialog that can add, modify, and delete parameters that will be stored in the database. To be able to use this feature, please click on File–>Camera Parameters. The overview of this form is shown in the picture below:

Camera Parameters
- If you want to see the parameter, you can list the camera type from comboBox list parameter If you are using a camera whose parameters are not yet available in the database, you can add them. You just need to write all the parameters on the form, then click the new button. After that the data will be saved and you can use the camera parameters.
- Modify camera parameters If you want to change the value of the parameter, you can modify it. select the camera type in the list parameter combobox, then you enter the new parameter value. click the update button and the modified parameters will be saved in the database.
- You can also delete parameters by clicking the delete button on the selected parameter list.
17. Clear User Interface (UI)
Clear UI is the latest feature in MoilApp. This feature is used to clean images on the user interface, Usually, if you don't use Clear UI, when the user opens the application again, the user is faced with the previous task when processing images, therefore, this feature is used to clear data on the user interface.

Clear data in the application
18. Check for Updates
Checking for updates is an additional feature of the MoilApp update, this feature is used if the user wants to update the application from the developer server. The use of this feature greatly facilitates the user without having to open a terminal to do the installation or update manually.

Check updating application from main server
17. Read the Docs Application
The Read the Docs feature makes it simple for users to open documents without having to launch a terminal and create HTML files from RST files. By simply clicking on this feature, the application will automatically create a document and display it in the user's browser. Read the Docs is the application documentation that aids users in understanding every feature of MoilApp..

Generate documents to html
19. Help Information
The help information in the desktop application refers to a user guide or set of instructions that provide guidance on how to use the MoilApp plugin software effectively. This information can be accessed in a number of ways, including through menus or a dedicated Help button within the app.
20. Application Settings
Additionally, by providing information on the update history of each commit made by the developer when the application is updated, users can stay informed about changes to the application and have a better understanding of how the application works. Overall, the application settings are a crucial component of any modern application, and they play a vital role in providing users with a rich and personalized experience.

Application Settings
Mouse Event
There are several functions of the mouse event that you can use to speed up work. The mouse event will only work on the result image and the original image of the user interface widget. Some of the mouse event functions are included.
Mouse click event
When in Anypoint mode, the mouse click event only functions on the original picture widget. The coordinates of the points whose alpha-beta value will be transformed can be easily determined using this. which means that when converting the original image to an Anypoint image, this value will be a parameter.
Mouse click-move event
The mouse-click event has its own function in each image widget; in the original image, this widget works in Anypoint mode, which allows for surrounding views. If you press the press-move mouse event on the resultant image widget, different functions are available. You can enlarge the area in which you are interested using this function, and it works in all-mode view, as in the example shown in the image below.
Double click event
- Double Click Event in Original Window:
When in Anypoint state, a double-click mouse event on the original window will reset the Anypoint view to its default settings. In this mode, both alpha and beta values are set to 0 (zero).
Double Click Event in Result Window:
In the result window, a double-click mouse event will switch to full-screen mode. To exit full-screen mode and return to the default view, double-click again.
Right click event
If you right click on the mouse, it will display menu options like maximize, minimize, save image and show info.
Mouse wheel
Wheel event will work by pressing the ctrl key simultaneously to zoom in and zoom out images on the user interface display.
Keyboard Shortcut
The majority of MoilApp's processing- and other-related commands have keyboard shortcuts. By keeping your hands on the keyboard and increasing your productivity, learning these hotkeys might be helpful. Some of the most beneficial shortcuts to learn are listed in the following table:
Shortcut |
Action |
---|---|
General Shortcuts |
|
Ctrl+Shift+R |
Open panel recent project |
Ctrl+Shift+S |
Open setting panel on left side |
Ctrl+Shift+A |
Open Panel About US |
Ctrl+Shift+Del |
Remove all the data from user interface |
Ctrl+O |
Open dialog to select media source |
Ctrl+C |
Open dialog to open camera Parameter Form |
Ctrl+R |
Record video |
Ctrl+S |
Save image |
Ctrl+H |
Open Help dialog |
Ctrl+F |
Original fisheye image view |
Ctrl+A |
Anypoint image view |
Ctrl+P |
Panorama image view |
Ctrl+D |
Active/Deactivate Debug mode |
Ctrl+T |
Change theme apps |
F1 |
Read the document, it will open in browser |
F5 |
Reset view, back to original |
+ |
Zoom in image view in result window |
- |
Zoom out image view in result window |
Esc |
Close additional panel left and right when open |
Media Player |
|
Space |
Play/Pause media |
← |
Backward video in 5 seconds |
→ |
Forward video in 5 seconds |
0 |
Stop video, back to initial |
In Anypoint Mode |
|
Ctrl+← |
Showing anypoint transformation in left area |
Ctrl+↑ |
Showing anypoint transformation in top area |
Ctrl+→ |
Showing anypoint transformation in right area |
Ctrl+↓ |
Showing anypoint transformation in down area |