https://free-astro.org/api.php?action=feedcontributions&user=Lock42&feedformat=atomFreeAstro - User contributions [en]2024-03-29T10:00:48ZUser contributionsMediaWiki 1.40.0https://free-astro.org/index.php?title=Siril:FITS_orientation&diff=8416Siril:FITS orientation2023-02-27T10:18:35Z<p>Lock42: </p>
<hr />
<div><languages /><br />
<translate><br />
<br />
This page is now deprecated. Please refer to the new documentation at: <br />
https://siril.readthedocs.io/en/latest/file-formats/FITS.html#orientation-of-fits-images<br />
<br />
=Orientation of FITS images= <!--T:1--><br />
<br />
<!--T:2--><br />
The FITS standard is a container that describes how to store image data and meta-data. Professional tools, from the early age of the FITS format, like [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] (FITS viewer from NASA), store images '''bottom-up'''. We might be tempted to say that it does not really matter, but when demosaicing or astrometry is involved, problems arise. For example, the usual RGGB Bayer pattern becomes GBRG if the image is upside-down.<br />
<br />
<!--T:3--><br />
Nowadays, despite this, most camera drivers are writing data in the top-down order and we have to cope with it.<br />
<br />
<!--T:4--><br />
For these reasons, we recently have introduced, together with P. Chevalley of [https://www.ap-i.net/ccdciel/en/start CCDCiel], a '''new FITS keyword'''. We encourage all data producers, INDI and ASCOM developers, to use it in order to make things easier for everybody.<br />
<br />
<br />
<!--T:5--><br />
'''This keyword is <tt>ROWORDER</tt> of type <tt>TSTRING</tt>. It can take two values: <tt>BOTTOM-UP</tt> and <tt>TOP-DOWN</tt>.'''<br />
<br />
<br />
<!--T:6--><br />
[[Siril]] will always read and display images in the bottom-up order, however if the top-down information is specified in the keyword, then Siril will demosaic the image with the corrected pattern.<br />
<br />
<br />
<!--T:7--><br />
Why would some programs write images bottom-up in the first place? The reason is: [https://stackoverflow.com/a/8347036 mathematics do it that way].<br />
<br />
<!--T:8--><br />
Also, the [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract FITS specification] says:<br />
<br />
<!--T:9--><br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
== Note ==<br />
<tt>ROWORDER</tt> keyword can be used for:<br />
<br />
1. Displaying the image with the intended orientation (unflip the display).<br />
<br />
2. Unflip the Bayer demosaic pattern. So the demosaic pattern can be specified conform the sensor supplier.<br />
<br />
BUT<br />
<br />
1. <tt>ROWORDER</tt> shall not be used to unflip the image data for stacking. Otherwise new images would become incompatible with older darks and flats.<br />
<br />
2. <tt>ROWORDER</tt> shall not be used to unflip the image data for astrometric solving. This would make the the astrometric solution incompatible with other programs.<br />
<br />
==Software using this keyword== <!--T:10--><br />
* Siril (since version 0.99.4)<br />
* CCDCiel (since version 0.9.72)<br />
* Indi (since [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Jul. 2020])<br />
* KStars (since 3.4.3)<br />
* SharpCap (since version 3.3)<br />
* FireCapture (since version 2.7)<br />
* N.I.N.A (since version 1.10)<br />
* MaxImDL (since version 6.23)<br />
* INDIGO (since [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Jul. 2020])<br />
* PixInsight (since version 1.8.8-6)<br />
* ASTAP (since version ß0.9.391)<br />
* APT (since version 3.86.3)<br />
* AstroDMx Capture (since version 0.80)<br />
* Astroart (since version 8.0)<br />
<br />
==Retrieving the Bayer matrix== <!--T:11--><br />
Image row order changes the way the Bayer matrix should be read, but there are also two optional FITS header keywords that have an effect on this: <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt>. They specify an offset to the Bayer matrix, to start reading it on first column or first row.<br />
<br />
<!--T:12--><br />
To help developers integrating the <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt> keywords in their software, some test images were created by Han Kleijn from [https://www.hnsky.org/ hnsky.org], one for each combination of the three keywords. Download them here: [[File:Bayer_test_pattern_v6.tar.gz]].<br />
<br />
</translate></div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8378Siril:Commands2022-12-29T08:07:12Z<p>Lock42: /* split */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==ffill==<br />
ffill value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample { factor | -width= | -height= } [-interp=] [-noclamp]<br />
<br />
Resamples image, either with a factor <tt>factor</tt> or for the target width or height provided by either of <tt>-width=</tt> or <tt>-height=</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image by an angle of <tt>degree</tt> value. The option <tt>-nocrop</tt> can be added to avoid cropping to the image size (black borders will be added).<br />
<br />
Note: if a selection is active, i.e. by using a command [[#boxselect|BOXSELECT]] before [[#rotate|ROTATE]], the resulting image will be a rotated crop. In this particular case, the option <tt>-nocrop</tt> will be ignored if passed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split file1 file2 file3 [-hsl | -hsv | -lab]<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in file1 file2 and file3 FITS files. A last argument can optionally be supplied, <tt>-hsl</tt>, <tt>-hsv</tt> or <tt>lab</tt> to perform an HSL, HSV or CieLAB extraction. If no option are provided, the extraction is of RGB type.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are &lt;= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8377Siril:Commands2022-12-29T07:52:08Z<p>Lock42: /* split */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==ffill==<br />
ffill value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample { factor | -width= | -height= } [-interp=] [-noclamp]<br />
<br />
Resamples image, either with a factor <tt>factor</tt> or for the target width or height provided by either of <tt>-width=</tt> or <tt>-height=</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image by an angle of <tt>degree</tt> value. The option <tt>-nocrop</tt> can be added to avoid cropping to the image size (black borders will be added).<br />
<br />
Note: if a selection is active, i.e. by using a command [[#boxselect|BOXSELECT]] before [[#rotate|ROTATE]], the resulting image will be a rotated crop. In this particular case, the option <tt>-nocrop</tt> will be ignored if passed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split file1 file2 file3 [-hsl || -hsv || -lab]<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in file1 file2 and file3 FITS files. A last argument can optionally be supplied, <tt>-hsl</tt>, <tt>-hsv</tt> or <tt>lab</tt> to perform an HSL, HSV or CieLAB extraction. If no option are provided, the extraction is of RGB type.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are &lt;= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8375Siril:Commands2022-12-25T21:13:33Z<p>Lock42: /* unclipstars */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==ffill==<br />
ffill value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
<br />
Resamples image, either with a factor <tt>factor</tt> or for the target width or height provided by either of <tt>-width=</tt> or <tt>-height=</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image by an angle of <tt>degree</tt> value. The option <tt>-nocrop</tt> can be added to avoid cropping to the image size (black borders will be added).<br />
<br />
Note: if a selection is active, i.e. by using a command [[#boxselect|BOXSELECT]] before [[#rotate|ROTATE]], the resulting image will be a rotated crop. In this particular case, the option <tt>-nocrop</tt> will be ignored if passed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are &lt;= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8374Siril:Commands2022-12-23T22:06:02Z<p>Lock42: /* rotate */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==ffill==<br />
ffill value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
<br />
Resamples image, either with a factor <tt>factor</tt> or for the target width or height provided by either of <tt>-width=</tt> or <tt>-height=</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image by an angle of <tt>degree</tt> value. The option <tt>-nocrop</tt> can be added to avoid cropping to the image size (black borders will be added).<br />
<br />
Note: if a selection is active, i.e. by using a command [[#boxselect|BOXSELECT]] before [[#rotate|ROTATE]], the resulting image will be a rotated crop. In this particular case, the option <tt>-nocrop</tt> will be ignored if passed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are <= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8373Siril:Commands2022-12-23T22:03:44Z<p>Lock42: /* rotate */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==ffill==<br />
ffill value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
<br />
Resamples image, either with a factor <tt>factor</tt> or for the target width or height provided by either of <tt>-width=</tt> or <tt>-height=</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image by an angle of <tt>degree</tt> value. The option <tt>-nocrop</tt> can be added to avoid cropping to the image size (black borders will be added).<br />
<br />
Note: if a selection is active, i.e. by using a command `boxselect` before `rotate`, the resulting image will be a rotated crop. In this particular case, the option <tt>-nocrop</tt> will be ignored if passed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are <= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8372Siril:Commands2022-12-23T22:00:36Z<p>Lock42: /* resample */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==ffill==<br />
ffill value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
<br />
Resamples image, either with a factor <tt>factor</tt> or for the target width or height provided by either of <tt>-width=</tt> or <tt>-height=</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed.<br />
<br />
The pixel interpolation method can be specified with the <tt>-interp=</tt> argument followed by one of the methods in the list <tt>no</tt>[ne], <tt>ne</tt>[arest], <tt>cu</tt>[bic], <tt>la</tt>[nczos4], <tt>li</tt>[near], <tt>ar</tt>[ea]}. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
Clamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <tt>-noclamp</tt> argument.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are <= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8371Siril:Commands2022-12-23T09:15:07Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==ffill==<br />
ffill value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are <= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8370Siril:Commands2022-12-17T22:43:51Z<p>Lock42: /* Commands history */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]], [[#capabilities|capabilities]], [[#inspector|inspector]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]],<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are <= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8369Siril:Commands2022-12-17T22:40:34Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]], [[#synthstar|synthstar]], [[#unclipstars|unclipstars]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]], <br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==synthstar==<br />
synthstar<br />
Synthstar fixes bad stars. No matter how much coma, tracking drift or other distortion your stars have, if Siril's star finder routine can detect it, synthstar will fix it. To use intensive care, you may wish to manually detect all the stars you wish to fix. This can be done using the findstar console command or the Dynamic PSF dialog. If you have not run star detection, it will be run automatically with default settings.<br />
For best results synthstar should be run before stretching.<br />
The output of synthstar is a fully corrected synthetic star mask comprising perfectly round star PSFs (Moffat or Gaussian profiles depending on star saturation) computed to match the intensity, FWHM, hue and saturation measured for each star detected in the input image. This can then be recombined with the starless image to produce an image with perfect stars.<br />
No parameters are required for this command.<br />
<br />
==unclipstars==<br />
unclipstars<br />
Re-profiles clipped stars to desaturate them, scaling the output so that all pixel values are <= 1.0.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8368Siril:Commands2022-12-17T22:34:14Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]], <br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8367Siril:Commands2022-12-17T22:32:40Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]], [[#seqmerge_cfa|seqmerge_cfa]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]], <br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqmerge_cfa==<br />
seqmerge_cfa sequencename bayerpattern [-prefixin=] [-prefixout=]<br />
Same command as MERGE_CFA but for the sequence <tt>sequencename</tt>.<br />
The Bayer pattern to be reconstructed must be provided as the second argment as one of RGGB, BGGR, GBRG or GRBG.<br />
The input filenames conain the identifying prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
Note: all 4 sets of input files <tt>must</tt> be present and <tt>must</tt> be consistently named, the only difference being the number after the identifying prefix.<br />
The output sequence name starts with the prefix "mCFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8366Siril:Commands2022-12-17T22:29:25Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]], [[#seqfindstar|seqfindstar]], [[#seqfixbanding|seqfixbanding]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
==seqfixbanding==<br />
seqfixbanding sequencename amount sigma [-prefix=] [-vertical]<br />
Same command as FIXBANDING but for the sequence <tt>sequencename</tt>.<br />
The output sequence name starts with the prefix "unband_" unless otherwise specified with <tt>-prefix=</tt> option.<br />
<tt>-vertical</tt> option enables to perform vertical banding removal.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8365Siril:Commands2022-12-17T22:26:39Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]], [[#seqfind_cosme_cfa|seqfind_cosme_cfa]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfindstar==<br />
seqfindstar sequencename [-layer=] [-maxstars=]<br />
Same command as FINDSTAR but for the sequence <tt>sequencename</tt>.<br />
The option <tt>-out=</tt> is not available for this process as all the star list files are saved with the default name <tt>seqname_seqnb.lst</tt>.<br />
<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8364Siril:Commands2022-12-17T22:23:23Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]] [[#merge_cfa|merge_cfa]], [[#seqheader|seqheader]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqheader==<br />
seqheader sequencename keyword<br />
Prints the FITS header value for the given key for all images in the sequence.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8363Siril:Commands2022-12-17T22:15:22Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==merge_cfa==<br />
merge_cfa file_CFA0 file_CFA1 file_CFA2 file_CFA3 bayerpattern<br />
Builds a Bayer masked colour image from 4 separate images containing the data from Bayer subchannels CFA0, CFA1, CFA2 and CFA3. (The corresponding command to split the CFA pattern into subchannels is <tt>split_cfa</tt>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <tt>bayerpattern</tt> specifies the Bayer matrix pattern to recreate: <tt>bayerpattern</tt> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'.<br />
<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8362Siril:Commands2022-12-17T22:10:03Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8361Siril:Commands2022-12-17T22:06:22Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==inspector==<br />
inspector<br />
Splits the current image in a nine-panel mosaic showing the image corners and the center for a closer inspection.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8360Siril:Commands2022-12-17T21:55:03Z<p>Lock42: /* capabilities */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8359Siril:Commands2022-12-17T21:54:29Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==capabilities==<br />
capabilities<br />
Lists Siril capabilities, based on compilation and runtime.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8358Siril:Commands2022-12-17T21:25:18Z<p>Lock42: </p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#savetif|SAVETIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==solsys==<br />
solsys [-mag=20.0]<br />
Search and display solar system objects in the current loaded and plate solved image. Use <tt>-mag=</tt> to change the limit magnitude which defaults to 20.<br />
This research has made use of IMCCE's [https://ui.adsabs.harvard.edu/abs/2006ASPC..351..367B/abstract SkyBoT VO tool]<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8354Siril:Commands2022-12-16T12:21:12Z<p>Lock42: /* savetif8 */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename [-astro]<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 8bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[Siril:Commands#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8353Siril:Commands2022-12-16T12:20:56Z<p>Lock42: /* savetif32 */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename [-astro]<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 32bits per channel. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif8==<br />
savetif8 filename<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 8bits per channel.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[Siril:Commands#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8352Siril:Commands2022-12-16T12:20:43Z<p>Lock42: /* savetif */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]], [[#mirrorx_single|mirrorx_single]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrorx_single==<br />
mirrorx_single image<br />
Flips the image about the vertical axis, only if needed (if it's not already bottom-up). It takes the image file name as argument, allowing it to avoid reading image data entirely if no flip is required.<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename [-astro]<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>. The option <tt>-astro</tt> allows saving in Astro-tiff format.<br />
<br />
==savetif32==<br />
savetif32 filename<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 32bits per channel.<br />
<br />
==savetif8==<br />
savetif8 filename<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 8bits per channel.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[Siril:Commands#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:Commands&diff=8350Siril:Commands2022-12-05T15:10:40Z<p>Lock42: /* denoise */</p>
<hr />
<div>'''This page contains a list of commands available in [[Siril]] 1.1.''' The reference for version 1.0 is [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 available here].<br />
<br />
Commands are often added or modified, this means that the version of Siril you are using may not be the same as the version documented here.<br />
<br />
=Introduction=<br />
<br />
[[Siril]] has a command line in its graphical user interface and an ability to run scripts that are a list of commands, either from the graphical user interface or from the command line interface. In general, commands that modify a single image work on the currently loaded image, so the use of the [[#load|LOAD]] command is required in scripts, and commands that work on a sequence of images take the name of the sequence as argument. If files are not named in a way that Siril detects as a sequence, the command [[#convert|CONVERT]] will help.<br />
<br />
The <tt><SPACE></tt> character is the delimiter between arguments. If you need to have spaces inside the arguments, you can use the quote or double quote, just like in a shell.<br />
<br />
Commands can be typed in the command line at the bottom of Siril's main window. <br />
Another way is to put commands in a file and execute it as a script. To execute the file from the GUI, add it to the configured script directories or from the GUI, use the '''@''' token of the command line like so:<br />
@file_name<br />
<br />
Some commands ([[#preprocess|preprocess]], [[#stack|stack]], and all save commands) can use file names containing variables coming from the FITS header. The format of the expression is explained in details [https://gitlab.com/free-astro/siril/-/merge_requests/346 here] and can be tested using the [[#parse|parse]] command.<br />
<br />
=Command stream (pipe)=<br />
Starting with [[Siril:0.9.10|0.9.10]], a new mode has been introduced in which commands can be sent through a named pipe and logs and status can be obtained through another. The mode is activated using the <code>-p</code> command line argument.<br />
<br />
The protocol is quite simple: Siril receives commands and outputs some updates. Only commands that are marked as scriptable can be used with this system. Whenever the command inputs pipe is closed or the <code>cancel</code> command is given, the running command is stopped as if the stop button was clicked on in the GUI. The pipes are named <code>siril_command.in</code> and <code>siril_command.out</code> and are available in /tmp on Unix-based systems. Since version 1.1.0, the paths of the pipes can be configured with <tt>-r</tt> and <tt>-w</tt> options, which allows external programs to create them before starting Siril, typically with the <tt>mkfifo</tt> command. Also new in 1.1.0, a <code>ping</code> command will simply give a status return, indicating if siril is ready to process a command or already busy.<br />
<br />
Outputs of siril on the pipe is a stream of one line text and formatted as follows:<br />
* <code>ready</code> is printed on startup, indicating siril is ready to process commands<br />
* <code>log: </code>followed by a log message<br />
* <code>status: verb [subject]</code>, where verb can be either of <code>starting</code>, <code>success</code>, <code>error</code> or <code>exit</code> (exit message is not yet implemented). The subject is the current command name, except for exit that indicates that siril suffered a fatal error and has to exit.<br />
* <code>progress: value%</code> is the equivalent of the progress bar, it sends percents periodically, and sometimes 0% at the end of a processing as an ''idle'' information.<br />
<br />
=Commands history=<br />
<br />
These lists help you see what has changed in the last version, whether new or modified commands.<br />
<br />
* 1.1.0: '''update of''' [[#stack|stack]] (changing weights options, adding rgb equalization, adding possibility to disable rejection, adding the fastnorm option to provide a faster alternative to normalization computation, adding k.sigma frame filters, adding rejection maps), [[#seqstat|seqstat]] (adding full option), [[#register|register]] (adding maxstars, 2pass, noout and interp options), [[#preprocess|preprocess]] (adding cosmetic correction options), [[#setfindstar|setfindstar]] (adding all options and relaxed mode), [[#mirrorx|mirrorx]] (adding bottomup option), adding the CFA option to [[#stat|stat]] and [[#seqstat|seqstat]], reviewing doc and arguments of commands [[#satu|satu]], [[#rmgreen|rmgreen]], [[#asinh|asinh]], [[#boxselect|boxselect]], [[#psf|psf]], [[#seqpsf|seqpsf]] [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#help|help]], [[#neg|neg]].<br>'''New commands''' [[#preprocess_single|preprocess_single]], [[#autostretch|autostretch]], [[#seqtilt|seqtilt]], [[#dumpheader|dumpheader]], [[#setphot|setphot]], [[#start_ls|start_ls]], [[#livestack|livestack]], [[#stop_ls|stop_ls]], [[#rgbcomp|rgbcomp]], [[#seqapplyreg|seqapplyreg]], [[#seqclean|seqclean]], [[#pcc|pcc]], [[#pm|pm]], [[#ght|ght]], [[#invght|invght]], [[#invmodasinh|invmodasinh]] [[#modasinh|modasinh]], [[#linstretch|linstretch]], [[#nomad|nomad]], [[#get|get]], [[#set|set]], [[#starnet|starnet]], [[#light_curve|light_curve]], [[#denoise|denoise]], [[#invmtf|invmtf]], [[#jsonmetadata|jsonmetadata]], [[#parse|parse]], [[#binxy|binxy]]<br />
* 1.0.0: '''update of''' [[#rl|rl]], [[#stack|stack]], [[#stackall|stackall]] (adding -output_norm and rejection algorithms), [[#preprocess|preprocess]] (removing -stretch and -flip and adding -fix_xtrans) and [[#convertraw|convertraw]] (adding -start=index, -out=directory and -fitseq -ser). Also, a <tt>-prefix=</tt> option has been added to the sequence commands that build a new sequence.<br>'''New commands''' [[#subsky|subsky]], [[#seqsubsky|seqsubsky]], [[#neg|neg]], [[#mtf|mtf]], [[#seqmtf|seqmtf]], [[#linear_match|linear_match]], [[#extract_Ha|extract_Ha]], [[#extract_HaOIII|extract_HaOIII]], [[#seqextract_Ha|seqextract_Ha]], [[#set16bits|set16bits]], [[#set32bits|set32bits]], [[#setcompress|setcompress]], [[#seqextract_HaOIII|seqextract_HaOIII]], [[#link|link]], [[#convert|convert]], [[#reloadscripts|reloadscripts]], [[#fix_xtrans|fix_xtrans]], [[#requires|requires]], [[#merge|merge]], [[#seqstat|seqstat]], [[#setref|setref]], [[#seqextract_Green|seqextract_Green]], [[#extract_Green|extract_Green]], [[#tilt|tilt]], [[#boxselect|boxselect]]<br />
* 0.9.12: [[#split_cfa|split_cfa]], [[#seqsplit_cfa|seqsplit_cfa]]<br />
* 0.9.11: [[#stack|stack]], [[#stackall|stackall]], [[#setmem|setmem]]<br />
* 0.9.10: [[#setfindstar|setfindstar]], [[#grey_flat|grey_flat]], [[#asinh|asinh]], [[#rgradient|rgradient]]<br />
* [[Siril:0.9.9|0.9.9]]: [[#convertraw|convertraw]], [[#preprocess|preprocess]], [[#register|register]], [[#stack|stack]], [[#close|close]], [[#clear|clear]], [[#setext|setext]], @<br />
* [[Siril:0.9.8|0.9.8]]: [[#savepng|savepng]], [[#stackall|stackall]]<br />
<br />
=Siril command line functions reference=<br />
<br />
This is the list of commands available in the development version of Siril. Check the list above, some may not be available in your version.<br />
<br />
==addmax==<br />
addmax filename<br />
addmax compute a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 is greater than 1. Do not forget to save the result.<br />
<br />
==asinh==<br />
asinh [-human] stretch [offset]<br />
Stretches the image to show faint objects using an hyperbolic arcsin transformation.<br />
<br />
The mandatory argument <tt>stretch</tt>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <tt>offset</tt> argument in the normalized pixel value of [0, 1]. Finally the option <tt>-human</tt> uses human eye luminous efficiency weights to compute the luminance used to compute the stretch value for each pixel, instead of the simple mean of the channels pixel values.<br />
<br />
==autostretch==<br />
autostretch [-linked] [shadowsclip [targetbg]]<br />
<br />
Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <tt>-linked</tt> is passed. Arguments are optional, <tt>shadowclip</tt> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <tt>targetbg</tt> is the target background value, giving a final brightness to the image, range [0, 1], default is 0.25. The default values are those used in the Auto-stretch rendering from the GUI.<br />
<br />
'''Do not use the unlinked version after color calibration'''. Linked preserves the white balance.<br />
<br />
==bg==<br />
bg<br />
Returns the background level of the image loaded in memory.<br />
<br />
==bgnoise==<br />
bgnoise<br />
Returns the background noise level.<br />
<br />
==binxy==<br />
binxy coefficient [-sum]<br />
Computes the numerical binning of the in-memory image (sum of the pixels 2x2, 3x3..., like the analogic binning of CCD camera). If the optional argument <tt>-sum</tt> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided.<br />
<br />
==boxselect==<br />
boxselect [-clear] [x y width height]<br />
Make a selection area in the currently loaded image with the arguments <tt>x</tt>, <tt>y</tt>, <tt>width</tt> and <tt>height</tt>, with <tt>x</tt> and <tt>y</tt> being the coordinates of the top left corner starting at (0, 0), and <tt>width</tt> and <tt>height</tt> the size of the selection.<br />
<br />
The <tt>-clear</tt> argument deletes any selection area. If no argument is passed, the current selection is printed.<br />
<br />
==cd==<br />
cd directory<br />
Set the new current working directory. <tt>directory</tt> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes. Examples:<br />
* <tt>cd ~/M42</tt><br />
* <tt>cd '../OIII 2x2/'</tt><br />
<br />
==cdg==<br />
cdg<br />
Return the coordinates of the center of gravity of the image. Only pixels with values above 15.7% of max ADU and having four neighbors filling the same condition are used to compute it, and it is computed only if there are at least 50 of them.<br />
<br />
==clahe==<br />
clahe cliplimit tileSize<br />
Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization<br />
<br />
==clear==<br />
clear<br />
Clears the graphical output logs<br />
<br />
==clearstar==<br />
clearstar<br />
Clear all the stars saved in memory and displayed on the screen.<br />
<br />
==close==<br />
close<br />
Properly closes the opened image and the opened sequence, if any.<br />
<br />
==convert==<br />
convert basename [-debayer] [-start=index] [-out=directory] [-fitseq] [-ser]<br />
Convert all images of the current working directory that are in a supported format into Siril's sequence of FITS images (several files) or a FITS sequence (single file) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The argument <tt>basename</tt> is the base name of the new sequence, numbers and the extension will be put behind it.<br />
<br />
For FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <tt>-debayer</tt> demosaics the input CFA images, in this case new RGB files are created.<br />
<br />
<tt>-start=index</tt> sets the starting index parameter for the converted images (not used with <tt>-fitseq</tt> or <tt>-ser</tt>) useful to continue an existing sequence (make sure you remove the target .seq if it exists in that case, or that you check ''force .seq recomputation'' when searching sequences.<br />
<br />
The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==convertraw==<br />
convertraw basename [-debayer] [-start=index] [-out=directory] [-fitseq]<br />
Convert DSLR RAW files into Siril's FITS images or a FITS sequence (single file / FITS cube) if <tt>-fitseq</tt> is provided or a SER sequence (single file) if <tt>-ser</tt> is provided. The basename argument is the base name of the new sequence. The <tt>debayer</tt> option applies demosaicing to images, <tt>-start=index</tt> sets the starting index parameter and <tt>-out=directory</tt> provides a directory for output files inseead of the CWD. For more information on arguments see [[#convert|convert]].<br />
<br />
==cosme==<br />
cosme filename<br />
Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinate of this pixels are in an ASCII file (provided in the <tt>filename</tt> argument) in lines whose format is indicated below. COSME is adapted to correct residual hot and cold pixels after preprocessing.<br />
<br />
Lines <tt>P x y type</tt> will fix the pixel at coordinates <tt>(x, y)</tt> <tt>type</tt> is an optional character (<tt>C</tt> or <tt>H</tt>) specifying to Siril if the current pixel is cold or hot. This line is created by the command [[#find_hot|FIND_HOT]] but you also can add some lines manually:<br /><br />
Lines <tt>C x 0 type</tt> will fix the bad column at coordinates <tt>x</tt>.<br /><br />
Lines <tt>L y 0 type</tt> will fix the bad line at coordinates <tt>y</tt>.<br />
<br />
==cosme_cfa==<br />
cosme_cfa filename<br />
Same function as [[#cosme|COSME]] but applying to RAW CFA images.<br />
<br />
==crop==<br />
crop [x, y, width, height]<br />
It can be used with the GUI: if a selection has been made with the mouse, calling the crop command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with x and y being the coordinates of the top left corner, and width and height the size of the selection.<br />
<br />
==ddp==<br />
ddp level coef sigma<br />
Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in [http://www.astrosurf.org/buil/us/iris/iris5.htm IRIS]. It combines a linear distribution on low levels (below level) and a non-linear on high levels. It uses a Gaussian filter of sigma sigma multiplies the resulting image by coef. The typical values for sigma are included between 0.7 and 2<br />
<br />
==denoise==<br />
denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep]<br />
Denoises the image using the non-local Bayesian algorithm described by [https://www.ipol.im/pub/art/2013/16 Lebrun, Buades and Morel in 2013].<br />
<br />
It is strongly recommended to apply cosmetic correction to remove salt and pepper noise before running denoise, and by default this command will apply cosmetic correction automatically. However, if this has already been carried out earlier in the workflow it may be disabled here using the optional command <tt>-nocosmetic</tt>.<br />
<br />
An optional parameter <tt>-mod=m</tt> may be given, where 0 <= m <= 1. The output pixel is computed as : ''out = m × d + (1 − m) × in'', where ''d'' is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.<br />
<br />
The optional parameter <tt>-vst</tt> can be used to apply the generalised Anscombe variance stabilising transform prior to NL-Bayes. This is useful with photon-starved images such as single subs, where the noise follows a Poisson or Poisson-Gaussian distribution rather than being primarily Gaussian. It cannot be used in conjunction with DA3D or SOS, and for denoising stacked images it is usually not beneficial.<br />
<br />
The optional parameter <tt>-da3d</tt> can be used to enable Data-Adaptive Dual Domain Denoising (DA3D) as a final stage denoising algorithm. This uses the output of BM3D as a guide image to refine the denoising. It improves detail and reduces staircasing artefacts.<br />
<br />
The optional parameter <tt>-sos=n</tt> can be used to enable Strengthen-Operate-Subtract (SOS) iterative denoise boosting, with the number of iterations specified by n. In particular, this booster may produce better results if the un-boosted NL-Bayes algorithm produces artefacts in background areas. If both -da3d and -sos=n are specified, the last to be specified will apply.<br />
<br />
The optional parameter <tt>-rho=r</tt> may be specified, where 0 < r < 1. This is used by the SOS booster to determine the amount of noisy image added in to the intermediate result between each iteration. If <tt>-sos=</tt> is not specified then this parameter is ignored.<br />
<br />
The default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.<br />
<br />
In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <tt>-indep</tt> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts<br />
<br />
==dumpheader==<br />
dumpheader<br />
Prints the FITS header of the currently loaded image, if any.<br />
<br />
==entropy==<br />
entropy<br />
Computes the entropy of the opened image on the displayed layer, only in the selected area if one has been selected or in the whole image else. The entropy is one way of measuring the noise or the details in an image.<br />
<br />
==exit==<br />
exit<br />
Quits the application.<br />
<br />
==extract==<br />
extract NbPlane<br />
Extracts NbPlane planes of Wavelet domain. For color extraction, see [[#split|split]].<br />
<br />
==extract_Green==<br />
extract_Green<br />
Extracts green signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the averaged green filter data as a new half-sized FITS file. The output file name starts with the prefix "Green_".<br />
<br />
See [[#seqextract_Green|SEQEXTRACT_GREEN]] for the same operation for sequences.<br />
<br />
==extract_Ha==<br />
extract_Ha<br />
Extracts H-alpha signal from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data as a new half-sized FITS file. The output file name starts with the prefix "Ha_".<br />
<br />
See [[#seqextract_Ha|SEQEXTRACT_HA]] for the same operation for sequences.<br />
<br />
==extract_HaOIII==<br />
extract_HaOIII<br />
Extracts H-alpha and O-III signals from the currently loaded CFA image. It reads the Bayer matrix information from the image or the preferences and exports only the red filter data for H-alpha and an average of the three others as a new half-sized FITS files. The output file name start with the prefixes "Ha_" and "OIII_".<br />
<br />
See [[#seqextract_HaOIII|SEQEXTRACT_HAOII]] for the same operation for sequences.<br />
<br />
==fdiv==<br />
fdiv filename scalar<br />
Divides the image in memory by the image given in argument. The resulting image is multiplied by the value of the scalar argument. Please check that the image is in the working directory.<br />
<br />
See also [[#idiv|idiv]].<br />
<br />
==fftd==<br />
fftd modulus phase<br />
Applies a Fast Fourier Transform to the image loaded in memory. Modulus and phase given in argument are saved in FITS files.<br />
<br />
==ffti==<br />
ffti modulus phase<br />
This function is used to retrieve corrected image applying an inverse transformation. The modulus and phase used are the files given in argument.<br />
<br />
==fill==<br />
fill value x y width height<br />
Fills the whole current image (or selection) with pixels having the value intensity.<br />
<br />
==fill2==<br />
fill2 value x y width height<br />
Same command as [[#fill|FILL]] but this is a symmetric fill of a region defined by the mouse. Used to process an image in the Fourier (FFT) domain.<br />
<br />
==find_cosme==<br />
find_cosme cold_sigma hot_sigma<br />
This command applies an automatic detection of cold and hot pixels following the threshold written in arguments.<br />
<br />
==find_cosme_cfa==<br />
find_cosme_cfa cold_sigma hot_sigma<br />
Same command as [[#find_cosme|FIND_COSME]] but for monochromatic CFA images.<br />
<br />
==find_hot==<br />
find_hot filename cold_sigma hot_sigma<br />
The command provides a list file <tt>filename</tt> (format text) in the working directory which contains the coordinates of the pixels which have an intensity <tt>hot_sigma</tt> times higher and <tt>cold_sigma</tt> lower than standard deviation, identified in the currently loaded image. We generally use this command on a master-dark file. The [[#cosme|COSME]] command can apply this list of bad pixels to a loaded image, see also [[#seqcosme|SEQCOSME]] to apply it to a sequence.<br />
<br />
==findstar==<br />
findstar<br />
Detects stars having a level greater than a threshold computed by Siril. The algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. D. M. Mehringer, R. L. Plante, & D. A. Roberts (San Francisco: ASP), 317.<br />
<br />
After that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria. Finaly, a circle is drawn around detected stars. See also the command [[#clearstar|CLEARSTAR]].<br />
<br />
==fix_xtrans==<br />
fix_xtrans<br />
Fixes the Fujifilm X-Trans Auto Focus pixels. Indeed, because of the phase detection auto focus system, the photosites used for auto focus get a little less light than the surrounding photosites. The camera compensates for this and increases the values from these specific photosites giving a visible square in the middle of the dark/bias frames.<br />
<br />
==fixbanding==<br />
fixbanding amount sigma<br />
Try to remove the canon banding. Argument <tt>amount</tt> define the amouont of correction. Sigma defines a protection level of the algorithm, higher sigma gives higher protection.<br />
<br />
==fmedian==<br />
fmedian ksize modulation<br />
Performs a median filter of size ksize <math> \times</math>ksize (ksize MUST be odd) to the original image with a modulation parameter modulation.<br />
The output pixel is computed as :<br />
out <math>=</math>mod <math> \times\ m + (1-</math>mod<math>) \times </math>in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation.<br />
<br />
==fmul==<br />
fmul scalar<br />
Multiplies the loaded image by the scalar given in argument.<br />
<br />
==gauss==<br />
gauss sigma<br />
Applies to the working image a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian blur] with parameter <tt>sigma</tt>.<br />
<br />
See also [[#unsharp|UNSHARP]], the same with a blending parameter.<br />
<br />
==get==<br />
get { -a | -A | variable }<br />
Get a setting value, using its variable name, or list all with <tt>-a</tt> (name and value list) or <tt>-A</tt> (detailed list).<br />
<br />
See also the [[#set|SET]] command to update values.<br />
<br />
==ght==<br />
ght [-human | -even | -independent] D B LP SP HP [channels]<br />
Generalised hyperbolic stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>B</tt> defines the intensity of the stretch near the focal point, between -5 and 15<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==grey_flat==<br />
grey_flat<br />
The function equalizes the mean intensity of RGB layers in a CFA images. This is the same process used on flats during preprocessing when the option ''equalize CFA'' is used.<br />
<br />
==help==<br />
help [command]<br />
Lists the available commands or help for one command.<br />
<br />
==histo==<br />
histo layer<br />
Calculates the histogram of the image layer in memory and produces file histo_[layer name].dat in the working directory.<br />
<br />
layer = 0, 1 or 2 with 0=red, 1=green and 2=blue.<br />
<br />
==iadd==<br />
iadd filename<br />
Adds the image in memory to the image designed in argument. Please check that the image is in the working directory.<br />
<br />
==idiv==<br />
idiv filename<br />
Divides the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
See also [[#fdiv|fdiv]].<br />
<br />
==imul==<br />
imul filename<br />
Multiplies the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==invght==<br />
invght [-human | -even | -independent] D B LP SP HP [channels]<br />
Invert a generalised hyperbolic stretch. It provides the inverse transformation of [[#ght|GHT]], if provided with the same parameters, to undo a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmodasinh==<br />
invmodasinh [-human | -even | -independent] D LP SP HP [channels]<br />
Invert a modified asinh stretch. It provides the inverse transformation of [[#modasinh|MODASINH]], if provided with the same parameters, to undo a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==invmtf==<br />
invmtf low mid high [channels]<br />
Inverse of the [[#mtf|MTF]] (midtones transfer function) command.<br />
<br />
==isub==<br />
isub filename<br />
Substracts the image in memory by the image given in argument. Please check that the image is in the working directory.<br />
<br />
==jsonmetadata==<br />
jsonmetadata FITS_file [-stats_from_loaded] [-nostats] [-out=]<br />
Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Statistics can be disabled by providing the <tt>-nostats</tt> option. A file containing the JSON data is created with default file name out.json and can be changed with the <tt>-out=</tt> option.<br />
<br />
==light_curve==<br />
light_curve sequencename channel { -at=x,y | -wcs=ra,dec } { -refat=x,y | -refwcs=ra,dec } ...<br />
light_curve sequencename channel -ninastars=file<br />
Analyse several stars in a sequence of images and produce a light curve for one, calibrated by the others. The first coordinates, in pixels if <tt>-at=</tt> is used or in degrees if <tt>-wcs=</tt> is used, are for the star whose light will be plotted, the others for the reference stars.<br />
<br />
Alternatively, a list of target and reference stars can be passed in the format of the NINA exolpanet plugin star list, with the <tt>-ninastars=</tt> option. Siril will verify that all reference stars can be used before actually using them. A data file is created in the current directory named light_curve.dat, gnuplot plots the result to a PNG image if available.<br />
<br />
See also [[#seqpsf|SEQPSF]] for operations on single star.<br />
<br />
==linstretch==<br />
linstretch BP [channels]<br />
Stretches the image linearly to a new black point BP. There is one mandatory argument: <tt>BP</tt> provides the new black point to stretch to. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==linear_match==<br />
linear_match reference low high<br />
Computes a linear function between a reference image and a target image already loaded in memory. The function is then applied to the target image to match it to the reference one. The algorithm will ignore all reference pixels whose values are outside of the [low, high] range. The target image is not saved after the call, see the [[#save|save]] command.<br />
<br />
==link==<br />
link basename [-start=index] [-out=directory]<br />
Create a new sequence from all FITS images found in the current working directory by linking them to a new name starting with the basename given in argument. If no symbolic link could be created, files are copied. The <tt>-out=</tt> option changes the output directory to the provided argument.<br />
<br />
==livestack==<br />
livestack filename<br />
Process the provided image for live stacking. Only possible after [[#start_ls|START_LS]]. The process involves calibrating the incoming file if configured in [[#start_ls|START_LS]], demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file <tt>live_stack_00001.fit</tt> until a new option to change it is added.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==load==<br />
load filename<br />
load filename.ext<br />
Loads the image filename; it first attempts to load filename, then filename.fit and finally filename.fits and after, all supported format, aborting if none of these are found. These scheme is applicable to every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO are read and their values given to the current viewing levels. Writing a known extension at the end of filename will load the image filename.ext: this is used when numerous files have the same name but not the same extension.<br />
<br />
Extensions supported are :<br />
* *.fit, *.fits, *.fts<br />
* *.bmp / *.jpg, *.jpeg / *.png / *.tif, *.tiff<br />
* *.ppm, *.pgm<br />
* *.pic (IRIS file)<br />
<br />
==log==<br />
log<br />
Computes and applies a logarithmic scale to the current image, using the following formula: log(1 - (value - min) / (max - min)), with min and max being the minimum and maximum pixel value for the channel.<br />
<br />
==ls==<br />
ls<br />
Lists files and directories in the working directory.<br />
<br />
==merge==<br />
merge seq1 seq2 [... seqn] newseq<br />
Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <tt>newseq</tt> created in the current working directory, with the same type. The input sequences can be in different directories, can specified either in absolute or relative path, with the exact .seq name or with only the base name with or without the trailing '_'.<br />
<br />
==mirrorx==<br />
mirrorx [-bottomup]<br />
Rotates the image around a vertical axis. Option <tt>-bottomup</tt> will only flip it if it's not already bottom-up<br />
<br />
==mirrory==<br />
mirrory<br />
Rotates the image around an horizontal axis.<br />
<br />
==modasinh==<br />
modasinh [-human | -even | -independent] D LP SP HP<br />
Modified arcsinh stretch based on the work of the [https://ghsastro.co.uk/ ghsastro.co.uk] team. This is similar to the simple asinh stretch but offers additional parameters for fine tuning.<br />
<br />
An optional argument (either <tt>-human</tt>, <tt>-even</tt> or <tt>-independent</tt>, can be passed to select either human-weighted or even-weighted luminance or independent colour channels for colour stretches (the argument is ignored for mono images).<br />
<br />
There are a number of mandatory arguments:<br />
* <tt>D</tt> defines the strength of the stretch, between 0 and 10<br />
* <tt>LP</tt> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail<br />
* <tt>SP</tt> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense<br />
* <tt>HP</tt> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.<br />
<br />
Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==mtf==<br />
mtf low midtone high [channels]<br />
Applies midtone transfer function to the current loaded image. Three parameters are needed, <tt>low</tt>, <tt>midtones</tt> and <tt>high</tt> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==neg==<br />
neg<br />
Changes pixel values of the currently loaded image to a negative view, like 1-value for 32 bits, 65535-value for 16 bits. This does not change the display mode.<br />
<br />
==new==<br />
new width height nb_layers<br />
Creates a new image filled with zeros with a size of <tt>width x height</tt>. The image is in 16-bit format, and it contains <tt>nb_layers</tt> layers, <tt>nb_layers</tt> being 1 or 3. It is not saved, but displayed and can be saved afterwards.<br />
<br />
==nomad==<br />
nomad [limit_magnitude]<br />
If [[Siril:Star_Catalogue|local star catalogues]] have been installed and currently loaded image has WCS information (= has been plate solved), display the stars with photometric information with at their expected positions, down to the provided magnitude, or 13 by default. If brighter stars do not show, it's because they don't have the photometric information (B-V index) required for the photometric color calibration ([[#pcc|PCC]]).<br />
<br />
Use [[#clearstar|CLEARSTAR]] to clear the drawn stars.<br />
<br />
==nozero==<br />
nozero level<br />
Replaces null values by level values. Useful before an idiv or fdiv operation.<br />
<br />
==offset==<br />
offset value<br />
Adds the constant value to the current image. This constant can take a negative value. As Siril uses unsigned fit files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows.<br />
To check the minimum and maximum intensities values, click on the Auto level button and note the low and high threshold.<br />
<br />
==parse==<br />
parse str [-r]<br />
Parses the string <tt>str</tt> using the information contained in the header of the image currently loaded.<br />
<br />
Option <tt>-r</tt> specifies the string is to be interpreted in read mode. In read mode, all wilcards defined in string <tt>str</tt> are used to find a file name matching the pattern. Otherwise, default mode is write mode and wildcards, if any, are removed from the string to be parsed.<br />
<br />
If <tt>str</tt> starts with ''lib'' prefix, it will be recognized as a reserved keyword and look for the string stored in gui_prepro.dark_lib, gui_prepro.flat_lib or gui_prepro.use_bias_lib for dark, flat or bias respectively.<br />
<br />
==pcc==<br />
pcc [image_center_coords] [-noflip] [-platesolve] [-focal=] [-pixelsize=]<br />
Run the Photometric Color Correction on the loaded image.<br />
<br />
If the image has already been plate solved, the PCC can reuse the solution. If you're not confident with the WCS information of the image being accurate, you can force the plate solving to be remade using the <tt>-platesolve</tt> flag.<br />
<br />
If not in the image's header or not reliable, the approximate image center coordinates can be provided in decimal degrees or degree/hour minute second values (J2000 with colon separators), with right ascension and declination values separated by a comma or a space.<br />
<br />
Unless <tt>-noflip</tt> is specified, the image will be flipped during the plate solving operation, if run, if it is detected as being upside-down.<br />
If image has no reliable metadata, focal length and pixel size can be passed as arguments for plate solving, which would override all other sources (image and settings).<br />
<br />
==pm==<br />
pm "expression" [-rescale [min max]]<br />
This command evaluates the expression given in argument as in PixelMath tool. The full expression must be between double quotes and variables (that are image names located in the working directory in that case) must be surrounded by the token $, e.g. <tt>"$image1$ * 0.5 + $image2$ * 0.5"</tt>. A maximum of 10 images can be used in the expression. The result can be rescaled with the option <tt>-rescale</tt> followed by <tt>low</tt> and <tt>high</tt> values in the range [0, 1], defaulting to 0 and 1.<br />
<br />
==preprocess==<br />
preprocess sequencename [-bias=filename|value] [-dark=filename] [-flat=filename] [{ -cc=dark [siglo sighi] | -cc=bpm bpmfile }] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=] [-fitseq]<br />
Preprocesses (calibrates) the sequence <tt>sequencename</tt> using any of bias, dark and flat masters given in argument.<br />
<br />
The bias master file can be replaced by an integer value or an expression that uses the <tt>OFFSET</tt> entry from the FITS header, in the form <tt>=2048</tt> or <tt>=64*$OFFSET</tt>. See the [https://siril.org/tutorials/synthetic-biases/#and-now-what tutorial on synthetic bias] for more information.<br />
<br />
By default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <tt>-cc=</tt> option. You can use <tt>-cc=dark</tt> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <tt>-dark=</tt> option), optionally followed by <tt>siglo</tt> and <tt>sighi</tt> for cold and hot pixels respectively. A value of 0 deactivates the correction. If sigmas are not provided, only hot pixels detection with a sigma of 3 will be applied. Alternatively, you can use <tt>-cc=bpm</tt> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a [[#find_hot|FIND_HOT]] command on a masterdark.<br />
<br />
Three options apply to color images (in CFA format): <tt>-cfa</tt> for cosmetic correction purposes, <tt>-debayer</tt> to demosaic them before saving and <tt>-equalize_cfa</tt> to equalize the mean intensity of the three R, G and B layers of the CFA flat master to avoid giving a tint to the calibrated image.<br />
<br />
The <tt>-fix_xtrans</tt> option is dedicated to X-Trans files by applying a correction on dark and bias images to remove an ugly square pattern caused by autofocus.<br />
<br />
It is also possible to optimize (adjust its level to match the offset of the image) the dark subtraction with <tt>-opt</tt>, possible only if both bias and dark masters are provided.<br />
<br />
The output sequence name starts with the prefix "pp_" unless otherwise specified with option <tt>-prefix=</tt>. If <tt>-fitseq</tt> is provided, the output sequence will be a FITS sequence (single file).<br />
<br />
==preprocess_single==<br />
preprocess_single filename [-bias=filename|value] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-fix_xtrans] [-equalize_cfa] [-opt] [-prefix=]<br />
<br />
Calibrates a single FITS image, using any of bias, dark and flat masters given in argument. Arguments are the same as for [[#preprocess|PREPROCESS]], except <tt>-fitseq</tt> that applies only to a sequence.<br />
<br />
==psf==<br />
psf [channel]<br />
Performs a [[Siril:PSF|PSF (Point Spread Function)]] on the selected star and displays the results. If provided, the <tt>channel</tt> argument selects the image channel on which the star will be analyzed. It can be omitted for monochrome images or when run from the GUI with one of the channels active in the view.<br />
<br />
The command will output:<br />
* The centroid coordinates (x0 and y0) in pixel units, which is the position of the center of symmetry of the fitted PSF.<br />
* The FWHM on the X and Y axis.<br />
* The rotation angle of the X axis with respect to the centroid coordinates.<br />
* The average local background.<br />
* The maximal intensity of the star: this is the peak value of the fitted function, located at the centroid coordinates x0 and y0.<br />
* The relative magnitude of the star.<br />
* The RMSE. This is an estimate of fitting quality. The smaller the RMSE is, the better the function is fitted.<br />
<br />
To be relevant, the selection MUST be done on a non-saturated star.<br />
<br />
==register==<br />
register sequence [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-selected]<br />
Finds and optionally performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. Using stars for registration, this algorithm only works with deep sky images. Star detection options can be changed using [[#setfindstar|SETFINDSTAR]] or the ''Dynamic PSF'' dialog. The detection is done on the green layer for colour images, unless specified by the <tt>-layer</tt> option with an argument ranging from 0 to 2 for red to blue.<br />
<br />
The <tt>-2pass</tt> and <tt>-noout</tt> options will only compute the transforms but not generate the transformed images. In that case, use the [[#seqapplyreg|SEQAPPLYREG]] command to generate the transformed sequence used during stacking. In other cases, transformed sequence is created with a name prefixed with <tt>r_</tt> unless otherwise specified with the <tt>-prefix=</tt> option.<br />
<br />
The reference frame, if not previously chosen with [[#setref|SETREF]] or from the GUI, will be set to the first image of the sequence. This can cause inaccurate registration if this first image is not of good quality (bad focus or tracking, cloud pass...). The option <tt>-2pass</tt> added in version 1.2 adds a preliminary pass to the registration, first detecting stars and choosing the best reference frame using a function based on FWHM and the number of stars, then computing the transforms of all frames relative to this new reference. The only drawback is that this makes the registration process a little slower because images must be read twice, once by this command and once by [[#seqapplyreg|SEQAPPLYREG]]. <tt>-2pass</tt> never produces an output, so implies <tt>-noout</tt>. <tt>-noout</tt> alone uses the single pass, first image as reference, registration. <tt>-nostarlist</tt> disables saving the star lists to disk for caching purposes.<br />
<br />
The option <tt>-transf=</tt> specifies the type of transformation to compute:<br />
* <tt>shift</tt>, a 2 degrees of freedom (dof), X and Y translation, rigid transform (can be used with <tt>-noout</tt> to not create a new sequence, and still be stacked directly)<br />
* <tt>similarity</tt>, a 4 dof transform, X and Y translation, a scale and rotation<br />
* <tt>affine</tt>, a 6 dof transform, X and Y translation, two scales, one shear and rotation<br />
* <tt>homography</tt> (default), a 8 dof warping transform.<br />
<br />
The option <tt>-drizzle</tt> activates the sub-pixel stacking by up-scaling by 2 the generated images or by setting a flag that will proceed to the up-scaling during stacking if <tt>-transf=shift -noout</tt> are passed.<br />
<br />
The option <tt>-minpairs=</tt> will specify the minimum number of star pairs a frame must have with the reference frame, otherwise the frame will be dropped and excluded from the sequence. The option <tt>-maxstars=</tt> will specify the maximum number of stars to find within each frame (must be between 100 and 2000). With more stars, a more accurate registration can be computed, but will take more time to run.<br />
<br />
The pixel interpolation method used during image transformation can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to <tt>shift</tt> and a pixel-wise shift is applied to each image without any interpolation. This option is unused if the output sequence is not created.<br />
<br />
All images of the sequence will be registered unless the option <tt>-selected</tt> is passed, in that case the excluded images will not be processed.<br />
<br />
==reloadscripts==<br />
reloadscripts<br />
Rescans the scripts folders and updates scripts menu.<br />
<br />
==requires==<br />
requires x.y.z<br />
This function returns an error if the version of Siril is older than the one passed in argument.<br />
<br />
==resample==<br />
resample factor<br />
Resamples image with a factor <tt>factor</tt>. This is generally used to resize images, a factor of 0.5 divides size by 2.<br />
<br />
In the graphical user interface, we can see that several interpolation algorithms are proposed. Here, ''Pixel Area Relation'' is used and cannot be changed.<br />
<br />
==rgbcomp==<br />
rgbcomp red green blue [-out=result_filename]<br />
rgbcomp -lum=image { rgb_image | red green blue } [-out=result_filename] <br />
Create an RGB composition using three independent images, or an LRGB composition using the optional luminance image and three monochrome images or a color image. Result image is called composed_rgb.fit or composed_lrgb.fit unless another name is provided in the optional argument.<br />
<br />
==rgradient==<br />
rgradient xc yc dR dalpha<br />
Creates two images, with a radial shift (<tt>dR</tt> in pixels) and a rotational shift (<tt>dalpha</tt> in degrees) with respect to the point (<tt>xc</tt>, <tt>yc</tt>). Between these two images, the shifts have the same amplitude, but an opposite sign. The two images are then added to create the final image. This process is also called Larson Sekanina filter.<br />
<br />
==rl==<br />
rl threshold sigma corner_radius_boost iterations<br />
Restores an image using the Richardson-Lucy method. Threshold generates an internal mask based on microcontrast in the image which then is used to blend the deconvoluted with the convoluted image. Sigma is the size of the kernel to be applied, while corner_radius_boost is a value which is added to Gaussian sigma for the tiles in the corners of an image. Iterations is the number of iterations to be performed.<br />
<br />
Valid values are 0.4 to 2.0 for sigma and -0.5 to 0.5 for corner_radius_boost.<br />
<br />
==rmgreen==<br />
rmgreen [type]<br />
rmgreen is a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR Average Neutral algorithm and it is the same filter used by HLVG plugin in Photoshop.<br />
<br />
With the command, lightness is always preserved. For image processing without L* preservation, use the graphical tool and uncheck the corresponding box.<br />
<br />
<tt>type</tt> can take values 0 for ''Average Neutral Protection'' or 1 for ''Maximum Neutral Protection''.<br />
<br />
==rotate==<br />
rotate degree<br />
Rotates the image of an angle of degree value.<br />
<br />
==rotatepi==<br />
rotatepi<br />
Rotates the image of an angle of 180° around its center. This is equivalent to the command <tt>rotate 180</tt> or <tt>rotate -180</tt>.<br />
<br />
==satu==<br />
satu amount [background_factor [hue_range_index]]<br />
<br />
Enhances the color saturation of the loaded image. Try iteratively to obtain best results.<br />
<br />
* <tt>amount</tt> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%<br />
* <tt>background_factor</tt> is a factor to ([[Siril:Statistics|median]] + [[Siril:Statistics|sigma]]) used to set a threshold for which only pixels above it would be modified. This allows background noise to not be color saturated, if chosen carefully. Defaults to 1. Setting 0 disables the threshold.<br />
* <tt>hue_range_index</tt> can be [0, 6], meaning: 0 for pink to orange, 1 for orange to yellow, 2 for yellow to cyan, 3 for cyan, 4 for cyan to magenta, 5 for magenta to pink, 6 for all (default).<br />
<br />
==save==<br />
save filename<br />
Saves current image to filename.fit. Fits headers MIPS-HI and MIPS-LO are added with values corresponding to the current viewing levels. <tt>filename</tt> can contain a path as long as the directory already exists.<br />
<br />
==savebmp==<br />
savebmp filename<br />
Saves current image under the form of a bitmap file with 8bits per channel: filename.bmp (BMP 24 bits).<br />
<br />
==savejpg==<br />
savejpg filename [quality]<br />
Saves current image into a JPG file. You have the possibility to adjust the quality of the compression. A value 100 for quality parameter offers best fidelity while a low value increases the compression ratio. If no value is specified, it holds a value of 100. This command is very usefull to share an image in the jpeg format on the forums for example.<br />
<br />
==savepng==<br />
savepng filename<br />
Saves current image as a PNG file, with 16 bits per channel if the loaded image is 16 or 32 bits, and 8 bits per channel if the loaded image is 8 bits.<br />
<br />
==savepnm==<br />
savepnm filename<br />
Saves current image under the form of a Netpbm file format with 16bits per channel. The extension of the output will be filename.ppm for RGB image and filename.pgm for gray-level image. More details about the Netpbm format at : [http://en.wikipedia.org/wiki/Netpbm_format http://en.wikipedia.org/wiki/Netpbm_format].<br />
<br />
==savetif==<br />
savetif filename<br />
Saves current image as an uncompressed TIFF file with 16bits per channel. The <tt>.tif</tt> suffix is added to the <tt>filename</tt>.<br />
<br />
==savetif32==<br />
savetif32 filename<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 32bits per channel.<br />
<br />
==savetif8==<br />
savetif8 filename<br />
Same command as [[#save_tif|SAVE_TIF]] but the output file is saved in 8bits per channel.<br />
<br />
==select==<br />
select from to<br />
This command allows easy mass selection of images in the loaded sequence (from - to, to included). Examples:<br />
select 0 0<br />
selects the first.<br />
select 1000 1200<br />
selects 201 images starting from number 1000<br />
<br />
The second number can be greater than the number of images to just go up to the end.<br />
<br />
See [[#unselect|UNSELECT]].<br />
<br />
==seqapplyreg==<br />
seqapplyreg sequencename [-drizzle] [-interp=] [-layer=] [-framing=] [-prefix=] [filtering options]<br />
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed and optionally excluding images from the sequence using the ''filtering options'' documented in the [[#stack|STACK]] command reference.<br />
<br />
The output sequence name starts with the prefix <tt>r_</tt> unless otherwise specified with <tt>-prefix=</tt> option.<br />
<br />
The option <tt>-drizzle</tt> activates up-scaling by 2 the images created in the transformed sequence.<br />
<br />
The interpolation method can be specified with the <tt>-interp=</tt> keyword followed by one of the methods in the list <tt>{ no[ne] | ne[arest] | cu[bic] | la[nczos4] | li[near] | ar[ea] }</tt>. If <tt>none</tt> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.<br />
<br />
The registration is done on the first layer for which data exists for RGB images unless specified by <tt>-layer=</tt> option (0, 1 or 2 for R, G and B respectively).<br />
<br />
Automatic framing of the output sequence can be specified using <tt>-framing=</tt> keyword followed by one of the methods in the list <tt>{ current | min | max | cog }</tt>. <tt>-framing=max</tt> (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered. <tt>-framing=min</tt> (common area) crops each image to the area it has in common with all images of the sequence. <tt>-framing=cog</tt> determines the best framing position as the center of gravity (cog) of all the images.<br />
<br />
==seqclean==<br />
seqclean sequencename [-reg] [-stat] [-sel]<br />
This command clears frame selection, registration and/or statistics data stored in <tt>sequencename</tt>.<br />
<br />
You can specify to clear only registration, statistics and/or selection with <tt>-reg</tt>, <tt>-stat</tt> and <tt>-sel</tt> options respectively. All are cleared if no option is passed.<br />
<br />
==seqcosme==<br />
seqcosme seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme|COSME]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcosme_cfa==<br />
seqcosme_cfa seqname [filename].lst [-prefix=]<br />
Same command as [[#cosme_cfa|COSME_CFA]] but for the the sequence <tt>sequencename</tt>.<br />
<br />
The output sequence name starts with the prefix "cosme_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqcrop==<br />
seqcrop seqname x y width height [-prefix=]<br />
Crops the sequence given in the <tt>seqname</tt> argument. The output sequence name starts with the prefix "cropped_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Green==<br />
seqextract_Green seqname [-prefix=]<br />
Same command as [[#extract_Green|EXTRACT_GREEN]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Green_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_Ha==<br />
seqextract_Ha seqname [-prefix=]<br />
Same command as [[#extract_Ha|EXTRACT_HA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "Ha_" unless otherwise specified with option <tt>-prefix=</tt>. Only selected images in the sequence are processed.<br />
<br />
==seqextract_HaOIII==<br />
seqextract_HaOIII seqname<br />
Same command as [[#extract_HaOIII|EXTRACT_HAOIII]] but for the sequence <tt>seqname</tt>. The output sequences names start with the prefixes "Ha_" and "OIII_". Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme==<br />
seqfind_cosme cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme|FIND_COSME]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqfind_cosme_cfa==<br />
seqfind_cosme_cfa cold_sigma hot_sigma [-prefix=]<br />
Same command as [[#find_cosme_cfa|FIND_COSME_CFA]] but for the loaded sequence. The output sequence name starts with the prefix "cc_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqmtf==<br />
seqmtf seqname low midtone high [channels] [-prefix=]<br />
Same command as [[#mtf|MTF]] but for the sequence seqname. The output sequence name starts with the prefix "mtf_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed. Optionally, the parameter <tt>channels</tt> may be used to specify the channels to apply the stretch to: this may be R, G, B, RG, RB or GB. The default is all channels.<br />
<br />
==seqpsf==<br />
seqpsf [sequencename channel { -at=x,y | -wcs=ra,dec }]<br />
Same command as [[#psf|PSF]] but works for sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images.<br />
<br />
This command is what is called internally by the menu that appears on right click in the image, with the ''PSF for the sequence'' entry. By default, it will run with parallelisation activated; if registration data already exists for the sequence, they will be used to shift the search window in each image. If there is no registration data and if there is significant shift between images in the sequence, the default settings will fail to find stars in the initial position of the search area.<br />
<br />
The ''follow star'' option can then be activated by going in the registration tab, selecting the one-star registration and checking the ''follow star movement'' box (default in headless if no registration data is available).<br />
<br />
Results will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.<br />
<br />
When creating a light curve, the first star for which seqpsf has been run, marked 'V' in the display, will be considered as the variable star. All others are averaged to create a reference light curve subtracted to the light curve of the variable star.<br />
<br />
Currently, in headless operation, the command prints some analysed data in the console, another command allows several stars to be analysed and plotted as a light curve: [[#light_curve|LIGHT_CURVE]]. Arguments are mandatory in headless, with <tt>-at=</tt> allowing coordinates in pixels to be provided for the target star and <tt>-wcs=</tt> allowing J2000 equatorial coordinates to be provided.<br />
<br />
==seqsplit_cfa==<br />
seqsplit_cfa seqname [-prefix=]<br />
Same command as [[#split_cfa|SPLIT_CFA]] but for the sequence <tt>seqname</tt>. The output sequence name starts with the prefix "CFA_" and a number unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
''Limitation:'' the sequence always outputs a sequence of FITS files, no matter the type of input sequence.<br />
<br />
==seqstat==<br />
seqstat seqname output [option] [-cfa]<br />
Same command as STAT bit for sequence <tt>sequencename</tt>. Only selected images in the sequence are processed. The output is saved in a csv file given in second argument, the meaning of each value is explained in the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page].<br />
<br />
The optional parameter can be <tt>basic</tt>, <tt>main</tt> or <tt>full</tt>. Default is <tt>main</tt>.<br />
* <tt>basic</tt> includes mean, median, sigma, bgnoise, min and max<br />
* <tt>main</tt> includes <tt>basic</tt> with the addition of avgDev, MAD and the square root of BWMV<br />
* <tt>full</tt> includes <tt>main</tt> with the addition of location and scale.<br />
<br />
If <tt>-cfa</tt> is passed and the images are CFA, statistics are made on per-filter extractions.<br />
<br />
==seqsubsky==<br />
seqsubsky seqname { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]<br />
Same command as [[#subsky|SUBSKY]] but for the sequence <tt>sequencename</tt>. The output sequence name starts with the prefix "bkg_" unless otherwise specified with <tt>-prefix=</tt> option. Only selected images in the sequence are processed.<br />
<br />
==seqtilt==<br />
seqtilt [sequencename]<br />
Same command as [[#tilt|TILT]] but for the loaded sequence (from the GUI) or the sequence <tt>sequencename</tt>. It generally gives better result.<br />
<br />
==set==<br />
set { -import=inifilepath | variable=value }<br />
Update a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <tt>-import=</tt> option.<br />
<br />
See [[#get|GET]] to get values or the list of variables.<br />
<br />
==set16bits==<br />
set16bits<br />
Forbid images to be saved with 32 bits per channel on processing, use 16 instead.<br />
<br />
==set32bits==<br />
set32bits<br />
Allow images to be saved with 32 bits per channel on processing.<br />
<br />
==setcompress==<br />
setcompress 0/1 [-type=] [q] [hscale_factor]<br />
Defines if images are compressed or not: 0 means no compression. If compression is enabled, the type must be explicitly written in the option <tt>-type=</tt> (<tt>rice</tt>, <tt>gzip1</tt>, <tt>gzip2</tt> and <tt>hcompress</tt>). Associated to the compression, the quantization value must follow [0, 256] and in the case of <tt>hcompress</tt>, the hcompress scale factor [0, 256] as well. For example, <tt>setcompress 1 -type=rice 16</tt> set the rice compression with a quantization of 16.<br />
<br />
==setcpu==<br />
setcpu number<br />
Defines the number of processing threads used for calculation. Can be as high as the number of virtual threads existing on the system, which is the number of CPU cores or twice this number if hyper-threading ([https://en.wikipedia.org/wiki/Hyper-threading Intel HT]) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. See also [[#setmem|SETMEM]].<br />
<br />
Warning: this command does not persist over siril restarts, contrary to [[#setmem|SETMEM]] which is saved in settings.<br />
<br />
==setext==<br />
setext extension<br />
Sets the extension used and recognized by sequences. The argument <tt>extension</tt> can be <tt>fit</tt>, <tt>fts</tt> or <tt>fits</tt>.<br />
<br />
==setfindstar==<br />
setfindstar [reset] [-radius=] [-sigma=] [-roundness=] [-focal=] [-pixelsize=] [-auto=on|off] [-convergence=] [-relax=on|off]<br />
<br />
Defines stars detection parameters for FINDSTAR and REGISTER commands.<br />
<br />
Passing no parameter lists the current values. Passing <tt>reset</tt> resets all values to defaults. You can then still pass values after this keyword.<br />
<br />
The threshold for star detection is computed as the median of the image (which represents in general the background level) plus k times sigma, sigma being the standard deviation of the image (which is a good indication of the noise amplitude). If you have many stars in your images and a good signal/noise ratio, it may be a good idea to increase this value to speed-up the detection and false positives.<br />
<br />
The roundness argument is the minimal ratio of the short axis on the long axis of the star Gaussian fit (see [[Siril:PSF|PSF]]). A value of 1 would keep only perfectly round stars, a value of 0.5, the default, means that stars detected twice as big on an axis as on the other will still be used for registration.<br />
<br />
It is recommended to '''test the values''' used for a sequence with Siril's GUI, available in the dynamic PSF toolbox from the analysis menu. It may improve registration quality to increase the parameters, but it is also important to be able to detect several tens of stars in each image.<br />
<br />
<tt>-radius=</tt> defines the radius of the initial search box and must be between 3 and 50.<br><tt>-sigma=</tt> defines the threshold above noise and must be greater or equal to 0.05.<br><tt>-roundness=</tt> defines minimum star roundness and must between 0 and 0.95<br><tt>-auto=</tt> is used if set to ''on'', in which case the <tt>radius</tt> option is corrected to account for the actual sampling defined by <tt>focal</tt> and <tt>pixelsize</tt> options (unless already defined in the image header). This option can be deactivated by setting <tt>-auto=</tt>''off''.<br><tt>-focal=</tt> defines the focal length of the telescope.<br><tt>-pixelsize=</tt> defines the pixel size of the sensor.<br><tt>-convergence=</tt> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).<br><tt>-relax=</tt> relaxes checks that are done on star candidates to assess if they are stars or not, to allow objects not shaped like stars to still be accepted (off by default).<br />
<br />
==setmag==<br />
setmag magnitude<br />
Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see [[#unsetmag|UNSETMAG]].<br />
<br />
==setmagseq==<br />
setmagseq magnitude<br />
This command is only valid after having run seqpsf or its graphical counterpart (select the area around a star and launch the psf analysis for the sequence, it will appear in the graphs). This command has the same goal as [[#setmag|setmag]] but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see [[#unsetmagseq|unsetmagseq]].<br />
<br />
==setmem==<br />
setmem ratio<br />
Sets a new ratio of free memory on memory used for stacking. Value should be between 0 and 1, depending on other activities of the machine. A higher ratio should allow siril to stack faster. Introduced in [[Siril:0.9.11|0.9.11]]. See also [[#setcpu|SETCPU]].<br />
<br />
==setphot==<br />
setphot [-inner=20] [-outer=30] [-aperture=10] [-force_radius=no] [-gain=2.3] [-min_val=0] [-max_val=60000]<br />
Gets or sets photometry settings, mostly used by [[#seqpsf|seqpsf]]. If arguments are provided, they will update the settings. None are mandatory, any can be provided, default values are shown in the command's syntax. At the end of the command's execution, the active configuration will be printed. Aperture is dynamic unless forced, the <tt>aperture</tt> value from settings is not used if dynamic, FWHM is used instead. Gain is used only if not available from the FITS header. See the documentation on these parameters in [[Siril:Photometry|the aperture photometry page]].<br />
<br />
==setref==<br />
setref sequencename image<br />
Sets the reference image of the sequence given in first argument.<br />
<br />
==split==<br />
split r g b<br />
Splits the currently loaded color image into three distincts files (one for each color) and save them in r g and b FITS files.<br />
<br />
==split_cfa==<br />
split_cfa<br />
Splits the currently loaded CFA image into four distinct images (one for each filter of the Bayer matrix) and save them in FITS files. See [[#seqsplit_cfa|SEQSPLIT_CFA]] for the same operation on a sequence.<br />
<br />
Not supported for XTRANS sensors.<br />
<br />
==stack==<br />
stack seqfilename<br />
stack seqfilename { sum | min | max } [filtering] [-output_norm] [-out=filename]<br />
stack seqfilename { med | median } [-nonorm, -norm=] [filtering] [-fastnorm] [-rgb_equal] [-output_norm] [-out=filename]<br />
stack seqfilename { rej | mean } [rejection type] [sigma_low sigma_high] [-rejmap[s]] [-nonorm, -norm=] [filtering] [-fastnorm] [ -weight_from_noise | -weight_from_nbstack | -weight_from_wfwhm | -weight_from_nbstars ] [-rgb_equal] [-output_norm] [-out=filename]<br />
with <tt>filtering</tt> being any of these options, in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Stacks the <tt>seqfilename</tt> sequence, using options.<br />
<br />
The allowed types are: <tt>sum</tt>, <tt>max</tt>, <tt>min</tt>, <tt>med</tt> or <tt>median</tt> (these two are the same), <tt>mean</tt> or <tt>rej</tt> (same here).<br />
<br />
The rejection type is one of <tt>n[one]</tt>, <tt>p[ercentile]</tt>, <tt>s[igma]</tt>, <tt>m[edian]</tt>, <tt>w[insorized]</tt>, <tt>l[inear]</tt>, <tt>g[eneralized]</tt> or <tt>[m]a[d]</tt> for no rejection or Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test and k-MAD clipping. If omitted, the default (Winsorized) is used. The <tt>sigma_low</tt> and <tt>high</tt> parameters of rejection are mandatory if rejection is not set to <tt>none</tt>. Optionally, rejection maps can be created, showing where pixels were rejected in one (<tt>-rejmap</tt>) or two (<tt>-rejmaps</tt>, for low and high rejections) newly created images. Rejection map files will be named like the original file, with suffixes <tt>_low+high_rejmap</tt>, <tt>_low_rejmap</tt> or <tt>_high_rejmap</tt> depending on the case.<br />
<br />
See the tooltips in the stacking tab for more information about the stacking methods and rejection types, or see the [[Siril#Start_using_Siril_.2F_Documentation|documentation]].<br />
<br />
Best images from the sequence can be stacked by using the filtering arguments. Each of these arguments can remove bad images based on a property their name contains, taken from the registration data, with either of the three types of argument values:<br />
* a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),<br />
* a percentage of best images to keep if the number is followed by a <tt>%</tt> sign,<br />
* or a k value for the k.sigma of the worse image to keep if the number is followed by a <tt>k</tt> sign.<br />
It is also possible to use manually selected images, either previously from the GUI or with the [[#select|select]] or [[#unselect|unselect]] commands, using the <tt>-filter-included</tt> argument.<br />
<br />
If several filters are added to the command, only images that pass all the filters will be stacked. There is consequently no order. If a filter is badly declared, because it has no registration data or a too low threshold, nothing will be stacked.<br />
<br />
Normalization can be enabled for median and mean stacking methods using the <tt>-norm=''normalization''</tt> option. The allowed normalization are: <tt>add</tt>, <tt>addscale</tt>, <tt>mul</tt> or <tt>mulscale</tt>. For other methods, or with the use of the <tt>-nonorm</tt> flag, normalization is disabled. The additional flag <tt>-fastnorm</tt> will enable the use of faster estimators for location (median) and scale (MAD) than the default IKSS, which in a few cases may give less good results. <tt>-rgb_equal</tt> will change how color images are normalized to equalize their own channels, making their background more gray than the usual green. This is useful if no [[#pcc|pcc]] can be made, or if no unlinked [[#autostretch|autostretch]] is to be used.<br />
<br />
Weighting the images in the mean computation (after rejection if enabled) is possible using either the noise level computed from each image (option <tt>-weight_from_noise</tt>), the FWHM weighted by the number of stars common with the reference image (option <tt>-weight_from_wfwhm</tt>), the number of stars in the image (option <tt>-weight_from_nbstars</tt>) (the last two computed during registration), or using the number of images previously used to stack the input images, indicated by the <tt>STACKCNT</tt> or <tt>NCOMBINE</tt> FITS header keywords (option <tt>-weight_from_nbstack</tt>), the latter being used for live or iterative stacking. These options can only be enabled with mean or rejection stacking, when normalization has been enabled.<br />
<br />
<tt>-output_norm</tt> applies a normalization at the end of the stacking to rescale result in the [0, 1] range.<br />
<br />
Stacked image for the sequence is created with the name provided in the optional argument <tt>-out</tt>, or with the name of the sequence suffixed "_stacked" and the configured FITS file extension. If a file with this name already exists, it will be overwritten without warning.<br />
<br />
Note that this command was added in the [[Siril:0.9.9|0.9.9]] release, the filtering and output naming options were added in the [[Siril:0.9.11|0.9.11]] release and the output_norm in the [[Siril:1.0.0|1.0.0]], weighting options, rgb equalization and disabling the rejection were added in 1.1.0.<br />
<br />
==stackall==<br />
stackall<br />
stackall { sum | min | max } [filtering]<br />
stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]]<br />
stackall { rej | mean } [rejection type] [sigma_low sigma_high] [-nonorm, norm=] [filtering] [ -weight_from_noise | -weight_from_wfwhm | -weight_from_nbstars | -weight_from_nbstack ] [-rgb_equal] [-out=filename]<br />
<br />
With <tt>filtering</tt> being some of these in no particular order or number:<br />
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]<br />
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]<br />
<br />
Opens all sequences in the current working directory (CWD) and stacks them with the optionally specified stacking method. See [[#stack|STACK]] command for options description.<br />
<br />
Stacked images for each sequence are created with the suffix "_stacked" and the configured FITS file extension.<br />
<br />
Note that most options for this command were introduced in the [[Siril:0.9.8|0.9.8]] release, the filtering options were introduced in the [[Siril:0.9.11|0.9.11]] release and the <tt>output_norm</tt> option in the [[Siril:1.0.0|1.0.0]] release.<br />
<br />
==starnet==<br />
starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]<br />
This command calls [https://www.starnetastro.com/ Starnet++] to remove stars from the current image.<br />
<br />
'''Prerequisite:''' Starnet++ is an external program, with no affiliation with Siril, and must be installed correctly prior to first use of this command, with path to its installation directory correctly set in Preferences / Miscellaneous.<br />
<br />
The starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <tt>-nostarmask</tt> is provided.<br />
<br />
Optionally, parameters may be passed to the command:<br />
* The option <tt>-stretch</tt> is for use with linear images and will apply a pre-stretch before running Starnet and the inverse stretch to the generated starless and starmask images.<br />
* To improve star removal on images with very tight stars, the parameter <tt>-upscale</tt> may be provided. This will upsample the image by a factor of 2 prior to Starnet++ processing and rescale it to the original size afterwards, at the expense of more processing time.<br />
* The optional parameter <tt>-stride=value</tt> may be provided, however the author of Starnet ''strongly'' recommends that the default stride of 256 be used.<br />
<br />
More tips and tricks are available [https://www.starnetastro.com/tips-tricks/ there].<br />
<br />
==start_ls==<br />
start_ls [-dark=filename] [-flat=filename]<br />
Initialize a livestacking session, using the optional calibration files and wait for input files to be provided by the [[#livestack|LIVESTACK]] command until [[#stop_ls|STOP_LS]] is called.<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==stat==<br />
stat [-cfa]<br />
Returns global statistics of the current image. The meaning of each value is explained on the [https://free-astro.org/index.php?title=Siril:Statistics statistics documentation page]. If a selection is made, the command returns global statistics within the selection. To compute the statistics on a sequence, see [[Siril:Commands#seqstat|SEQSTAT]]. If <tt>-cfa</tt> is passed and the image is CFA, statistics are made on per-filter extractions.<br />
<br />
==stop_ls==<br />
stop_ls<br />
Stop the live stacking session. Only possible after [[#start_ls|START_LS]].<br />
<br />
''Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After [[#start_ls|START_LS]], only [[#livestack|LIVESTACK]], [[#stop_ls|STOP_LS]] and [[#exit|EXIT]] can be called until [[#stop_ls|STOP_LS]] is called to return Siril in its normal, non-live-stacking, state.''<br />
<br />
==subsky==<br />
subsky { -rbf | degree } [-samples=20] [-tolerance=1.0] [-smooth=0.5]<br />
Computes a synthetic background gradient using either the polynomial function model of <tt>degree</tt> degrees or the RBF model (if <tt>-rbf</tt> is provided instead) and subtracts it from the image. The number of samples per horizontal line and the tolerance to exclude brighter areas can be adjusted with the optional arguments. Tolerance is in mad units: median + tolerance * mad. For RBF, the additional smoothing parameter is also available.<br />
<br />
==threshlo, threshhi, thresh==<br />
These are threshold functions:<br />
* <tt>threshlo 40</tt> replaces values below 40 with 40;<br />
* <tt>threshhi 1000</tt> replaces values above 1000 with 1000;<br />
* <tt>thresh 40 1000</tt> does both.<br />
<br />
==tilt==<br />
tilt<br />
Computes the Sensor tilt as the fwhm difference between the best and worst corner truncated mean values. The <tt>clear</tt> option allows to clear the drawing.<br />
<br />
==unselect==<br />
unselect from to<br />
Allows easy mass unselection of images in the loaded sequence (from - to). See [[#select|SELECT]].<br />
<br />
==unsetmag==<br />
unsetmag<br />
Reset the magnitude calibration to 0. See [[#setmag|SETMAG]].<br />
<br />
==unsetmagseq==<br />
unsetmagseq<br />
Resets the magnitude calibration and reference star for the sequence. See [[#setmagseq|SETMAGSEQ]].<br />
<br />
==unsharp==<br />
unsharp sigma amount<br />
Applies to the working image an unsharp mask, actually a [https://en.wikipedia.org/wiki/Gaussian_blur Gaussian filtered] image with parameter <tt>sigma</tt> and a blend with the parameter <tt>amount</tt> used as such: <tt>out = in * (1 + amount) + filtered * (-amount)</tt>.<br />
<br />
See also [[#gauss|GAUSS]], the same without the blending.<br />
<br />
==visu==<br />
visu low high<br />
Displays an image with low and high as the low and high threshold.<br />
<br />
==wavelet==<br />
wavelet plan_number type<br />
Computes the wavelet transform on <tt>nbr_plan</tt> plans using linear (<tt>type=1</tt>) or bspline (<tt>type=2</tt>) version of the 'a trous' algorithm. The result is stored in a file as a structure containing the planes, ready for weighted reconstruction with WRECONS.<br />
<br />
==wrecons==<br />
wrecons c1 c2 ... cn<br />
Reconstructs to current image from the planes previously computed with wavelets and weighted with coefficients <tt>c1, c2, ..., cn</tt> according to the number of planes used for wavelet transform.</div>Lock42https://free-astro.org/index.php?title=Siril:1.0.5&diff=8274Siril:1.0.52022-10-12T19:21:33Z<p>Lock42: /* Known issues */</p>
<hr />
<div>=Siril 1.0.5=<br />
'''Release date: Sept 9, 2022'''<br />
<br />
This is the fifth minor update of the 1.0 branch. It fixes the problems identified in the 1.0.4 version, as listed in [[Siril:1.0.4#Known_issues|its page]]. Only one small feature was added, a new button has been added to the gradient extraction window to toggle between before and after images, as explained in the [https://siril.org/download/1.0.5 main version release article].<br />
<br />
The commands reference page for this version is the same as for 1.0.0: [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 see the list of commands for Siril 1.0].<br />
<br />
==Download==<br />
See the [https://siril.org/download/1.0.5 page of the main site] for a detailed presentation of the version and download links.<br />
<br />
==Changes since [[Siril:1.0.4|1.0.4]]==<br />
* Fixed bug in eyedropper feature with 16bits images<br />
* Added button to see original image in background extraction<br />
* Fixed bug introduced in [[Siril:1.0.4#Known_issues|1.0.4]] with one pixel shift when registering meridian flipped images<br />
* Fixed GAIA catalog parser<br />
<br />
==Known issues==<br />
Inevitably, some problems exist in every release, even if we do our best to verify that everything works as expected. For convenience, here will be a list of problems that have been found in this release.<br />
<br />
* When an empty or malformed SER file was in the directory, previewing it would crash siril. This has been fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/de24f7ca38ce3dbfe124038a022b647879d80c58 fix])<br />
* Saving an image as TIFF could crash siril. This has been fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/a8c3b744d5a2695de04b6d659a44985eccce6008 fix])<br />
* Extracting the polynomial background gradient could crash siril when not enough samples were set. This has been fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/64ec78e4cf0eec4e1582299c85bb98e91867230f fix])<br />
* The <tt>iif</tt> command of Pixel Math had a problem, it was fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/0a0edbec118e295caa55abdef8ab48a568b06145 fix])<br />
* Cropping a sequence with images of different sizes would crash if the selected area was not common to all the frames of the sequence. This has been fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/39ab3a64346b9d4f3934ab51d7c7fbe5236ceac7 fix])<br />
* Command seqstat could crash on large sequences when some images were not selected. This has been fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/be1e590ce59b98be8053e427ba7097c8a956c1c5 fix])<br />
* Siril could crash when a large star was close to border during star detection. This has been fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/e0f09cdb13d71ed0b634c982a79dedea39f1c778 fix])<br />
* Asinh tool had bad behaviour with the black point for monochrome and 32bits images. This has been fixed for next version ([https://gitlab.com/free-astro/siril/-/commit/cdafe469e1a6da4f3041e60ac6a4467b928fbb46 fix])</div>Lock42https://free-astro.org/index.php?title=Siril:1.0.1&diff=8090Siril:1.0.12022-04-07T11:51:48Z<p>Lock42: </p>
<hr />
<div><languages /><br />
<translate><br />
=Siril 1.0.1= <!--T:1--><br />
'''Release date: April 6, 2022'''<br />
<br />
<!--T:2--><br />
This is the first minor update of the 1.0 branch. It fixes some of the problems identified in the 1.0.0 version, as listed in [[Siril:1.0.0#Known_issues|its page]]. The only feature to see some improvements as well is Pixel Math, as explained in the [https://gitlab.com/free-astro/siril/-/blob/1.0/ChangeLog ChangeLog] file.<br />
<br />
<!--T:3--><br />
The commands reference page for this version is the same as for 1.0.0: [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 see the list of commands for siril-1.0].<br />
<br />
==Download== <!--T:4--><br />
See the [https://siril.org/download/1.0.1 page of the main site] for a detailed presentation of the version and download links.<br />
<br />
==Changes since [[Siril:1.0.0|1.0.0]]== <!--T:5--><br />
* Added min,max, iif and logical operators in pixelmath<br />
* Added support for 3 channels for direct preview of resulting composition in pixelmath<br />
* Added parameters field in PixelMath<br />
* Added reporting channel name in FILTER header key during split operation<br />
* Added using FILTER keyword value for Pixel Math tool variable name<br />
* Fixed using shift transform for global registration<br />
* Fixed crash when changing image with preview opened<br />
* Fixed crash when pressing Stop button during script execution<br />
* Fixed crash that could occur when moving the mouse over the image while it was being updated<br />
* Fixed date wrongly reported in the FITS header in SER/FITSEQ stacking when filtering out images<br />
* Fixed excluding null pixels of both ref and target in linear match<br />
<br />
==Known issues== <!--T:6--><br />
Inevitably, some problems exist in every release, even if we do our best to verify that everything works as expected. For convenience, here is a list of problems that were identified after the release, potentially corrected in subsequent minor versions:<br />
* the installer for Mac was the wrong version, it has been replaced in the same file on the 7th of April at 8am UTC<br />
* the installer for windows seems to be missing some icons because of a change in the icons of GTK+ just before we packaged it, but it's just a cosmetic problem<br />
* the [https://free-astro.org/index.php?title=Siril:Commands#seqcosme seqcosme] command, for cosmetic correction applied to a sequence from a file of bad pixels, was not correcting bad columns to all images in the sequence - fixed [https://gitlab.com/free-astro/siril/-/commit/d4efda8c1bbe5641335bd1fb24848a6739c1d65d for next 1.0]<br />
<br />
</translate></div>Lock42https://free-astro.org/index.php?title=Siril:1.0.0&diff=8050Siril:1.0.02022-03-21T14:23:50Z<p>Lock42: Marked this version for translation</p>
<hr />
<div><languages /><br />
<translate><br />
=Siril 1.0.0= <!--T:1--><br />
'''Release date: March 9, 2022'''<br />
<br />
<!--T:2--><br />
This is the first stable release of the 1.0 branch.<br />
<br />
<!--T:3--><br />
After almost 10 years of development, we finally think Siril is stable enough and complete enough to propose a 1.0 version, for all deep-sky imaging use cases.<br />
<br />
<!--T:4--><br />
This version concludes the '''0.99''' branch and its several intermediate versions that introduced a new graphical user interface compared to the previous stable [[Siril:0.9.12|'''0.9'''.12]] version. A list of all changes compared to this previous stable version can be found in the pages of [[Siril:releases|each intermediate 0.99]] version, or for short in the [https://gitlab.com/free-astro/siril/-/blob/master/ChangeLog ChangeLog] file. Below is a list of changes since the previous release, the second release candidate for this version.<br />
<br />
<!--T:8--><br />
Starting with this version, we provide links to the commands reference page for each version: [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 see the list of commands for siril-1.0.0].<br />
<br />
==Download== <!--T:5--><br />
See the [https://siril.org/download/1.0.0 page of the main site] for a detailed presentation of the version and download links.<br />
<br />
==Changes since [[Siril:1.0.0rc2|1.0.0-rc2]]== <!--T:6--><br />
<br />
<!--T:7--><br />
* Fixed memory consumption for all sequence operations<br />
* Fixed settings for sequence export as webm film with VP9 codec<br />
* Removed use of lo/hi cursors and fixed normalization for export<br />
* Fixed load and close commands for scripts in GUI<br />
* Fixed Bayer pattern in SER after extraction<br />
* Fixed registration crash for small images<br />
* Improved main panel separator positioning and keeping it in memory<br />
* Improved speed of FITSEQ detection when scanning sequences<br />
* Reintroduced compatibility with OpenCV 4.2 with disabled features<br />
<br />
==Known issues== <!--T:9--><br />
Inevitably, some problems exist in every release, even if we do our best to verify that everything works as expected. For convenience, here is a list of problems that were identified after the release, potentially corrected in subsequent minor versions:<br />
* loading another image when a tool with preview enabled is active makes the program crash (close without notice) - filed as [https://gitlab.com/free-astro/siril/-/issues/783 bug #783]<br />
* filtering out images from SER or FITSEQ sequences in median or mean stacking can result in dates (start and end) and live time (sum of exposures) being wrongly reported in the FITS header of the result ([https://gitlab.com/free-astro/siril/-/commit/1067768ed746da145edc84b944f9f62a977b48b4 fix] for siril 1.2 and [https://gitlab.com/free-astro/siril/-/commit/2a86b81d1af433bb0ebf7d1fe98f042102800c74 fix] for siril 1.0)<br />
* stacking with sigma or MAD rejection will be much slower than it should on 16 bits images, because of a threading optimization issue ([https://gitlab.com/free-astro/siril/-/commit/39e6a3e479ad8720224027369c4498e5e70df7ce fix] for siril 1.2)<br />
* stars that have peak values over 1 in 32 bit images will be discarded in star detection (registration, plate-solving, color calibration)<br />
<br />
</translate></div>Lock42https://free-astro.org/index.php?title=Siril:1.0.0&diff=8049Siril:1.0.02022-03-21T14:23:39Z<p>Lock42: /* Known issues */</p>
<hr />
<div><languages /><br />
<translate><br />
=Siril 1.0.0= <!--T:1--><br />
'''Release date: March 9, 2022'''<br />
<br />
<!--T:2--><br />
This is the first stable release of the 1.0 branch.<br />
<br />
<!--T:3--><br />
After almost 10 years of development, we finally think Siril is stable enough and complete enough to propose a 1.0 version, for all deep-sky imaging use cases.<br />
<br />
<!--T:4--><br />
This version concludes the '''0.99''' branch and its several intermediate versions that introduced a new graphical user interface compared to the previous stable [[Siril:0.9.12|'''0.9'''.12]] version. A list of all changes compared to this previous stable version can be found in the pages of [[Siril:releases|each intermediate 0.99]] version, or for short in the [https://gitlab.com/free-astro/siril/-/blob/master/ChangeLog ChangeLog] file. Below is a list of changes since the previous release, the second release candidate for this version.<br />
<br />
<!--T:8--><br />
Starting with this version, we provide links to the commands reference page for each version: [https://free-astro.org/index.php?title=Siril:Commands&oldid=8045 see the list of commands for siril-1.0.0].<br />
<br />
==Download== <!--T:5--><br />
See the [https://siril.org/download/1.0.0 page of the main site] for a detailed presentation of the version and download links.<br />
<br />
==Changes since [[Siril:1.0.0rc2|1.0.0-rc2]]== <!--T:6--><br />
<br />
<!--T:7--><br />
* Fixed memory consumption for all sequence operations<br />
* Fixed settings for sequence export as webm film with VP9 codec<br />
* Removed use of lo/hi cursors and fixed normalization for export<br />
* Fixed load and close commands for scripts in GUI<br />
* Fixed Bayer pattern in SER after extraction<br />
* Fixed registration crash for small images<br />
* Improved main panel separator positioning and keeping it in memory<br />
* Improved speed of FITSEQ detection when scanning sequences<br />
* Reintroduced compatibility with OpenCV 4.2 with disabled features<br />
<br />
==Known issues==<br />
Inevitably, some problems exist in every release, even if we do our best to verify that everything works as expected. For convenience, here is a list of problems that were identified after the release, potentially corrected in subsequent minor versions:<br />
* loading another image when a tool with preview enabled is active makes the program crash (close without notice) - filed as [https://gitlab.com/free-astro/siril/-/issues/783 bug #783]<br />
* filtering out images from SER or FITSEQ sequences in median or mean stacking can result in dates (start and end) and live time (sum of exposures) being wrongly reported in the FITS header of the result ([https://gitlab.com/free-astro/siril/-/commit/1067768ed746da145edc84b944f9f62a977b48b4 fix] for siril 1.2 and [https://gitlab.com/free-astro/siril/-/commit/2a86b81d1af433bb0ebf7d1fe98f042102800c74 fix] for siril 1.0)<br />
* stacking with sigma or MAD rejection will be much slower than it should on 16 bits images, because of a threading optimization issue ([https://gitlab.com/free-astro/siril/-/commit/39e6a3e479ad8720224027369c4498e5e70df7ce fix] for siril 1.2)<br />
* stars that have peak values over 1 in 32 bit images will be discarded in star detection (registration, plate-solving, color calibration)<br />
<br />
</translate></div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation/fr&diff=7996Siril:FITS orientation/fr2022-03-08T12:48:57Z<p>Lock42: </p>
<hr />
<div><languages /><br />
=Orientation des images FITS=<br />
<br />
La norme FITS est un conteneur qui décrit comment stocker les données et métadonnées de l'image. Des outils professionnels, dès les débuts du format FITS, comme [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] ( FITS viewer de la NASA), stockent les images '''de bas en haut'''. On pourrait être tenté de dire que cela n'a pas vraiment d'importance, mais lorsque le dématriçage ou l'astrométrie sont impliqués, des problèmes surviennent. Par exemple, le motif Bayer RGGB habituel devient GBRG si l'image est à l'envers.<br />
<br />
De nos jours, malgré cela, la plupart des pilotes de caméra écrivent des données dans l'ordre descendant (de haut en bas) et nous devons y faire face.<br />
<br />
Pour ces raisons, nous avons récemment introduit, avec P. Chevalley de [https://www.ap-i.net/ccdciel/en/start CCDCiel], un '''nouveau mot clé FITS'''. Nous encourageons tous les producteurs de données, les développeurs INDI et ASCOM, à l'utiliser afin de faciliter les choses pour tout le monde.<br />
<br />
<br />
'''Ce mot clé est''' <tt>ROWORDER</tt> de type <tt>TSTRING</tt>. Il peut prendre deux valeurs : <tt>BOTTOM-UP</tt> et <tt>TOP-DOWN</tt>.<br />
<br />
<br />
[[Siril]] lira et affichera toujours les images dans l'ordre ascendant (de bas en haut), mais si l'information '''top-down''' est spécifiée dans le mot-clé, alors Siril dématricera l'image avec le motif de Bayer correspondant.<br />
<br />
<br />
Pourquoi les logiciels écrivent-ils les images de façon descendante ? La raison est la suivante : [https://stackoverflow.com/a/8347036 la logique mathématique].<br />
<br />
Aussi, les [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract spécifications du format FITS] disent, en anglais :<br />
<br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Logiciels utilisant ce mot clé==<br />
* Siril (depuis la version 0.99.4)<br />
* CCDCiel (depuis la version 0.9.72)<br />
* Indi (depuis [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Juil. 2020])<br />
* KStars (depuis la version 3.4.3)<br />
* SharpCap (depuis la version 3.3)<br />
* FireCapture (depuis la version 2.7)<br />
* N.I.N.A (depuis la version 1.10)<br />
* MaxImDL (depuis la version 6.23)<br />
* INDIGO (depuis [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Juil. 2020])<br />
* PixInsight (depuis la version 1.8.8-6)<br />
* ASTAP (depuis la version ß0.9.391)<br />
* APT (depuis la version 3.86.3)<br />
* AstroDMx Capture (depuis la version 0.80)<br />
* Astroart (depuis la version 8.0)<br />
<br />
==Récupération de la matrice Bayer==<br />
L'ordre des lignes de l'image modifie la façon dont la matrice Bayer doit être lue, mais il existe également deux mots-clés d'en-tête FITS facultatifs qui ont un effet sur cela : <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt>. Ils spécifient un décalage par rapport à la matrice Bayer, pour commencer à la lire sur la première colonne ou la première ligne.<br />
<br />
Pour aider les développeurs à intégrer les mots-clés <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt> dans leur logiciel, des images de test ont été créées par Han Kleijn de [https://www.hnsky.org/hnsky.org], un pour chaque combinaison des trois mots-clés. Téléchargez-les ici : [[File:Bayer_test_pattern_v6.tar.gz]].</div>Lock42https://free-astro.org/index.php?title=Translations:Siril:FITS_orientation/12/fr&diff=7995Translations:Siril:FITS orientation/12/fr2022-03-08T12:48:51Z<p>Lock42: </p>
<hr />
<div>Pour aider les développeurs à intégrer les mots-clés <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt> dans leur logiciel, des images de test ont été créées par Han Kleijn de [https://www.hnsky.org/hnsky.org], un pour chaque combinaison des trois mots-clés. Téléchargez-les ici : [[File:Bayer_test_pattern_v6.tar.gz]].</div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation/fr&diff=7993Siril:FITS orientation/fr2022-03-08T12:48:04Z<p>Lock42: Created page with "==Récupération de la matrice Bayer== L'ordre des lignes de l'image modifie la façon dont la matrice Bayer doit être lue, mais il existe également deux mots-clés d'en-tête FITS facultatifs qui ont un effet sur cela : <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt>. Ils spécifient un décalage par rapport à la matrice Bayer, pour commencer à la lire sur la première colonne ou la première ligne."</p>
<hr />
<div><languages /><br />
=Orientation des images FITS=<br />
<br />
La norme FITS est un conteneur qui décrit comment stocker les données et métadonnées de l'image. Des outils professionnels, dès les débuts du format FITS, comme [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] ( FITS viewer de la NASA), stockent les images '''de bas en haut'''. On pourrait être tenté de dire que cela n'a pas vraiment d'importance, mais lorsque le dématriçage ou l'astrométrie sont impliqués, des problèmes surviennent. Par exemple, le motif Bayer RGGB habituel devient GBRG si l'image est à l'envers.<br />
<br />
De nos jours, malgré cela, la plupart des pilotes de caméra écrivent des données dans l'ordre descendant (de haut en bas) et nous devons y faire face.<br />
<br />
Pour ces raisons, nous avons récemment introduit, avec P. Chevalley de [https://www.ap-i.net/ccdciel/en/start CCDCiel], un '''nouveau mot clé FITS'''. Nous encourageons tous les producteurs de données, les développeurs INDI et ASCOM, à l'utiliser afin de faciliter les choses pour tout le monde.<br />
<br />
<br />
'''Ce mot clé est''' <tt>ROWORDER</tt> de type <tt>TSTRING</tt>. Il peut prendre deux valeurs : <tt>BOTTOM-UP</tt> et <tt>TOP-DOWN</tt>.<br />
<br />
<br />
[[Siril]] lira et affichera toujours les images dans l'ordre ascendant (de bas en haut), mais si l'information '''top-down''' est spécifiée dans le mot-clé, alors Siril dématricera l'image avec le motif de Bayer correspondant.<br />
<br />
<br />
Pourquoi les logiciels écrivent-ils les images de façon descendante ? La raison est la suivante : [https://stackoverflow.com/a/8347036 la logique mathématique].<br />
<br />
Aussi, les [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract spécifications du format FITS] disent, en anglais :<br />
<br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Logiciels utilisant ce mot clé==<br />
* Siril (depuis la version 0.99.4)<br />
* CCDCiel (depuis la version 0.9.72)<br />
* Indi (depuis [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Juil. 2020])<br />
* KStars (depuis la version 3.4.3)<br />
* SharpCap (depuis la version 3.3)<br />
* FireCapture (depuis la version 2.7)<br />
* N.I.N.A (depuis la version 1.10)<br />
* MaxImDL (depuis la version 6.23)<br />
* INDIGO (depuis [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Juil. 2020])<br />
* PixInsight (depuis la version 1.8.8-6)<br />
* ASTAP (depuis la version ß0.9.391)<br />
* APT (depuis la version 3.86.3)<br />
* AstroDMx Capture (depuis la version 0.80)<br />
* Astroart (depuis la version 8.0)<br />
<br />
==Récupération de la matrice Bayer==<br />
L'ordre des lignes de l'image modifie la façon dont la matrice Bayer doit être lue, mais il existe également deux mots-clés d'en-tête FITS facultatifs qui ont un effet sur cela : <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt>. Ils spécifient un décalage par rapport à la matrice Bayer, pour commencer à la lire sur la première colonne ou la première ligne.<br />
<br />
Pour aider les développeurs à intégrer les mots-clés <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt> dans leur logiciel, des images de test ont été créées par Han Kleijn de [https:// www.hnsky.org/ hnsky.org], un pour chaque combinaison des trois mots-clés. Téléchargez-les ici : [[File:Bayer_test_pattern_v6.tar.gz]].</div>Lock42https://free-astro.org/index.php?title=Translations:Siril:FITS_orientation/11/fr&diff=7992Translations:Siril:FITS orientation/11/fr2022-03-08T12:47:58Z<p>Lock42: Created page with "==Récupération de la matrice Bayer== L'ordre des lignes de l'image modifie la façon dont la matrice Bayer doit être lue, mais il existe également deux mots-clés d'en-tête FITS facultatifs qui ont un effet sur cela : <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt>. Ils spécifient un décalage par rapport à la matrice Bayer, pour commencer à la lire sur la première colonne ou la première ligne."</p>
<hr />
<div>==Récupération de la matrice Bayer==<br />
L'ordre des lignes de l'image modifie la façon dont la matrice Bayer doit être lue, mais il existe également deux mots-clés d'en-tête FITS facultatifs qui ont un effet sur cela : <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt>. Ils spécifient un décalage par rapport à la matrice Bayer, pour commencer à la lire sur la première colonne ou la première ligne.</div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation&diff=7989Siril:FITS orientation2022-03-08T12:47:20Z<p>Lock42: </p>
<hr />
<div><languages /><br />
<translate><br />
=Orientation of FITS images= <!--T:1--><br />
<br />
<!--T:2--><br />
The FITS standard is a container that describes how to store image data and meta-data. Professional tools, from the early age of the FITS format, like [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] (FITS viewer from NASA), store images '''bottom-up'''. We might be tempted to say that it does not really matter, but when demosaicing or astrometry is involved, problems arise. For example, the usual RGGB Bayer pattern becomes GBRG if the image is upside-down.<br />
<br />
<!--T:3--><br />
Nowadays, despite this, most camera drivers are writing data in the top-down order and we have to cope with it.<br />
<br />
<!--T:4--><br />
For these reasons, we recently have introduced, together with P. Chevalley of [https://www.ap-i.net/ccdciel/en/start CCDCiel], a '''new FITS keyword'''. We encourage all data producers, INDI and ASCOM developers, to use it in order to make things easier for everybody.<br />
<br />
<br />
<!--T:5--><br />
'''This keyword is <tt>ROWORDER</tt> of type <tt>TSTRING</tt>. It can take two values: <tt>BOTTOM-UP</tt> and <tt>TOP-DOWN</tt>.'''<br />
<br />
<br />
<!--T:6--><br />
[[Siril]] will always read and display images in the bottom-up order, however if the top-down information is specified in the keyword, then Siril will demosaic the image with the corrected pattern.<br />
<br />
<br />
<!--T:7--><br />
Why would some programs write images bottom-up in the first place? The reason is: [https://stackoverflow.com/a/8347036 mathematics do it that way].<br />
<br />
<!--T:8--><br />
Also, the [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract FITS specification] says:<br />
<br />
<!--T:9--><br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Software using this keyword== <!--T:10--><br />
* Siril (since version 0.99.4)<br />
* CCDCiel (since version 0.9.72)<br />
* Indi (since [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Jul. 2020])<br />
* KStars (since 3.4.3)<br />
* SharpCap (since version 3.3)<br />
* FireCapture (since version 2.7)<br />
* N.I.N.A (since version 1.10)<br />
* MaxImDL (since version 6.23)<br />
* INDIGO (since [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Jul. 2020])<br />
* PixInsight (since version 1.8.8-6)<br />
* ASTAP (since version ß0.9.391)<br />
* APT (since version 3.86.3)<br />
* AstroDMx Capture (since version 0.80)<br />
* Astroart (since version 8.0)<br />
<br />
==Retrieving the Bayer matrix== <!--T:11--><br />
Image row order changes the way the Bayer matrix should be read, but there are also two optional FITS header keywords that have an effect on this: <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt>. They specify an offset to the Bayer matrix, to start reading it on first column or first row.<br />
<br />
<!--T:12--><br />
To help developers integrating the <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt> keywords in their software, some test images were created by Han Kleijn from [https://www.hnsky.org/ hnsky.org], one for each combination of the three keywords. Download them here: [[File:Bayer_test_pattern_v6.tar.gz]].<br />
<br />
</translate></div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation/fr&diff=7988Siril:FITS orientation/fr2022-03-08T12:47:02Z<p>Lock42: Created page with "Pour aider les développeurs à intégrer les mots-clés <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt> dans leur logiciel, des images de test ont été créées par Han Kleijn de [https:// www.hnsky.org/ hnsky.org], un pour chaque combinaison des trois mots-clés. Téléchargez-les ici : File:Bayer_test_pattern_v6.tar.gz."</p>
<hr />
<div><languages /><br />
=Orientation des images FITS=<br />
<br />
La norme FITS est un conteneur qui décrit comment stocker les données et métadonnées de l'image. Des outils professionnels, dès les débuts du format FITS, comme [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] ( FITS viewer de la NASA), stockent les images '''de bas en haut'''. On pourrait être tenté de dire que cela n'a pas vraiment d'importance, mais lorsque le dématriçage ou l'astrométrie sont impliqués, des problèmes surviennent. Par exemple, le motif Bayer RGGB habituel devient GBRG si l'image est à l'envers.<br />
<br />
De nos jours, malgré cela, la plupart des pilotes de caméra écrivent des données dans l'ordre descendant (de haut en bas) et nous devons y faire face.<br />
<br />
Pour ces raisons, nous avons récemment introduit, avec P. Chevalley de [https://www.ap-i.net/ccdciel/en/start CCDCiel], un '''nouveau mot clé FITS'''. Nous encourageons tous les producteurs de données, les développeurs INDI et ASCOM, à l'utiliser afin de faciliter les choses pour tout le monde.<br />
<br />
<br />
'''Ce mot clé est''' <tt>ROWORDER</tt> de type <tt>TSTRING</tt>. Il peut prendre deux valeurs : <tt>BOTTOM-UP</tt> et <tt>TOP-DOWN</tt>.<br />
<br />
<br />
[[Siril]] lira et affichera toujours les images dans l'ordre ascendant (de bas en haut), mais si l'information '''top-down''' est spécifiée dans le mot-clé, alors Siril dématricera l'image avec le motif de Bayer correspondant.<br />
<br />
<br />
Pourquoi les logiciels écrivent-ils les images de façon descendante ? La raison est la suivante : [https://stackoverflow.com/a/8347036 la logique mathématique].<br />
<br />
Aussi, les [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract spécifications du format FITS] disent, en anglais :<br />
<br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Logiciels utilisant ce mot clé==<br />
* Siril (depuis la version 0.99.4)<br />
* CCDCiel (depuis la version 0.9.72)<br />
* Indi (depuis [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Juil. 2020])<br />
* KStars (depuis la version 3.4.3)<br />
* SharpCap (depuis la version 3.3)<br />
* FireCapture (depuis la version 2.7)<br />
* N.I.N.A (depuis la version 1.10)<br />
* MaxImDL (depuis la version 6.23)<br />
* INDIGO (depuis [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Juil. 2020])<br />
* PixInsight (depuis la version 1.8.8-6)<br />
* ASTAP (depuis la version ß0.9.391)<br />
* APT (depuis la version 3.86.3)<br />
* AstroDMx Capture (depuis la version 0.80)<br />
* Astroart (depuis la version 8.0)<br />
<br />
==Retrieving the Bayer matrix==<br />
Image row order changes the way the Bayer matrix should be read, but there are also two optional FITS header keywords that have an effect on this: <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt>. The specify an offset to the Bayer matrix, to start reading it on first column or first row.<br />
<br />
Pour aider les développeurs à intégrer les mots-clés <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt> dans leur logiciel, des images de test ont été créées par Han Kleijn de [https:// www.hnsky.org/ hnsky.org], un pour chaque combinaison des trois mots-clés. Téléchargez-les ici : [[File:Bayer_test_pattern_v6.tar.gz]].</div>Lock42https://free-astro.org/index.php?title=Translations:Siril:FITS_orientation/12/fr&diff=7987Translations:Siril:FITS orientation/12/fr2022-03-08T12:46:57Z<p>Lock42: Created page with "Pour aider les développeurs à intégrer les mots-clés <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt> dans leur logiciel, des images de test ont été créées par Han Kleijn de [https:// www.hnsky.org/ hnsky.org], un pour chaque combinaison des trois mots-clés. Téléchargez-les ici : File:Bayer_test_pattern_v6.tar.gz."</p>
<hr />
<div>Pour aider les développeurs à intégrer les mots-clés <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> et <tt>YBAYROFF</tt> dans leur logiciel, des images de test ont été créées par Han Kleijn de [https:// www.hnsky.org/ hnsky.org], un pour chaque combinaison des trois mots-clés. Téléchargez-les ici : [[File:Bayer_test_pattern_v6.tar.gz]].</div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation/fr&diff=7986Siril:FITS orientation/fr2022-03-08T12:44:36Z<p>Lock42: </p>
<hr />
<div><languages /><br />
=Orientation des images FITS=<br />
<br />
La norme FITS est un conteneur qui décrit comment stocker les données et métadonnées de l'image. Des outils professionnels, dès les débuts du format FITS, comme [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] ( FITS viewer de la NASA), stockent les images '''de bas en haut'''. On pourrait être tenté de dire que cela n'a pas vraiment d'importance, mais lorsque le dématriçage ou l'astrométrie sont impliqués, des problèmes surviennent. Par exemple, le motif Bayer RGGB habituel devient GBRG si l'image est à l'envers.<br />
<br />
De nos jours, malgré cela, la plupart des pilotes de caméra écrivent des données dans l'ordre descendant (de haut en bas) et nous devons y faire face.<br />
<br />
Pour ces raisons, nous avons récemment introduit, avec P. Chevalley de [https://www.ap-i.net/ccdciel/en/start CCDCiel], un '''nouveau mot clé FITS'''. Nous encourageons tous les producteurs de données, les développeurs INDI et ASCOM, à l'utiliser afin de faciliter les choses pour tout le monde.<br />
<br />
<br />
'''Ce mot clé est''' <tt>ROWORDER</tt> de type <tt>TSTRING</tt>. Il peut prendre deux valeurs : <tt>BOTTOM-UP</tt> et <tt>TOP-DOWN</tt>.<br />
<br />
<br />
[[Siril]] lira et affichera toujours les images dans l'ordre ascendant (de bas en haut), mais si l'information '''top-down''' est spécifiée dans le mot-clé, alors Siril dématricera l'image avec le motif de Bayer correspondant.<br />
<br />
<br />
Pourquoi les logiciels écrivent-ils les images de façon descendante ? La raison est la suivante : [https://stackoverflow.com/a/8347036 la logique mathématique].<br />
<br />
Aussi, les [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract spécifications du format FITS] disent, en anglais :<br />
<br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Logiciels utilisant ce mot clé==<br />
* Siril (depuis la version 0.99.4)<br />
* CCDCiel (depuis la version 0.9.72)<br />
* Indi (depuis [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Juil. 2020])<br />
* KStars (depuis la version 3.4.3)<br />
* SharpCap (depuis la version 3.3)<br />
* FireCapture (depuis la version 2.7)<br />
* N.I.N.A (depuis la version 1.10)<br />
* MaxImDL (depuis la version 6.23)<br />
* INDIGO (depuis [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Juil. 2020])<br />
* PixInsight (depuis la version 1.8.8-6)<br />
* ASTAP (depuis la version ß0.9.391)<br />
* APT (depuis la version 3.86.3)<br />
* AstroDMx Capture (depuis la version 0.80)<br />
* Astroart (depuis la version 8.0)<br />
<br />
==Retrieving the Bayer matrix==<br />
Image row order changes the way the Bayer matrix should be read, but there are also two optional FITS header keywords that have an effect on this: <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt>. The specify an offset to the Bayer matrix, to start reading it on first column or first row.<br />
<br />
To help developers integrating the <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt> keywords in their software, some test images were created by Han Kleijn from [https://www.hnsky.org/ hnsky.org], one for each combination of the three keywords. Download them here: [[File:Bayer_test_pattern_v6.tar.gz]].</div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation&diff=7981Siril:FITS orientation2022-03-08T12:43:59Z<p>Lock42: Marked this version for translation</p>
<hr />
<div><languages /><br />
<translate><br />
=Orientation of FITS images= <!--T:1--><br />
<br />
<!--T:2--><br />
The FITS standard is a container that describes how to store image data and meta-data. Professional tools, from the early age of the FITS format, like [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] (FITS viewer from NASA), store images '''bottom-up'''. We might be tempted to say that it does not really matter, but when demosaicing or astrometry is involved, problems arise. For example, the usual RGGB Bayer pattern becomes GBRG if the image is upside-down.<br />
<br />
<!--T:3--><br />
Nowadays, despite this, most camera drivers are writing data in the top-down order and we have to cope with it.<br />
<br />
<!--T:4--><br />
For these reasons, we recently have introduced, together with P. Chevalley of [https://www.ap-i.net/ccdciel/en/start CCDCiel], a '''new FITS keyword'''. We encourage all data producers, INDI and ASCOM developers, to use it in order to make things easier for everybody.<br />
<br />
<br />
<!--T:5--><br />
'''This keyword is <tt>ROWORDER</tt> of type <tt>TSTRING</tt>. It can take two values: <tt>BOTTOM-UP</tt> and <tt>TOP-DOWN</tt>.'''<br />
<br />
<br />
<!--T:6--><br />
[[Siril]] will always read and display images in the bottom-up order, however if the top-down information is specified in the keyword, then Siril will demosaic the image with the corrected pattern.<br />
<br />
<br />
<!--T:7--><br />
Why would some programs write images bottom-up in the first place? The reason is: [https://stackoverflow.com/a/8347036 mathematics do it that way].<br />
<br />
<!--T:8--><br />
Also, the [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract FITS specification] says:<br />
<br />
<!--T:9--><br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Software using this keyword== <!--T:10--><br />
* Siril (since version 0.99.4)<br />
* CCDCiel (since version 0.9.72)<br />
* Indi (since [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Jul. 2020])<br />
* KStars (since 3.4.3)<br />
* SharpCap (since version 3.3)<br />
* FireCapture (since version 2.7)<br />
* N.I.N.A (since version 1.10)<br />
* MaxImDL (since version 6.23)<br />
* INDIGO (since [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Jul. 2020])<br />
* PixInsight (since version 1.8.8-6)<br />
* ASTAP (since version ß0.9.391)<br />
* APT (since version 3.86.3)<br />
* AstroDMx Capture (since version 0.80)<br />
* Astroart (since version 8.0)<br />
<br />
==Retrieving the Bayer matrix== <!--T:11--><br />
Image row order changes the way the Bayer matrix should be read, but there are also two optional FITS header keywords that have an effect on this: <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt>. The specify an offset to the Bayer matrix, to start reading it on first column or first row.<br />
<br />
<!--T:12--><br />
To help developers integrating the <tt>ROWORDER</tt>, <tt>XBAYROFF</tt> and <tt>YBAYROFF</tt> keywords in their software, some test images were created by Han Kleijn from [https://www.hnsky.org/ hnsky.org], one for each combination of the three keywords. Download them here: [[File:Bayer_test_pattern_v6.tar.gz]].<br />
<br />
</translate></div>Lock42https://free-astro.org/index.php?title=Siril:1.0.0/fr&diff=7978Siril:1.0.0/fr2022-03-06T21:23:02Z<p>Lock42: </p>
<hr />
<div><languages /><br />
=Siril 1.0.0=<br />
'''Date de sortie : 9 mars 2022'''<br />
<br />
Cette version est la première stable de la branche 1.0.<br />
<br />
Après presque 10 ans de développement, nous pensons enfin que Siril est assez stable et complet pour proposer une version 1.0, pour tous les usages d'imagerie du ciel profond.<br />
<br />
Cette version termine la branche 0.99 et ses versions intermédiaires qui ont introduit la nouvelle interface graphique depuis la précédente version stable [[Siril:0.9.12|'''0.9'''.12]]. Une liste de tous les changements par rapport à cette version peut être trouvée dans les pages des versions [[Siril:releases|intermediaires]], ou en plus concis dans le fichier [https://gitlab.com/free-astro/siril/-/blob/master/ChangeLog ChangeLog]. Vous trouverez ci-dessous une liste des changements depuis la version précédente, la [[Siril-1.0.0rc2|1.0.0rc2]].<br />
<br />
==Download==<br />
Voir la présentation détaillée des nouveautés et les liens de téléchargement sur la [https://siril.org/download/1.0.0 page du site principal].<br />
<br />
==Changements par rapport à la [[Siril:1.0.0rc2|1.0.0-rc2]]==<br />
<br />
* Fixed memory consumption for all sequence operations<br />
* Fixed settings for sequence export as webm film with VP9 codec<br />
* Removed use of lo/hi cursors and fixed normalization for export<br />
* Fixed load and close commands for scripts in GUI<br />
* Fixed Bayer pattern in SER after extraction<br />
* Fixed registration crash for small images<br />
* Improved main panel separator positioning and keeping it in memory<br />
* Improved speed of FITSEQ detection when scanning sequences<br />
* Reintroduced compatibility with OpenCV 4.2 with disabled features</div>Lock42https://free-astro.org/index.php?title=Translations:Siril:1.0.0/1/fr&diff=7976Translations:Siril:1.0.0/1/fr2022-03-06T21:22:44Z<p>Lock42: </p>
<hr />
<div>=Siril 1.0.0=<br />
'''Date de sortie : 9 mars 2022'''</div>Lock42https://free-astro.org/index.php?title=Siril:1.0.0&diff=7974Siril:1.0.02022-03-06T21:22:08Z<p>Lock42: </p>
<hr />
<div><languages /><br />
<translate><br />
=Siril 1.0.0= <!--T:1--><br />
'''Release date: March 9, 2022'''<br />
<br />
<!--T:2--><br />
This is the first stable release of the 1.0 branch.<br />
<br />
<!--T:3--><br />
After almost 10 years of development, we finally think Siril is stable enough and complete enough to propose a 1.0 version, for all deep-sky imaging use cases.<br />
<br />
<!--T:4--><br />
This version concludes the '''0.99''' branch and its several intermediate versions that introduced a new graphical user interface compared to the previous stable [[Siril:0.9.12|'''0.9'''.12]] version. A list of all changes compared to this previous stable version can be found in the pages of [[Siril:releases|each intermediate 0.99]] version, or for short in the [https://gitlab.com/free-astro/siril/-/blob/master/ChangeLog ChangeLog] file. Below is a list of changes since the previous release, the second release candidate for this version.<br />
<br />
==Download== <!--T:5--><br />
See the [https://siril.org/download/1.0.0 page of the main site] for a detailed presentation of the version and download links.<br />
<br />
==Changes since [[Siril:1.0.0rc2|1.0.0-rc2]]== <!--T:6--><br />
<br />
<!--T:7--><br />
* Fixed memory consumption for all sequence operations<br />
* Fixed settings for sequence export as webm film with VP9 codec<br />
* Removed use of lo/hi cursors and fixed normalization for export<br />
* Fixed load and close commands for scripts in GUI<br />
* Fixed Bayer pattern in SER after extraction<br />
* Fixed registration crash for small images<br />
* Improved main panel separator positioning and keeping it in memory<br />
* Improved speed of FITSEQ detection when scanning sequences<br />
* Reintroduced compatibility with OpenCV 4.2 with disabled features<br />
<br />
</translate></div>Lock42https://free-astro.org/index.php?title=File:Siril_1.0.0_analysis.png&diff=7840File:Siril 1.0.0 analysis.png2021-12-29T21:57:24Z<p>Lock42: Lock42 uploaded a new version of File:Siril 1.0.0 analysis.png</p>
<hr />
<div>== Summary ==<br />
Star detection and analysis</div>Lock42https://free-astro.org/index.php?title=File:Siril_1.0.0_Jupiter.png&diff=7839File:Siril 1.0.0 Jupiter.png2021-12-29T21:56:22Z<p>Lock42: Lock42 uploaded a new version of File:Siril 1.0.0 Jupiter.png</p>
<hr />
<div>== Summary ==<br />
Ser file loaded in Siril</div>Lock42https://free-astro.org/index.php?title=File:Siril_1.0.0.png&diff=7838File:Siril 1.0.0.png2021-12-29T21:55:23Z<p>Lock42: Lock42 uploaded a new version of File:Siril 1.0.0.png</p>
<hr />
<div>== Summary ==<br />
Siril 1.0.0 at start.</div>Lock42https://free-astro.org/index.php?title=File:Siril_1.0.0_Jupiter.png&diff=7837File:Siril 1.0.0 Jupiter.png2021-12-29T21:46:48Z<p>Lock42: Ser file loaded in Siril</p>
<hr />
<div>== Summary ==<br />
Ser file loaded in Siril</div>Lock42https://free-astro.org/index.php?title=File:Siril_1.0.0_analysis.png&diff=7836File:Siril 1.0.0 analysis.png2021-12-29T21:45:16Z<p>Lock42: Star detection and analysis</p>
<hr />
<div>== Summary ==<br />
Star detection and analysis</div>Lock42https://free-astro.org/index.php?title=File:Siril_1.0.0.png&diff=7835File:Siril 1.0.0.png2021-12-29T21:43:21Z<p>Lock42: Siril 1.0.0 at start.</p>
<hr />
<div>== Summary ==<br />
Siril 1.0.0 at start.</div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation/fr&diff=7713Siril:FITS orientation/fr2021-10-09T16:42:35Z<p>Lock42: </p>
<hr />
<div><languages /><br />
=Orientation des images FITS=<br />
<br />
La norme FITS est un conteneur qui décrit comment stocker les données et métadonnées de l'image. Des outils professionnels, dès les débuts du format FITS, comme [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] ( FITS viewer de la NASA), stockent les images '''de bas en haut'''. On pourrait être tenté de dire que cela n'a pas vraiment d'importance, mais lorsque le dématriçage ou l'astrométrie sont impliqués, des problèmes surviennent. Par exemple, le motif Bayer RGGB habituel devient GBRG si l'image est à l'envers.<br />
<br />
De nos jours, malgré cela, la plupart des pilotes de caméra écrivent des données dans l'ordre descendant (de haut en bas) et nous devons y faire face.<br />
<br />
Pour ces raisons, nous avons récemment introduit, avec P. Chevalley de [https://www.ap-i.net/ccdciel/en/start CCDCiel], un '''nouveau mot clé FITS'''. Nous encourageons tous les producteurs de données, les développeurs INDI et ASCOM, à l'utiliser afin de faciliter les choses pour tout le monde.<br />
<br />
<br />
'''Ce mot clé est''' <tt>ROWORDER</tt> de type <tt>TSTRING</tt>. Il peut prendre deux valeurs : <tt>BOTTOM-UP</tt> et <tt>TOP-DOWN</tt>.<br />
<br />
<br />
[[Siril]] lira et affichera toujours les images dans l'ordre ascendant (de bas en haut), mais si l'information '''top-down''' est spécifiée dans le mot-clé, alors Siril dématricera l'image avec le motif de Bayer correspondant.<br />
<br />
<br />
Pourquoi les logiciels écrivent-ils les images de façon descendante ? La raison est la suivante : [https://stackoverflow.com/a/8347036 la logique mathématique].<br />
<br />
Aussi, les [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract spécifications du format FITS] disent, en anglais :<br />
<br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Logiciels utilisant ce mot clé==<br />
* Siril (depuis la version 0.99.4)<br />
* CCDCiel (depuis la version 0.9.72)<br />
* Indi (depuis [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Juil. 2020])<br />
* KStars (depuis la version 3.4.3)<br />
* SharpCap (depuis la version 3.3)<br />
* FireCapture (depuis la version 2.7)<br />
* N.I.N.A (depuis la version 1.10)<br />
* MaxImDL (depuis la version 6.23)<br />
* INDIGO (depuis [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Juil. 2020])<br />
* PixInsight (depuis la version 1.8.8-6)<br />
* ASTAP (depuis la version ß0.9.391)<br />
* APT (depuis la version 3.86.3)<br />
* AstroDMx Capture (depuis la version 0.80)<br />
* Astroart (depuis la version 8.0)</div>Lock42https://free-astro.org/index.php?title=Translations:Siril:FITS_orientation/10/fr&diff=7712Translations:Siril:FITS orientation/10/fr2021-10-09T16:42:34Z<p>Lock42: </p>
<hr />
<div>==Logiciels utilisant ce mot clé==<br />
* Siril (depuis la version 0.99.4)<br />
* CCDCiel (depuis la version 0.9.72)<br />
* Indi (depuis [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Juil. 2020])<br />
* KStars (depuis la version 3.4.3)<br />
* SharpCap (depuis la version 3.3)<br />
* FireCapture (depuis la version 2.7)<br />
* N.I.N.A (depuis la version 1.10)<br />
* MaxImDL (depuis la version 6.23)<br />
* INDIGO (depuis [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Juil. 2020])<br />
* PixInsight (depuis la version 1.8.8-6)<br />
* ASTAP (depuis la version ß0.9.391)<br />
* APT (depuis la version 3.86.3)<br />
* AstroDMx Capture (depuis la version 0.80)<br />
* Astroart (depuis la version 8.0)</div>Lock42https://free-astro.org/index.php?title=Siril:FITS_orientation&diff=7709Siril:FITS orientation2021-10-09T16:41:58Z<p>Lock42: </p>
<hr />
<div><languages /><br />
<translate><br />
=Orientation of FITS images= <!--T:1--><br />
<br />
<!--T:2--><br />
The FITS standard is a container that describes how to store image data and meta-data. Professional tools, from the early age of the FITS format, like [https://sites.google.com/cfa.harvard.edu/saoimageds9 ds9] (Harvard Smithsonian Center for Astrophysics), [https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/ fv] (FITS viewer from NASA), store images '''bottom-up'''. We might be tempted to say that it does not really matter, but when demosaicing or astrometry is involved, problems arise. For example, the usual RGGB Bayer pattern becomes GBRG if the image is upside-down.<br />
<br />
<!--T:3--><br />
Nowadays, despite this, most camera drivers are writing data in the top-down order and we have to cope with it.<br />
<br />
<!--T:4--><br />
For these reasons, we recently have introduced, together with P. Chevalley of [https://www.ap-i.net/ccdciel/en/start CCDCiel], a '''new FITS keyword'''. We encourage all data producers, INDI and ASCOM developers, to use it in order to make things easier for everybody.<br />
<br />
<br />
<!--T:5--><br />
'''This keyword is''' <tt>ROWORDER</tt> of type <tt>TSTRING</tt>. It can take two values: <tt>BOTTOM-UP</tt> and <tt>TOP-DOWN</tt>.<br />
<br />
<br />
<!--T:6--><br />
[[Siril]] will always read and display images in the bottom-up order, however if the top-down information is specified in the keyword, then Siril will demosaic the image with the corrected pattern.<br />
<br />
<br />
<!--T:7--><br />
Why would some programs write images bottom-up in the first place? The reason is: [https://stackoverflow.com/a/8347036 mathematics do it that way].<br />
<br />
<!--T:8--><br />
Also, the [https://ui.adsabs.harvard.edu/abs/2002A%26A...395.1061G/abstract FITS specification] says:<br />
<br />
<!--T:9--><br />
''5.1. Image display conventions''<br />
''It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.''<br />
<br />
==Software using this keyword== <!--T:10--><br />
* Siril (since version 0.99.4)<br />
* CCDCiel (since version 0.9.72)<br />
* Indi (since [https://github.com/indilib/indi/commit/176173ed51ec2086657eb8881c67b335fc570b34 Jul. 2020])<br />
* KStars (since 3.4.3)<br />
* SharpCap (since version 3.3)<br />
* FireCapture (since version 2.7)<br />
* N.I.N.A (since version 1.10)<br />
* MaxImDL (since version 6.23)<br />
* INDIGO (since [https://github.com/indigo-astronomy/indigo/commit/7ae5cbd10c06e705a52398d402d8800dd92bee57 Jul. 2020])<br />
* PixInsight (since version 1.8.8-6)<br />
* ASTAP (since version ß0.9.391)<br />
* APT (since version 3.86.3)<br />
* AstroDMx Capture (since version 0.80)<br />
* Astroart (since version 8.0)<br />
<br />
</translate></div>Lock42