GraXpert Interface

Siril provides an interface to the external GraXpert tool. This is a third party piece of Free and Open Source software that provides sophisticated background removal and denoising routines. Although Siril's built-in background extraction uses a selected GraXpert algorithm, Siril currently does not directly support AI inferencing. This is because of the complexities of cross-platform GPU support and the fact that Siril is written in C, whereas almost all AI code uses python. Integration with GraXpert therefore provides a way to bring advanced AI astronomical image processing functionality to Siril users in a seamless manner.

In order to be used, the path to the working GraXpert installation must be set in Preferences->Miscellaneous.

Avertissement

If you are wondering why GraXpert doesn’t launch, please run it outside Siril first. It’s not Siril’s fault if it’s not supported by your computer or badly installed for some reason. Ensure you can correctly open GraXpert using its own GUI and that it works correctly by itself. If this is assured, then it will work when correctly configured in Siril.

Extraction de gradient

The GraXpert background extraction interface works in a very similar way to the built-in one. In AI mode there is not even any need to generate a background sampling grid: it is just necessary to select the AI algorithm (which is the interface default anyway) and click Apply.

dialogue

GraXpert interface, showing background extraction options.

In the other modes (RBF, Kriging and Spline) it is necessary to set a background sampling grid. This works in exactly the same way as setting the grid for the built-in background extraction tool (because it uses the same code). Samples can be automatically placed by providing a density (Samples per row) and clicking on Generate. If areas of the image are brighter than the median by some factor Grid tolerance times sigma, then no sample will be placed there. Note that to achieve commonality with GraXpert's own UI the Siril interface will allow setting the grid tolerance as low as -2.0 and up to +6.0.

Après la génération, les échantillons peuvent également être ajoutés manuellement (clic gauche) ou retirés manuellement (clic droit).

Unlike the built-in background extraction algorithm it is not possible to preview the background model, as it is calculated using external software, but there is an option Keep background which will save the background model, as computed by GraXpert, for subsequent inspection if required.

For additional details of how GraXpert background extraction works, see the website.

Déconvolution

From version 3.1 onwards, GraXpert supports deconvolution. Two modes are possible:

  • object deconvolution,

  • stellar deconvolution.

These modes can be selected using the switch at top left.

To use deconvolution, simply select Deconvolution in the upper tab. This operation has two parameters, Strength, which takes values between 0.0 (no deconvolution) and 1.0 (maximum deconvolution) and Image FWHM (in pixels), which also takes values between 0.0 (prioritises fine structure retention) and 14.0 (prioritise deconvolution ability). If you set it to zero you can see a very (too) small effect on processed image, if so set it higher.

dialogue

GraXpert interface, showing deconvolution options.

Denoising

To use GraXpert for denoising, select Denoising in the tab. This operation has only one parameter, Strength, which takes values between 0.0 (no denoising) and 1.0 (maximum denoising).

dialogue

GraXpert interface, showing denoising options.

Paramètres généraux

  • Use GPU: This option tells GraXpert to use the GPU for AI inferencing, if one is available. It is safe to leave this set, as GraXpert will fall back to CPU if no GPU is available. Note that the background extraction AI model is much quicker to run and the AI inferencing has a significant set-up time, so for background extraction you may find that CPU inferencing is marginally quicker. The denoising algorithm is significantly slower and it is always worth using AI inferencing for this if possible

  • AI batch size: This option sets how many chunks GraXpert will attempt to run inferencing on in parallel. Note that setting this too high may cause out-of-memory errors, and may or may not provide a speed benefit dependent on your hardware.

  • Apply to Sequence: Using GraXpert via the Siril interface provides a unique option that is not even available using GraXpert stand-alone: the ability to apply GraXpert processing to sequences of images. In order to achieve this, simply select the Apply to sequence check box. The sequence will be saved with the prefix graxpert_.

Ligne de commande Siril

graxpert_bg [-algo=] [-mode=] [-kernel=] [-ai_batch_size=] [-pts_per_row=] [-splineorder=] [-samplesize=] [-smoothing=] [-bgtol=] [ { -gpu | -cpu } ] [-ai_version=] [-keep_bg]
Exécute l'outil externe GraXpert en mode extraction de gradient.

Les arguments facultatifs suivants peuvent être fournis :

