How to use
Quadrant Folder (QF) provides two modes for users: Interactive mode and Headless mode.
Interactive Mode
After the program is opened, users will be able to select a file or a folder to process by pressing the button or select an option on the menu bar.

Headless Mode
Image processing performed in the terminal.
In the terminal, if the user types musclex eq|qf|di|pt -h -i|-f <file.tif|testfolder> [-s config.json] [-d], MuscleX will run under headless mode.
For example: musclex qf -h -i test.tif -s config.json.
Arguments:
-f <foldername> or -i <filename>
-d (optional) delete existing cache
-s (optional) <input setting file>
.. note:: To generate the settings file, use the interactive musclex, set parameters in it, then select save the current settings in `File` (top left corner). This will create the necessary settings file. If a settings file is not provided, default settings will be used.
.. note:: You can run the headless version in Windows using a CMD prompt by replacing `musclex` in the headless command by `musclex-main.exe` in `C:\Users\Program Files\BioCAT\MuscleX\musclex`.
Multiprocessing on Folders
In order to improve the processing speed when analyzing time-resolved experiments, the headless mode is processing one image on each processor available on your computer. For example, with a 24-cores computer, 24 images will be processed at the same time, and the results will be saved in the same file. To follow the execution thread of each processor (as the executions intersect), the process number has been added at the beginning of each line.
Customization of Parameters
In Headless mode, the user may directly set the parameters in a json format inside the qfsettings.json file. Some of the parameters are shown in the list below. You might need to look at the code and especially ‘modules/QuadrantFolder.py’ to know exactly which parameters to set and how to set them.
{
# Image settigns
"mask_thres": 170, # 0 to 255
"fix_center": true, # true, false
"center_x": 1024, # 0 to 4096
"center_y": 1024, # 0 to 4096
"rotation": 0, # 0 to 360
"roi_rad": 100,
# Inner background subtraction
"bgsub": "None", # None, 2D Convexhull, Circularly-symmetric, White-top-hats, Roving Window, Smoothed-Gaussian, Smoothed-BoxCar
"fixed_rmin": 100, # in pixels
## Convex hull settings (inner)
"deg1": 1, # 0.5, 1, 2, 3, 5, 9, 10, 15, 18
## Circularly symmetric settings (inner)
"radial_bin": 1, # in pixels
"cirmin": 10, # in pixels
"cirmax": 100, # in pixels
"smooth": 1,
## Roving window settings (inner)
"tension": 1,
"win_size_x": 11, # in pixels
"win_size_y": 11, # in pixels
## Smoothed Gaussian / Smoothed Boxcar settings (inner)
"fwhm": 20, # in pixels
"boxcar_x": 20, # in pixels
"boxcar_y": 15, # in pixels
"cycles": 1,
# Outer background subtraction
"bgsub2": "None", # None, 2D Convexhull, Circularly-symmetric, White-top-hats, Roving Window, Smoothed-Gaussian, Smoothed-BoxCar
## Convex hull settings (outer)
"deg2": 1, # 0.5, 1, 2, 3, 5, 9, 10, 15, 18
## Circularly symmetric settings (outer)
"smooth2": 1,
## Roving window settings (outer)
"tension2": 1,
"win_size_x2": 11, # in pixels
"win_size_y2": 11, # in pixels
## Smoothed Gaussian / Smoothed Boxcar settings (outer)
"fwhm2": 20, # in pixels
"boxcar_x2": 20, # in pixels
"boxcar_y2": 15, # in pixels
"cycles2": 1,
# Transition settings
"transition_radius": 730, # 1 to 4096
"transition_delta": 60, # 1 to 4096
}


