-algo= définit l'algorithme de suppression de gradient et doit être l'un des suivants : ai, rbf, kriging ou spline ;
-mode= définit le mode d'extraction du gradient et doit être soit sub soit div ;
-kernel= définit le noyau RBF et doit être soit thinplate, quintic, cubic ou linear ;
-pts_per_row= définit le nombre de points par ligne sur la grille d'échantillonnage de l'arrière-plan (par défaut = 15) ;
-samplesize= définit la taille de la boîte d'échantillonnage pour chaque échantillon (par défaut = 25) ;
-splineorder= définit l'ordre des splines à utiliser avec l'algorithme splines (par défaut = 3) ;
-bgtol= définit la tolérance de l'arrière-plan entre -2,0 et 6,0 (2,0 par défaut) ;
-lissage= définit le degré de lissage de l'arrière-plan (par défaut = 0,5) ;
-keep_bg permet à GraXpert de sauvegarder l'image du gradient ;
-cpu permet à GraXpert de n'utiliser que le processeur ;
-gpu permet à GraXpert d'utiliser le GPU s'il est disponible (et de revenir au CPU dans le cas contraire) ;
-ai_batch_size= définit la taille des lots pour les opérations d'IA (débruitage et algorithme d'IA de suppression de gradient) (valeur par défaut = 4 : des lots plus importants peuvent améliorer les performances, en particulier pour les calculs processeurs, mais nécessitent plus de mémoire). L'argument optionnel -ai_version= impose une version spécifique du modèle d'IA. Notez que la suppression de l'arrière-plan de l'IA de GraXpert est relativement rapide de toute façon, il n'est donc pas nécessaire de spécifier un modèle plus ancien pour des raisons de rapidité, même si l'on travaille en mode CPU uniquement. Si cet argument est omis, la dernière version disponible du modèle d'IA est utilisée

Ligne de commande Siril

graxpert_denoise [-strength=] [ { -gpu | -cpu } [-ai_version=] ]
Exécute l'outil externe GraXpert en mode débruitage.

Les arguments facultatifs suivants peuvent être fournis :

-strength= définit la force de débruitage, entre 0,0 et 1,0 (par défaut = 0,8) ;
-gpu permet à GraXpert d'utiliser le GPU s'il est disponible (et de revenir au CPU dans le cas contraire) ;
-ai_batch_size= définit la taille des lots pour les opérations d'IA (débruitage et algorithme d'IA de suppression de gradient) (valeur par défaut = 4 : des lots plus importants peuvent améliorer les performances, en particulier sur l'unité centrale, mais nécessitent plus de mémoire). L'argument facultatif -ai_version= impose une version spécifique du modèle d'IA. Pour une utilisation sur CPU uniquement, les modèles les plus récents peuvent fonctionner très lentement. Dans ce cas, une version plus ancienne du modèle, telle que 2.0.0, peut fournir un équilibre plus acceptable entre les performances et la durée d'exécution. Si cet argument est omis, la dernière version disponible du modèle d'IA est utilisée

Ligne de commande Siril

graxpert_deconv [-strength=] [-psfsize=] [ { -gpu | -cpu } [-ai_version=] ]
Exécute l'outil externe GraXpert en mode déconvolution.

Les arguments facultatifs suivants peuvent être fournis :

-strength= définit la force de la déconvolution, entre 0.0 et 1.0 (par défaut = 0.5) et -psfsize= l'estimation de la FWHM de l'image, entre 0.0 et 14.0 pixels (par défaut = 5.0) ;
-gpu permet à GraXpert d'utiliser le GPU s'il est disponible (et de revenir au CPU dans le cas contraire) ;
-ai_batch_size= définit la taille des lots pour les opérations d'IA (débruitage et algorithme d'IA de suppression de gradient) (valeur par défaut = 4 : des lots plus importants peuvent améliorer les performances, en particulier pour les calculs processeurs, mais nécessitent plus de mémoire). L'argument facultatif -ai_version= impose une version spécifique du modèle d'IA. Si cet argument est omis, la dernière version disponible du modèle d'IA est utilisée

Ligne de commande Siril

seqgraxpert_bg sequencename [-algo=] [-mode=] [-kernel=] [-ai_batch_size=] [-pts_per_row=] [-splineorder=] [-samplesize=] [-smoothing=] [-bgtol=] [ { -gpu | -cpu } ] [-keep_bg]
Applique le programme GraXpert à une séquence, en mode d'extraction de gradient. Le premier argument doit être le nom de la séquence ; les autres arguments sont les mêmes que pour la commande GRAXPERT_BG

Links: graxpert_bg

Ligne de commande Siril

seqgraxpert_denoise sequencename [-strength=] [ { -gpu | -cpu } ]
Applique le programme GraXpert à une séquence, en mode débruitage. Le premier argument doit être le nom de la séquence ; les autres arguments sont les mêmes que pour la commande GRAXPERT_DENOISE

Ligne de commande Siril

seqgraxpert_deconv sequencename [-strength=] [-psfsize=] [ { -gpu | -cpu } ]
Applique le programme GraXpert à une séquence, en mode déconvolution. Le premier argument doit être le nom de la séquence ; les autres arguments sont les mêmes que pour la commande GRAXPERT_DECONV