#ifndef SRC_CORE_COMMAND_DEF_H_
#define SRC_CORE_COMMAND_DEF_H_

#define STR_NONE ""

#define STR_ADDMAX N_("Computes a new image combining the image in memory with the image <b>filename</b>. At each pixel location, the new value is determined as the max of value in current image and in <b>filename</b>")
#define STR_ASINH N_("Stretches the image to show faint objects using an hyperbolic arcsin transformation. The mandatory argument <b>stretch</b>, typically between 1 and 1000, will give the strength of the stretch. The black point can be offset by providing an optional <b>offset</b> argument in the normalized pixel value of [0, 1]. Finally the option <b>-human</b> enables using 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. This stretch method preserves lightness from the L*a*b* color space. The clip mode can be set using the argument <b>-clipmode=</b>: values <b>clip</b>, <b>rescale</b>, <b>rgbblend</b> or <b>globalrescale</b> are accepted and the default is rgbblend")
#define STR_AUTOGHS N_("Application of the generalized hyperbolic stretch with a symmetry point SP defined as k.sigma from the median of each channel (the provided <b>shadowsclip</b> value is the k here and can be negative). By default, SP and the stretch are computed per channel; SP can be computed as a mean of image channels by passing <b>-linked</b>. The stretch amount <b>D</b> is provided in the second mandatory argument.\nImplicit values of 13 for <b>B</b>, making it very focused on the SP brightness range, 0.7 for <b>HP</b>, 0 for <b>LP</b> are used but can be changed with the options of the same names. The clip mode can be set using the argument <b>-clipmode=</b>: values <b>clip</b>, <b>rescale</b>, <b>rgbblend</b> or <b>globalrescale</b> are accepted and the default is rgbblend")
#define STR_AUTOSTRETCH N_("Auto-stretches the currently loaded image, with different parameters for each channel (unlinked) unless <b>-linked</b> is passed. Arguments are optional, <b>shadowclip</b> is the shadows clipping point, measured in sigma units from the main histogram peak (default is -2.8), <b>targetbg</b> 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.\n\nDo not use the unlinked version after color calibration, it will alter the white balance")

#define STR_BG N_("Returns the background level of the loaded image")
#define STR_BGNOISE N_("Returns the background noise level of the loaded image")
#define STR_BINXY N_("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 <b>-sum</b> is passed, then the sum of pixels is computed, while it is the average when no optional argument is provided")
#define STR_BOXSELECT N_("Make a selection area in the currently loaded image with the arguments <b>x</b>, <b>y</b>, <b>width</b> and <b>height</b>, with <b>x</b> and <b>y</b> being the coordinates of the top left corner starting at (0, 0), and <b>width</b> and <b>height</b>, the size of the selection. The <b>-clear</b> argument deletes any selection area. If no argument is passed, the current selection is printed")

#define STR_CALIBRATE N_("Calibrates the sequence <b>sequencename</b> using bias, dark and flat given in argument.\n\nFor bias, a uniform level can be specified instead of an image, by entering a quoted expression starting with an = sign, such as -bias=\"=256\" or -bias=\"=64*$OFFSET\".\n\nBy default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <b>-cc=</b> option.\nYou can use <b>-cc=dark</b> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <b>-dark=</b> option), optionally followed by <b>siglo</b> and <b>sighi</b> 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.\nAlternatively, you can use <b>-cc=bpm</b> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a <i>find_hot</i> command on a masterdark.\n\nThree options apply to color images (in CFA format): <b>-cfa</b> for cosmetic correction purposes, <b>-debayer</b> to demosaic images before saving them, and <b>-equalize_cfa</b> to equalize the mean intensity of RGB layers of the master flat, to avoid tinting the calibrated image.\nThe <b>-fix_xtrans</b> option is dedicated to X-Trans images by applying a correction on darks and biases to remove a rectangle pattern caused by autofocus.\nIt's also possible to optimize dark subtraction with <b>-opt</b>, which requires the supply of bias and dark masters, and automatically calculates the coefficient to be applied to dark, or calculates the coefficient thanks to the exposure keyword with <b>-opt=exp</b>.\nBy default, frames marked as excluded will not be processed. The argument <b>-all</b> can be used to force processing of all frames even if marked as excluded.\nThe output sequence name starts with the prefix \"pp_\" unless otherwise specified with option <b>-prefix=</b>.\nIf <b>-fitseq</b> is provided, the output sequence will be a FITS sequence (single file)")
#define STR_CALIBRATE_SINGLE N_("Calibrates the image <b>imagename</b> using bias, dark and flat given in argument.\n\nFor bias, a uniform level can be specified instead of an image, by entering a quoted expression starting with an = sign, such as -bias=\"=256\" or -bias=\"=64*$OFFSET\".\n\nBy default, cosmetic correction is not activated. If you wish to apply some, you will need to specify it with <b>-cc=</b> option.\nYou can use <b>-cc=dark</b> to detect hot and cold pixels from the masterdark (a masterdark must be given with the <b>-dark=</b> option), optionally followed by <b>siglo</b> and <b>sighi</b> 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.\nAlternatively, you can use <b>-cc=bpm</b> followed by the path to your Bad Pixel Map to specify which pixels must be corrected. An example file can be obtained with a <i>find_hot</i> command on a masterdark.\n\nThree options apply to color images (in CFA format): <b>-cfa</b> for cosmetic correction purposes, <b>-debayer</b> to demosaic images before saving them, and <b>-equalize_cfa</b> to equalize the mean intensity of RGB layers of the master flat, to avoid tinting the calibrated image.\nThe <b>-fix_xtrans</b> option is dedicated to X-Trans images by applying a correction on darks and biases to remove a rectangle pattern caused by autofocus.\nIt's also possible to optimize dark subtraction with <b>-opt</b>, which requires the supply of bias and dark masters, and automatically calculates the coefficient to be applied to dark, or calculates the coefficient thanks to the exposure keyword with <b>-opt=exp</b>\nThe output filename starts with the prefix \"pp_\" unless otherwise specified with option <b>-prefix=</b>")
#define STR_CAPABILITIES N_("Lists Siril capabilities, based on compilation options and runtime")
#define STR_CATSEARCH N_("Searches an object by <b>name</b> and adds it to the user annotation catalog. The object is first searched in the annotation catalogs, if not found a request is made to SIMBAD.\nThe object can be a solar system object, in which case a prefix, 'a:' for asteroid, 'p:' for planet, 'c:' for comet, 'dp:' for dwarf planet or 's:' for natural satellite, is required before the object name. The search is done for the date, time and observing location found in the image header, using the <a href=\"https://ssp.imcce.fr/webservices/miriade/howto/ephemcc/#howto-sso\">IMCCE Miriade service</a>")
#define STR_CCM N_("Applies a color conversion matrix to the current image.\n\nThere are 9 mandatory arguments corresponding to the 9 matrix elements:\n\nm00, m01, m02\nm10, m11, m12\nm20, m21, m22\n\nAn additional tenth argument <b>[gamma]</b> can be provided: if it is omitted, it defaults to 1.0.\n\nThese are applied to each pixel according to the following formulae:\n\nr' = (m00 * r + m01 * g + m02 * b)^(-1/gamma)\ng' = (m10 * r + m11 * g + m12 * b)^(-1/gamma)\nb' = (m20 * r + m21 * g + m22 * b)^(-1/gamma)")
#define STR_CD N_("Sets the new current working directory.\n\nThe argument <b>directory</b> can contain the ~ token, expanded as the home directory, directories with spaces in the name can be protected using single or double quotes")
#define STR_CDG N_("Returns 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")
#define STR_CLAHE N_("Equalizes the histogram of an image using Contrast Limited Adaptive Histogram Equalization.\n\n<b>cliplimit</b> sets the threshold for contrast limiting.\n<b>tilesize</b> sets the size of grid for histogram equalization. Input image will be divided into equally sized rectangular tiles")
#define STR_CLEAR N_("Clears the graphical output logs")
#define STR_CLEARSTAR N_("Clears all the stars saved in memory and displayed on the screen")
#define STR_CLOSE N_("Properly closes the opened image and the opened sequence, if any")
#define STR_CONESEARCH N_("Displays stars from the local catalog by default for the loaded plate solved image, down to the provided <b>limit_magnitude</b> (13 by default for most catalogues, except 14.5 for aavso_chart, 20 for solsys, and omitted for pgc).\nAn alternate online catalog can be specified with <b>-cat=</b>, taking values \n- for stars: tycho2, nomad, gaia, localgaia, ppmxl, bsc, apass, gcvs, vsx, simbad, aavso_chart\n- for exoplanets: exo\n- for deep-sky: pgc\n- for solar system objects: solsys (closest <a href=\"https://vo.imcce.fr/webservices/data/displayIAUObsCodes.php\">IAU observatory code</a> can be passed with the argument <b>-obscode=</b> for better position accuracy)\n\nFor stars catalogues containing photometric data, stars with no B-V information will be kept; they can be excluded by passing <b>-phot</b>\nThe argument <b>-trix=</b> can be passed instead of a catalogue followed by a number between 0 and 511 to plot stars contained in local catalogues trixel of level 3 (for dev usage mainly)\n\nSome catalogs (bsc, gcvs, pgc, exo, aavso_chart, varisum and solsys) will also display, by default, names alongside markers in the display (GUI only) and list them in the log. For others with larger number of objects, namely vsx and simbad, the information can also be shown but, as it may clutter the display, it is not activated by default. This behavior can be toggled on/off with the options <b>-tag=on|off</b> to display names alongside markers and <b>-log=on|off</b> to list the objects in the console log\n\nThe list of items that are present in the image can optionally saved to a csv file by passing the argument <b>-out=</b>")
#define STR_CONVERT N_("Converts 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 <b>-fitseq</b> is provided or a SER sequence (single file) if <b>-ser</b> is provided. The argument <b>basename</b> is the base name of the new sequence, numbers and the extension will be put behind it.\nFor FITS images, Siril will try to make a symbolic link; if not possible, files will be copied. The option <b>-debayer</b> applies demosaicing to CFA input images; in this case no symbolic link is done.\n<b>-start=index</b> sets the starting index number, useful to continue an existing sequence (not used with -fitseq or <b>-ser</b>; make sure you remove or clear the target .seq if it exists in that case).\nThe <b>-out=</b> option changes the output directory to the provided argument.\n\nSee also CONVERTRAW and LINK")
#define STR_CONVERTRAW N_("Same as CONVERT but converts only DSLR RAW files found in the current working directory")
#define STR_COSME N_("Applies the local mean to a set of pixels on the loaded image (cosmetic correction). The coordinates of these pixels are in a text file [.lst file], the FIND_HOT command can also create it for single hot pixels, but manual operation is needed to remove rows or columns. COSME is adapted to correct residual hot and cold pixels after calibration.\nInstead of providing the list of bad pixels, it's also possible to detect them in the current image using the FIND_COSME command")
#define STR_COSME_CFA N_("Same function as COSME but applying to RAW CFA images")
#define STR_CROP N_("Crops to a selected area of the loaded image.\n\nIf a selection is active, no further arguments are required. Otherwise, or in scripts, arguments have to be given, with <b>x</b> and <b>y</b> being the coordinates of the top left corner, and <b>width</b> and <b>height</b> the size of the selection. Alternatively, the selection can be made using the BOXSELECT command")

#define STR_DDP N_("Performs a DDP (digital development processing) on the loaded image, as described first by Kunihiko Okano. This implementation is the one described in IRIS.\n\nIt combines a linear distribution on low levels (below <b>level</b>) and a non-linear one on high levels.\nIt uses a Gaussian filter of standard deviation <b>sigma</b> and multiplies the resulting image by <b>coef</b>. Typical values for <b>sigma</b> are within 0.7 and 2. The level argument should be in the range [0, 65535] for 16-bit images and may be given either in the range [0, 1] or [0, 65535] for 32-bit images in which case it will be scaled automatically")
#define STR_DENOISE N_("Denoises the image using the non-local Bayesian algorithm described by <a href=\"https://www.ipol.im/pub/art/2013/16\">Lebrun, Buades and Morel</a>.\n\nIt 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 <b>-nocosmetic</b>.\n\nAn optional argument <b>-mod=m</b> may be given, where 0 &lt;= m &lt;= 1. The output pixel is computed as : <i>out=m x d + (1 − m) x in</i>, where <i>d</i> is the denoised pixel value. A modulation value of 1 will apply no modulation. If the parameter is omitted, it defaults to 1.\n\nThe optional argument <b>-vst</b> 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.\n\nThe optional argument <b>-da3d</b> 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.\n\nThe optional argument <b>-sos=<i>n</i></b> 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.\n\nThe optional argument <b>-rho=r</b> may be specified, where 0 &lt; r &lt; 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 -sos=n is not specified then the parameter is ignored.\n\nThe default is not to apply DA3D or SOS, as the improvement in denoising is usually relatively small and these techniques requires additional processing time.\n\nIn very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument <b>-indep</b> can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts")
#define STR_DISTO N_("Shows distortion field on a plate-solved image which solution includes distortion terms\n\nPass option <b>clear</b> to disable")
#define STR_DUMPHEADER N_("Dumps the FITS header of the loaded image in the console")

#define STR_ENTROPY N_("Computes the entropy of the loaded image on the displayed layer, only in the selected area if one has been selected or in the whole image. The entropy is one way of measuring the noise or the details in an image")
#define STR_EPF N_("Applies an edge preserving filter. By default a bilateral filter is applied; a guided filter can be specified using the argument <b>-guided</b>. The filter diameter defaults to 3 and can be set using <b>-d=</b>. Be careful with values of d greater than 20 as the algorithm can be computationally expensive.\n\nThe intensity filtering sigma value can be set using <b>-si=</b> and the spatial sigma value can be set using <b>-ss=</b>. Sigma values represent the difference in pixel values over which the filter acts strongly: for 32-bit images the value should be between 0 and 1.0, whereas for 16-bit images it should be between 0 and 65535. The defaults if not specified are for both to be set to 11. If <b>-d=0</b> is set then the filter diameter will be set automatically based on the value of <b>-ss</b>. <i>Note that when applying a guided filter, only <b>-sc</b> applies.</i>\n\nWhen specifying a guided filter, a guide image may be set using <b>-guideimage=</b>. The default if no guide image is specified is to perform a self-guided filter. <i>Note: the guide image must have the same dimensions as the image to be filtered!</i>\n\nThe strength of the filter can be modulated using the <b>-mod=</b> argument. If mod = 1.0 the full effect of the filter will be applied; for mod less than 1.0 a proportion of the original image will be mixed with the result, and for mod = 0.0 no filtering will be applied")
#define STR_EXIT N_("Quits the application")
#define STR_EXTRACT N_("Extracts <b>NbPlans</b> planes of wavelet domain of the loaded image.\nSee also WAVELET and WRECONS. For color extraction, see SPLIT")
#define STR_EXTRACTGREEN N_("Extracts green signal from the 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. A new file is created, its name is prefixed with \"Green_\"")
#define STR_EXTRACTHA N_("Extracts H-Alpha signal from the 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. If the argument <b>-upscale</b> is provided, the output will be upscaled x2 to match the full sensor resolution, for example to match other images produced by the same family of sensors. A new file is created, its name is prefixed with \"Ha_\"")
#define STR_EXTRACTHAOIII N_("Extracts H-Alpha and O-III signals from the 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 as a new half-sized FITS file (like EXTRACTHA) and keeps the three others for O-III with an interpolated replacement for the red pixel. The output files names start with the prefix \"Ha_\" and \"OIII_\"\n\nThe optional argument <b>-resample={ha|oiii}</b> sets whether to upsample the Ha image or downsample the OIII image to have images the same size. If this argument is not provided, no resampling will be carried out and the OIII image will have twice the height and width of the Ha image")

#define STR_FDIV N_("Divides the loaded image by the image given in argument. The resulting image is multiplied by the value of the <b>scalar</b> argument. See also IDIV")
#define STR_FFILL N_("Same command as FILL but this is a symmetric fill of a region defined by the mouse or with BOXSELECT. Used to process an image in the Fourier (FFT) domain")
#define STR_FFTD N_("Applies a Fast Fourier Transform to the loaded image. <b>modulus</b> and <b>phase</b> given in argument are the names of the saved in FITS files")
#define STR_FFTI N_("Retrieves corrected image applying an inverse transformation. The <b>modulus</b> and <b>phase</b> arguments are the input file names, the result will be the new loaded image")
#define STR_FILL N_("Fills the loaded image entirely or only the selection if there is one with pixels having the <b>value</b> intensity expressed in ADU")
#define STR_FIND_COSME N_("Applies an automatic detection and replacement of cold and hot pixels in the loaded image, with the thresholds passed in arguments in sigma units")
#define STR_FIND_COSME_CFA N_("Same command as FIND_COSME but for CFA images")
#define STR_FIND_HOT N_("Saves a list file <b>filename</b> (text format) in the working directory which contains the coordinates of the pixels which have an intensity <b>hot_sigma</b> times higher and <b>cold_sigma</b> lower than standard deviation, extracted from the loaded image. We generally use this command on a master-dark file. The COSME command can apply this list of bad pixels to a loaded image, see also SEQCOSME to apply it to a sequence")
#define STR_FINDCOMPSTARS N_("Automatically finds comparison stars in the field of the plate solved loaded image, for photometric analysis of a star's light curve according to\n- the provided name of the star\n- the field of view of the image, reduced to a diameter of its height if <b>-narrow</b> is passed, avoiding stars in the corners\n- the chosen catalog (APASS by default), can be changed with <b>-catalog={NOMAD|APASS}</b>\n- the difference in visual magnitude from the variable star, in the range [0, 6] with a default of 3, changed with <b>-dvmag=</b>\n- the difference in color with the variable star, in the range [0.0, 0.7] of their B-V indices with a default of 0.5, changed with <b>-dbv=</b>\n- the maximum allowed error on Vmag in the range [0.0, 0.1] with a default of 0.03, changed with <b>-emag=</b>.\n\nThe list can optionally be saved as a CSV file compatible with the NINA comparison stars list, specifying the file name with <b>-out=</b>. If the provided name is the special value <b>auto</b>, it is generated using the input parameters\n\nSee also LIGHT_CURVE")
#define STR_FINDSTAR N_("Detects stars in the currently loaded image, having a level greater than a threshold computed by Siril.\nAfter that, a PSF is applied and Siril rejects all detected structures that don't fulfill a set of prescribed detection criteria, that can be tuned with command SETFINDSTAR.\nFinally, an ellipse is drawn around detected stars.\n\nOptional parameter <b>-out=</b> allows the results to be saved to the given path.\nOption <b>-layer=</b> specifies the layer onto which the detection is performed (for color images only).\nYou can also limit the maximum number of stars detected by passing a value to option <b>-maxstars=</b>.\n\n\nSee also CLEARSTAR")
#define STR_FIXXTRANS N_("Fixes the Fujifilm X-Trans Auto Focus pixels in the loaded image.\n\nIndeed, 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")
#define STR_FIXBANDING N_("Tries to remove the horizontal or vertical banding in the loaded image.\n<b>amount</b> defines the amount of correction, between 0 and 4.\n<b>sigma</b> defines the highlight protection level of the algorithm, higher sigma gives higher protection, between 0 and 5. Values of 1 and 1 are often good enough.\n<b>-vertical</b> option enables to perform vertical banding removal, horizontal is the default")
#define STR_FMEDIAN N_("Performs a median filter of size <b>ksize</b> x <b>ksize</b> (<b>ksize</b> MUST be odd) to the loaded image with a modulation parameter <b>modulation</b>.\n\nThe output pixel is computed as : out=mod x m + (1 − mod) x in, where m is the median-filtered pixel value. A modulation's value of 1 will apply no modulation")
#define STR_FMUL N_("Multiplies the loaded image by the <b>scalar</b> given in argument")

#define STR_GAUSS N_("Applies to the loaded image a Gaussian blur with the given <b>sigma</b>.\n\nSee also UNSHARP, the same with a blending parameter")
#define STR_GET N_("Gets a value from the settings using its name, or list all with <b>-a</b> (name and value list) or with <b>-A</b> (detailed list)\n\nSee also SET to update values")
#define STR_GETREF N_("Prints information about the reference image of the sequence given in argument. First image has index 0")
#define STR_GHT N_("Generalised hyperbolic stretch based on the work of the ghsastro.co.uk team.\n\nThe argument <b>-D=</b> defines the strength of the stretch, between 0 and 10. This is the only mandatory argument. The following optional arguments further tailor the stretch:\n<b>B</b> defines the intensity of the stretch near the focal point, between -5 and 15;\n<b>LP</b> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail;\n<b>SP</b> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense;\n<b>HP</b> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.\nIf omitted B, LP and SP default to 0.0 ad HP defaults to 1.0.\nAn optional argument (either <b>-human</b>, <b>-even</b> or <b>-independent</b>) 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. Alternatively, the argument <b>-sat</b> specifies that the stretch is performed on image saturation - the image must be color and all channels must be selected for this to work.\nOptionally the parameter <b>[channels]</b> 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. The clip mode can be set using the argument <b>-clipmode=</b>: values <b>clip</b>, <b>rescale</b>, <b>rgbblend</b> or <b>globalrescale</b> are accepted and the default is rgbblend")
#define STR_GREY_FLAT N_("Equalizes the mean intensity of RGB layers in the loaded CFA image. This is the same process used on flats during calibration when the option equalize CFA is used")

#define STR_HELP N_("Lists the available commands or help for one command")
#define STR_HISTO N_("Calculates the histogram of the <b>layer</b> of the loaded image and produces file histo_[channel name].dat in the working directory.\nlayer = 0, 1 or 2 with 0=red, 1=green and 2=blue")

#define STR_IADD N_("Adds the image <b>filename</b> to the loaded image.\nResult will be in 32 bits per channel if allowed in the preferences")
#define STR_ICC_ASSIGN N_("Assigns the ICC profile specified in the argument to the current image.\nOne of the following special arguments may be provided to use the respective built-in profiles: <b>sRGB</b>, <b>sRGBlinear</b>, <b>Rec2020</b>, <b>Rec2020linear</b>, <b>working</b> to set the working mono or RGB color profile, (for mono images only) <b>linear</b>, or the path to an ICC profile file may be provided. If a built-in profile is specified with a monochrome image loaded, the Gray profile with the corresponding TRC will be used")
#define STR_ICC_CONVERT_TO N_("Converts the current image to the specified ICC profile.\nOne of the following special arguments may be provided to use the respective built-in profiles: <b>sRGB</b>, <b>sRGBlinear</b>, <b>Rec2020</b>, <b>Rec2020linear</b>, <b>graysrgb</b>, <b>grayrec2020</b>, <b>graylinear</b> or <b>working</b> to set the working mono or RGB color profile, (for mono images only) <b>linear</b>, or the path to an ICC profile file may be provided. If a built-in profile is specified with a monochrome image loaded, the Gray profile with the corresponding TRC will be used.\n\nA second argument may be provided to specify the color transform intent: this should be one of <b>perceptual</b>, <b>relative</b> (for relative colorimetric), <b>saturation</b> or <b>absolute</b> (for absolute colorimetric)")
#define STR_ICC_REMOVE N_("Removes the ICC profile from the current image, if it has one")
#define STR_IDIV N_("Divides the loaded image by the image <b>filename</b>.\nResult will be in 32 bits per channel if allowed in the preferences.\n\nSee also FDIV")
#define STR_INSPECTOR N_("Splits the loaded image in a nine-panel mosaic showing the image corners and the center for a closer inspection (GUI only)")
#define STR_INVGHT N_("Inverts a generalised hyperbolic stretch. It provides the inverse transformation of GHT, if provided with the same parameters, undoes a GHT command, possibly returning to a linear image. It can also work the same way as GHT but for images in negative")
#define STR_INVMTF N_("Inverts a midtones transfer function. It provides the inverse transformation of MTF, if provided with the same parameters, undoes a MTF command, possibly returning to a linear image. It can also work the same way as MTF but for images in negative")
#define STR_INVMODASINH N_("Inverts a modified arcsinh stretch. It provides the inverse transformation of MODASINH, if provided with the same parameters, undoes a MODASINH command, possibly returning to a linear image. It can also work the same way as MODASINH but for images in negative")
#define STR_IMUL N_("Multiplies image <b>filename</b> by the loaded image.\nResult will be in 32 bits per channel if allowed in the preferences")
#define STR_ISUB N_("Subtracts the loaded image by the image <b>filename</b>.\nResult will be in 32 bits per channel if allowed in the preferences, so capable of storing negative values. To clip negative value, use 16 bit mode or use the THRESHLO command")

#define STR_LIGHTCURVE N_("Analyses several stars with aperture photometry in a sequence of images and produces a light curve for one, calibrated by the others. The first coordinates, in pixels if <b>-at=</b> is used or in degrees if <b>-wcs=</b> is used, are for the star whose light will be plotted, the others for the comparison stars.\nAlternatively, a list of target and reference stars can be passed in the format of the NINA exoplanet plugin star list, with the <b>-ninastars=</b> 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, Siril plots the result to a PNG image if available\nThe ring radii for the annulus can either be configured in the settings or set to a factor of the reference image's FWHM if <b>-autoring</b> is passed. These autoring sizes are 4.2 time and 6.3 times the FWHM for the inner and outer radii, respectively.\n\nSee also the <b>setphot</b> command to set the same way the aperture radius size.\n\nSee also SEQPSF for operations on single star")
#define STR_LIMIT N_("Limits pixel values in 32-bit images to the range 0.0 to 1.0. This command does not apply to 16-bit images as there cannot be out-of-range values. Range limiting can be done in one of the following ways:\n\n<b>-clip</b>: this option simply clips all negative pixels to 0.0 and all pixels with a value &gt; 1.0 to 1.0.\n<b>-posrescale</b>: this option scales all positive pixel values so that the maximum value is 1.0, clipping any negative pixels to 0.0. For 3-channel images the same scaling factor is applied to all channels. If the maximum pixel value is already &lt;= 1.0 negative pixels will still be clipped but no scaling factor will be applied to positive pixels.\n<b>-rescale</b>: using this option, if there are any negative pixel values the image will have a constant value added to all pixel values so that the minimum value is 0.0. Then if the maximum pixel value is &gt; 1.0, a scaling factor is applied so that the maximum pixel value is scaled to 1.0.\n\nNote that if there are one or more extreme outliers (for example as a result of bad pixels) the <b>-rescale</b> and <b>-posrescale</b> options may produce an unexpected result. This can be mitigated by applying cosmetic correction to the image first")
#define STR_LMATCH N_("Computes and applies a linear function between a <b>reference</b> image and the loaded image.\n\nThe algorithm will ignore all reference pixels whose values are outside of the [<b>low</b>, <b>high</b>] range")
#define STR_LINK N_("Same as CONVERT but converts only FITS files found in the current working directory. This is useful to avoid conversions of JPEG results or other files that may end up in the directory. The additional argument <b>-date</b> enables sorting files with their DATE-OBS value instead of with their name alphanumerically")
#define STR_LINSTRETCH N_("Stretches the image linearly to a new black point BP.\nThe argument <b>[channels]</b> may optionally 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.\nOptionally the parameter <b>-sat</b> may be used to apply the linear stretch to the image saturation channel. This argument only works if all channels are selected. The clip mode can be set using the argument <b>-clipmode=</b>: values <b>clip</b>, <b>rescale</b>, <b>rgbblend</b> or <b>globalrescale</b> are accepted and the default is rgbblend")
#define STR_LIVESTACK N_("Process the provided image for live stacking. Only possible after START_LS. The process involves calibrating the incoming file if configured in START_LS, demosaicing if it's an OSC image, registering and stacking. The temporary result will be in the file live_stack_00001.fit until a new option to change it is added")
#define STR_LOAD N_("Loads the image <b>filename</b> from the current working directory, which becomes the 'currently loaded image' used in many of the single-image commands.\nIt first attempts to load <b>filename</b>, then <b>filename</b>.fit, <b>filename</b>.fits and finally all supported formats.\nThis scheme is applicable to every Siril command that involves reading files")
#define STR_LOAD_SEQ N_("Loads the sequence <b>sequencename</b> from the current working directory, which becomes the 'currently loaded sequence'. While Siril sequence commands require the sequence name to be specified, it is necessary to load a sequence in order to read its metadata using Python scripting")
#define STR_LOG N_("Computes and applies a logarithmic scale to the loaded 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")
#define STR_LS N_("Lists files and directories in the working directory")

#define STR_JSONMETADATA N_("Dumps metadata and statistics of the currently loaded image in JSON form. The file name is required, even if the image is already loaded. Image data may not be read from the file if it is the current loaded image and if the <b>-stats_from_loaded</b> option is passed. Statistics can be disabled by providing the <b>-nostats</b> option. A file containing the JSON data is created with default file name '$(FITS_file_without_ext).json' and can be changed with the <b>-out=</b> option")

#define STR_MAKEPSF N_("Generates a PSF for use with deconvolution, any of the three methods exposed by RL, SB or WIENER commands. One of the following must be given as the first argument: <b>clear</b> (clears the existing PSF), <b>load</b> (loads a PSF from a file), <b>save</b> (saves the current PSF), <b>blind</b> (blind estimate of tke PSF), <b>stars</b> (generates a PSF based on measured stars from the image) or <b>manual</b> (generates a PSF manually based on a function and parameters).\n\nNo additional arguments are required when using the <b>clear</b> argument.\n\nTo load a previously saved PSF the <b>load</b> argument requires the PSF <i>filename</i> as a second argument. This may be in any format that Siril has been compiled with support for, but it must be square and should ideally be odd.\n\nTo save a previously generated PSF the argument <b>save</b> is used. Optionally, a filename may be provided (this must have one of the extensions \".fit\", \".fits\", \".fts\" or \".tif\") but if none is provided the PSF will be named based on the name of the open file or sequence.\n\nFor <b>blind</b>, the following optional arguments may be provided: <b>-l0</b> uses the l0 descent method, <b>-si</b> uses the spectral irregularity method, <b>-multiscale</b> configures the l0 method to do a multi-scale PSF estimate, <b>-lambda=</b> provides the regularization constant.\n\nFor PSF from detected <b>stars</b> the only optional parameter is <b>-sym</b>, which configures the PSF to be symmetric.\n\nFor a <b>manual</b> PSF, one of <b>-gaussian</b>, <b>-moffat</b>, <b>-disc</b> or <b>-airy</b> can be provided to specify the PSF function, Gaussian by default. For Gaussian or Moffat PSFs the optional arguments <b>-fwhm=</b>, <b>-angle=</b> and <b>-ratio=</b> may be provided. For Moffat PSFs the optional argument <b>-beta=</b> may also be provided. If these values are omitted, they default to the same values as in the deconvolution dialog. For disc PSFs only the argument <b>-fwhm=</b> is required, which for this function is used to set the <i>diameter</i> of the PSF. For Airy PSFs the following arguments may be provided: <b>-dia=</b> (sets the telescope diameter), <b>-fl=</b> (sets the telescope focal length), <b>-wl=</b> (sets the wavelength to calculate the Airy diffraction pattern for), <b>-pixelsize=</b> (sets the sensor pixel size), <b>-obstruct=</b> (sets the central obstruction as a percentage of the overall aperture area). If these parameters are not provided, wavelength will default to 525nm and central obstruction will default to 0%. Siril will attempt to read the others from the open image, but some imaging software may not provide all of them in which case you will get bad results, and note the metadata may not be populated for SER format videos. You will learn from experience which are safe to omit for your particular imaging setup.\n\nFor any of the above PSF generation options the optional argument <b>-ks=</b> may be provided to set the PSF dimension, and the optional argument <b>-savepsf=<i>filename</i></b> may be used to save the generated PSF: a filename must be provided and the same filename extension requirements apply as for <b>makepsf save <i>filename</i></b>")
#define STR_MERGE N_("Merges several sequences of the same type (FITS images, FITS sequence or SER) and same image properties into a new sequence with base name <b>newseq</b> 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 '_'")
#define STR_MIRRORX N_("Flips the loaded image about the horizontal axis. Option <b>-bottomup</b> will only flip it if it's not already bottom-up")
#define STR_MIRRORX_SINGLE N_("Flips the image about the horizontal 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. Image is overwritten if a flip is made")
#define STR_MIRRORY N_("Flips the image about the vertical axis")
#define STR_MODASINH N_("Modified arcsinh stretch based on the work of the ghsastro.co.uk team.\n\nThe argument <b>-D=</b> defines the strength of the stretch, between 0 and 10. This is the only mandatory argument. The following optional arguments further tailor the stretch:\n<b>LP</b> defines a shadow preserving range between 0 and SP where the stretch will be linear, preserving shadow detail;\n<b>SP</b> defines the symmetry point of the stretch, between 0 and 1, which is the point at which the stretch will be most intense;\n<b>HP</b> defines a region between HP and 1 where the stretch is linear, preserving highlight details and preventing star bloat.\nIf omitted LP and SP default to 0.0 ad HP defaults to 1.0.\nAn optional argument (either <b>-human</b>, <b>-even</b> or <b>-independent</b>) 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. Alternatively, the argument <b>-sat</b> specifies that the stretch is performed on image saturation - the image must be color and all channels must be selected for this to work.\nOptionally the parameter <b>[channels]</b> 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. The clip mode can be set using the argument <b>-clipmode=</b>: values <b>clip</b>, <b>rescale</b>, <b>rgbblend</b> or <b>globalrescale</b> are accepted and the default is rgbblend")
#define STR_MTF N_("Applies midtones transfer function to the current loaded image.\n\nThree parameters are needed, <b>low</b>, <b>midtones</b> and <b>high</b> where midtones balance parameter defines a nonlinear histogram stretch in the [0,1] range. For an automatic determination of the parameters, see AUTOSTRETCH.\nOptionally the parameter <b>[channels]</b> 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")

#define STR_NEG N_("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")
#define STR_NEW N_("Creates a new image filled with zeros with a size of <b>width</b> x <b>height</b>.\nOptionally the parameter <b>[filename]</b> may be used to specify the name of the new file.\n\nThe image is in 32-bit format, and it contains <b>nb_channel</b> channels, <b>nb_channel</b> being 1 or 3. It is not saved, but becomes the loaded image and it is displayed and can be saved afterwards")
#define STR_NOZERO N_("Replaces null values by <b>level</b> values. Useful before an idiv or fdiv operation, mostly for 16-bit images")

#define STR_OFFLINE N_("Sets Siril to offline mode. In this mode networking functions such as remote catalogue lookups, update of git repositories etc. are unavailable. Cached data is still accessible")
#define STR_OFFSET N_("Adds the constant <b>value</b> (specified in ADU) to the current image. This constant can take a negative value.\n\nIn 16-bit mode, values of pixels that fall outside of [0, 65535] are clipped. In 32-bit mode, no clipping occurs")
#define STR_ONLINE N_("Sets Siril to online mode. In this mode networking functions such as remote catalogue lookups, update of git repositories etc. is allowed")

#define STR_PARSE N_("Parses the string <b>str</b> using the information contained in the header of the image currently loaded. Main purpose of this command is to debug path parsing of header keys which can be used in other commands.\nOption <b>-r</b> specifies the string is to be interpreted in read mode. In read mode, all wildcards defined in string <b>str</b> 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.\n\nIf <b>str</b> starts with <i>$def</i> prefix, it will be recognized as a reserved keyword and looked for in the strings stored in gui_prepro.dark_lib, gui_prepro.flat_lib, gui_prepro.bias_lib or gui_prepro.stack_default for <i>$defdark</i>, <i>$defflat</i>, <i>$defbias</i> or <i>$defstack</i> respectively.\nThe keyword <i>$seqname$</i> can also be used when a sequence is loaded")
#define STR_PCC N_("Run the Photometric Color Correction on the loaded plate-solved image.\n\nThe limit magnitude of stars is automatically computed from the size of the field of view, but can be altered by passing a +offset or -offset value to <b>-limitmag=</b>, or simply an absolute positive value for the limit magnitude.\nThe star catalog used is NOMAD by default, it can be changed by providing <b>-catalog=apass</b>, <b>-catalog=localgaia</b> or <b>-catalog=gaia</b>. If installed locally, the remote NOMAD (the complete version) can be forced by providing <b>-catalog=nomad</b>\nBackground reference outlier tolerance can be specified in sigma units using <b>-bgtol=lower,upper</b>: these default to -2.8 and +2.0")
#define STR_PLATESOLVE N_("Plate solve the loaded image.\nIf the image has already been plate solved nothing will be done, unless the <b>-force</b> argument is passed to force a new solve. If WCS or other image metadata is erroneous or missing, arguments must be passed:\n  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 (not mandatory for astrometry.net).\n  focal length and pixel size can be passed with <b>-focal=</b> (in mm) and <b>-pixelsize=</b> (in microns), overriding values from image and settings. See also options to solve blindly with local Astrometry.net\n\nUnless <b>-noflip</b> is specified, if the image is detected as being upside-down, it will be flipped.\nFor faster star detection in big images, downsampling the image is possible with <b>-downscale</b>.\nThe solve can account for distortions using SIP convention with polynomials up to order 5. Default value is taken form the astrometry preferences. This can be changed with the option <b>-order=</b> giving a value between 1 and 5.\nWhen using Siril solver local catalogues or with local Astrometry.net, if the initial solve is not successful, the solver will search for a solution within a cone of radius specified with <b>-radius=</b> option. If no value is passed, the search radius is taken from the astrometry preferences. Siril near search can be disabled by passing a value of 0. (cannot be disabled for Astrometry.net).\nYou can save the current solution as a distortion file with the option <b>-disto=</b>.\n\nImages can be either plate solved by Siril using a star catalog and the global registration algorithm or by astrometry.net's local solve-field command (enabled with <b>-localasnet</b>).\n\n<b>Siril platesolver options: </b>\nThe limit magnitude of stars used for plate solving is automatically computed from the size of the field of view, but can be altered by passing a +offset or -offset value to <b>-limitmag=</b>, or simply an absolute positive value for the limit magnitude.\nThe choice of the star catalog is automatic unless the <b>-catalog=</b> option is passed: if local catalogs are installed, they are used, otherwise the choice is based on the field of view and limit magnitude. If the option is passed, it forces the use of the catalog given in argument, with possible values: tycho2, nomad, localgaia, gaia, ppmxl, brightstars, apass.\nIf the computed field of view is larger than 5 degrees, star detection will be bounded to a cropped area around the center of the image unless <b>-nocrop</b> option is passed.\n\n<b>Astrometry.net solver options:</b>\nPassing options <b>-blindpos</b> and/or <b>-blindres</b> enables to solve blindly for position and for resolution respectively. You can use these when solving an image with a completely unknown location and sampling")
#define STR_PM N_("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, without extension, located in the working directory in that case) must be surrounded by the token $, e.g. \"$image1$ * 0.5 + $image2$ * 0.5\". A maximum of 10 images can be used in the expression.\nImage can be rescaled with the option <b>-rescale</b> followed by <b>low</b> and <b>high</b> values in the range [0, 1]. If no low and high values are provided, default values are set to 0 and 1. Another optional argument, <b>-nosum</b> tells Siril not to sum exposure times. This impacts FITS keywords such as LIVETIME and STACKCNT")
#define STR_PROFILE N_("Generates an intensity profile plot between 2 points in the image, also known as a <i>cut</i>. The arguments may be provided in any order. The arguments <b>-to=x,y</b> and <b>-from=x,y</b> are mandatory.\n\nThe argument <b>-layer=<i>{red | green | blue | lum | col}</i></b> specifies which channel (or luminance or colour) to plot if the image is color. It may also be used with the <b>-tri</b> option, which generates 3 parallel equispaced profiles each separated by <b>-spacing=</b> pixels, but note that for tri profiles the <i><b>col</b></i> option will be treated the same as <i><b>lum</b></i>.\n\nThe option <b>-cfa</b> selects CFA mode, which generates 4 profiles: 1 for each CFA channel in a Bayer patterned image. This option cannot be used with color images or mono images with no Bayer pattern, and cannot be used at the same time as the <b>-tri</b> option.\n\nThe option <b>-arcsec</b> causes the x axis to display distance in arcsec, if the necessary metadata is available. If not provided or if metadata is not available, distance will be shown in pixel units.\n\nThe argument <b>-savedat</b> will cause the data files to be saved: the filename will be written to the log. Alternatively the argument <b>-filename=</b> can be used to specify a filename to write the data file to. (The <b>-filename=</b> option implies <b>-savedat</b>.)\n\nThe argument <b>\"-title=<i>My Title\"</i></b> sets a custom title \"My Title\"")
#define STR_PSF N_("Performs a PSF (Point Spread Function) on the selected star and display the results. For headless operation, the selection can be given in pixels using BOXSELECT. If provided, the <b>channel</b> 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")
#define STR_PWD N_("Prints the current working directory")
#define STR_PYSCRIPT N_("Executes a Siril python script\n\nThe script name must be provided as the first argument. If it is not found in the current working directory, the user-defined script paths specified in Preferences and the local siril-scripts repository will be searched. All subsequent arguments will be treated as script arguments and passed to the script as its argument vector. Note that the specific script must incorporate support for reading input from the argument vector")

#define STR_REBAYER N_("Builds a Bayer masked color 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 <b>split_cfa</b>.) This function can be used as part of a workflow applying some processing to the individual Bayer subchannels prior to demosaicing. The fifth parameter <b>bayerpattern</b> specifies the Bayer matrix pattern to recreate: <b>bayerpattern</b> should be one of 'RGGB', 'BGGR', 'GRBG' or 'GBRG'")
#define STR_REGISTER N_("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 <b>SETFINDSTAR</b> or the <i>Dynamic PSF</i> dialog.\n\nAll images of the sequence will be registered unless the option <b>-selected</b> is passed, in that case the excluded images will not be processed.\nThe <b>-2pass</b> option will only compute the transforms but not generate the transformed images, <b>-2pass</b> adds a preliminary pass to the algorithm to find a good reference image before computing the transforms, based on image quality and framing. To generate transformed images after this pass, use SEQAPPLYREG.\nIf created, the output sequence name will start with the prefix \"r_\" unless otherwise specified with <b>-prefix=</b> option. The output images can be rescaled by passing a <b>-scale=</b> argument with a float value between 0.1 and 3.\n\n<b>Image transformation options:</b>\n\nThe detection is done on the green layer for colour images, unless specified by the <b>-layer=</b> option with an argument ranging from 0 to 2 for red to blue.\n<b>-transf=</b> specifies the use of either <b>shift</b>, <b>similarity</b>, <b>affine</b> or <b>homography</b> (default) transformations respectively.\n<b>-minpairs=</b> 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.\n<b>-maxstars=</b> 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.\n<b>-nostarlist</b> disables saving the star lists to disk.\n<b>-disto=</b> uses distortion terms from a previous platesolve solution (with a SIP order > 1). It takes as parameter either <b>image</b> to use the solution contained in the currently loaded image, <b>file</b> followed by the path to the image containing the solution or <b>master</b> to load automatically the matching distortion master corresponding to each image. When using this option, the polynomials are used both to correct star positions before computing the transformation and to undistort the images when output images are exported.\n\n<b>Image interpolation options:</b>\n\nBy default, transformations are applied to register the images by using interpolation.\nThe pixel interpolation method can be specified with the <b>-interp=</b> argument followed by one of the methods in the list <b>no</b>[ne], <b>ne</b>[arest], <b>cu</b>[bic], <b>la</b>[nczos4], <b>li</b>[near], <b>ar</b>[ea]}. If <b>none</b> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.\nClamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <b>-noclamp</b> argument.\n\n<b>Image drizzle options:</b>\n\nOtherwise, the images can be exported using HST drizzle algorithm by passing the argument <b>-drizzle</b> which can take the additional options:\n<b>-pixfrac=</b> sets the pixel fraction (default = 1.0).\nThe <b>-kernel=</b> argument sets the drizzle kernel and must be followed by one of <b>point</b>, <b>turbo</b>, <b>square</b>, <b>gaussian</b>, <b>lanczos2</b> or <b>lanczos3</b>. The default is <b>square</b>.\nThe <b>-flat=</b> argument specifies a master flat to weight the drizzled input pixels (default is no flat).\n\nNote: when using <b>-drizzle</b> on images taken with a color camera, the input images must not be debayered. In that case, star detection will always occur on the green pixels")
#define STR_RELOADSCRIPTS N_("Rescans the scripts folders and updates the Scripts menu. Note that this command may not be used headless (i.e. from siril-cli) and also that the update will happen asynchronously (i.e. the command will trigger the update but will not wait for the update to complete)")
#define STR_REQUIRES N_("Returns an error if the version of Siril is older than the minimum required version passed in the first argument. Optionally, takes a second argument for the Siril version at which the script is obsolete: returns an error if the version of Siril is <b>newer than or equal to</b> the one passed in the second argument.\n\nExample: <i>requires 1.2.0 1.4.0</i> allows the script to run for all of the 1.2.x series and 1.3.x series, but will not run for any versions earlier than 1.2.0 or for version 1.4.0 or any later versions")
#define STR_RESAMPLE N_("Resamples the loaded image, either with a factor <b>factor</b> or for the target width or height provided by either of <b>-width=</b>, <b>-height=</b> or <b>-maxdim=</b>. This is generally used to resize images: a factor of 0.5 divides size by 2. The <b>-maxdim</b> argument can be used to resize the longest dimension of the image to a set size, which can be useful for optimizing images for certain websites, e.g. social media websites.\nIn the graphical user interface, we can see that several interpolation algorithms are proposed.\n\nThe pixel interpolation method can be specified with the <b>-interp=</b> argument followed by one of the methods in the list <b>no</b>[ne], <b>ne</b>[arest], <b>cu</b>[bic], <b>la</b>[nczos4], <b>li</b>[near], <b>ar</b>[ea]}.\nClamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <b>-noclamp</b> argument")
#define STR_RGBCOMP N_("Creates 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. Another optional argument, <b>-nosum</b> tells Siril not to sum exposure times. This impacts FITS keywords such as LIVETIME and STACKCNT")
#define STR_RGRADIENT N_("Creates two images, with a radial shift (<b>dR</b> in pixels) and a rotational shift (<b>dalpha</b> in degrees) with respect to the point (<b>xc</b>, <b>yc</b>).\n\nBetween 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")
#define STR_RL N_("Restores an image using the Richardson-Lucy method.\n\nOptionally, a PSF may be loaded using the argument <b>-loadpsf=<i>filename</i></b> (created with MAKEPSF).\n\nThe number of iterations is provide by <b>-iters</b> (the default is 10).\n\nThe type of regularization can be set with <b>-tv</b> for Total Variation, or <b>-fh</b> for the Frobenius norm of the Hessian matrix (the default is none) and <b>-alpha=</b> provides the regularization strength (lower value = more regularization, default = 3000).\n\nBy default the gradient descent method is used with a default step size of 0.0005, however the multiplicative method may be specified with <b>-mul</b>.\n\nThe stopping criterion may be activated by specifying a stopping limit with <b>-stop=</b>")
#define STR_RMGREEN N_("Applies a chromatic noise reduction filter. It removes green tint in the current image. This filter is based on PixInsight's SCNR and it is also the same filter used by HLVG plugin in Photoshop.\nLightness is preserved by default but this can be disabled with the <b>-nopreserve</b> switch.\n\n<b>Type</b> can take values 0 for average neutral, 1 for maximum neutral, 2 for maximum mask, 3 for additive mask, defaulting to 0. The last two can take an <b>amount</b> argument, a value between 0 and 1, defaulting to 1")
#define STR_ROTATE N_("Rotates the loaded image by an angle of <b>degree</b> value. The option <b>-nocrop</b> can be added to avoid cropping to the image size (black borders will be added).\n\nNote: 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 <b>-nocrop</b> will be ignored if passed.\n\nThe pixel interpolation method can be specified with the <b>-interp=</b> argument followed by one of the methods in the list <b>no</b>[ne], <b>ne</b>[arest], <b>cu</b>[bic], <b>la</b>[nczos4], <b>li</b>[near], <b>ar</b>[ea]}. If <b>none</b> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.\nClamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <b>-noclamp</b> argument")
#define STR_ROTATEPI N_("Rotates the loaded image of an angle of 180° around its center. This is equivalent to the command \"ROTATE 180\" or \"ROTATE -180\"")

#define STR_SATU N_("Enhances the color saturation of the loaded image. Try iteratively to obtain best results.\n<b>amount</b> can be a positive number to increase color saturation, negative to decrease it, 0 would do nothing, 1 would increase it by 100%\n<b>background_factor</b> is a factor to (median + 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.\n<b>hue_range_index</b> 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)")
#define STR_SAVE N_("Saves current image to <b>filename</b>.fit (or .fits, depending on your preferences, see SETEXT) in the current working directory. The image remains loaded. <b>filename</b> can contain a path as long as the directory already exists. The <b>-chksum</b> option stores checksum keywords (CHECKSUM and DATASUM) in the FITS header")
#define STR_SAVEBMP N_("Saves current image under the form of a bitmap file with 8-bit per channel: <b>filename</b>.bmp (BMP 24-bit)")
#define STR_SAVEJPG N_("Saves current image into a JPG file: <b>filename</b>.jpg.\n\nThe compression quality can be adjusted using the optional <b>quality</b> value, 100 being the best and default, while a lower value increases the compression ratio")
#define STR_SAVEJXL N_("Saves current image into a JPG XL file: <b>filename</b>.jxl.\n\nAll other arguments are optional. The quality setting expresses a maximum permissible distance between the original and the compressed image: the <b>-quality=</b> argument may be provided and must be specified as a floating point number between 0.0 and 10.0. A higher quality means better quality, but larger file size. Quality = 10.0 is mathematically lossless, quality = 9.0 is visually lossless and quality = 0 is visually poor but gives very small file sizes. The default value is 9.0; typical values range from 7.0 to 10.0. The compression effort can be adjusted using the optional <b>-effort=</b> value, 9 being the most effort but very slow, while a lower value increases the compression ratio. Values above 7 are not recommended as they can be very slow and produce little if any benefit to file size, in fact sometimes effort = 9 can produce larger files. If this argument is omitted the default value of 7 is used. An option <b>-8bit</b> may be provided to force output to be 8 bits per pixel")
#define STR_SAVEPNG N_("Saves current image into a PNG file: <b>filename</b>.png, 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")
#define STR_SAVEPNM N_("Saves current image under the form of a NetPBM file format with 16-bit per channel.\n\nThe extension of the output will be <b>filename</b>.ppm for RGB image and <b>filename</b>.pgm for gray-level image")
#define STR_SAVETIF N_("Saves current image under the form of a uncompressed TIFF file with 16-bit per channel: <b>filename</b>.tif. The option <b>-astro</b> allows saving in Astro-TIFF format, while <b>-deflate</b> enables compression.\n\nSee also SAVETIF32 and SAVETIF8")
#define STR_SAVETIF32 N_("Same command as SAVETIF but the output file is saved in 32-bit per channel: <b>filename</b>.tif. The option <b>-astro</b> allows saving in Astro-TIFF format, while <b>-deflate</b> enables compression")
#define STR_SAVETIF8 N_("Same command as SAVETIF but the output file is saved in 8-bit per channel: <b>filename</b>.tif. The option <b>-astro</b> allows saving in Astro-TIFF format, while <b>-deflate</b> enables compression")
#define STR_SB N_("Restores an image using the Split Bregman method.\n\nOptionally, a PSF may be loaded using the argument <b>-loadpsf=<i>filename</i></b>.\n\nThe number of iterations is provide by <b>-iters</b> (the default is 1).\n\nThe regularization factor <b>-alpha=</b> provides the regularization strength (lower value = more regularization, default = 3000)")
#define STR_SELECT N_("This command allows easy mass selection of images in the sequence <b>sequencename</b> (from <b>from</b> to <b>to</b> included). This is a selection for later processing.\nSee also UNSELECT")
#define STR_SEQAPPLYREG N_("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 (see REGISTER).\nThe output sequence name starts with the prefix <b>\"r_\"</b> unless otherwise specified with <b>-prefix=</b> option.\nThe registration is done on the first layer for which data exists for RGB images unless specified by <b>-layer=</b> option (0, 1 or 2 for R, G and B respectively).\nThe output images can be rescaled by passing a <b>-scale=</b> argument with a float value between 0.1 and 3.\n\nAutomatic framing of the output sequence can be specified using <b>-framing=</b> keyword followed by one of the methods in the list { current | min | max | cog } :\n<b>-framing=max</b> (bounding box) will project each image and compute its shift wrt. reference image. The resulting sequence can then be stacked using option <b>-maximize</b> of STACK command which will create the full image encompassing all images of the sequence.\n<b>-framing=min</b> (common area) crops each image to the area it has in common with all images of the sequence.\n<b>-framing=cog</b> determines the best framing position as the center of gravity (cog) of all the images.\n\n<b>Image interpolation options:</b>\nBy default, transformations are applied to register the images by using interpolation.\nThe pixel interpolation method can be specified with the <b>-interp=</b> argument followed by one of the methods in the list <b>no</b>[ne], <b>ne</b>[arest], <b>cu</b>[bic], <b>la</b>[nczos4], <b>li</b>[near], <b>ar</b>[ea]}. If <b>none</b> is passed, the transformation is forced to shift and a pixel-wise shift is applied to each image without any interpolation.\nClamping of the bicubic and lanczos4 interpolation methods is the default, to avoid artefacts, but can be disabled with the <b>-noclamp</b> argument.\n\n<b>Image drizzle options:</b>\nOtherwise, the images can be exported using HST drizzle algorithm by passing the argument <b>-drizzle</b> which can take the additional options:\n<b>-pixfrac=</b> sets the pixel fraction (default = 1.0).\nThe <b>-kernel=</b> argument sets the drizzle kernel and must be followed by one of <b>point</b>, <b>turbo</b>, <b>square</b>, <b>gaussian</b>, <b>lanczos2</b> or <b>lanczos3</b>. The default is <b>square</b>.\nThe <b>-flat=</b> argument specifies a master flat to weight the drizzled input pixels (default is no flat).\n\n<b>Filtering out images:</b>\nImages to be registered can be selected based on some filters, like those selected or with best FWHM, with some of the <b>-filter-*</b> options.\nSee the command reference for the complete documentation on this command")
#define STR_SEQCCM N_("Same command as CCM but for the the sequence <b>sequencename</b>. Only selected images in the sequence are processed.\n\nThe output sequence name starts with the prefix \"ccm\" unless otherwise specified with option <b>-prefix=</b>")
#define STR_SEQCLEAN N_("This command clears selection, registration and/or statistics data stored for the sequence <b>sequencename</b>.\n\nYou can specify to clear only registration, statistics and/or selection with <b>-reg</b>, <b>-stat</b> and <b>-sel</b> options respectively. All are cleared if no option is passed")
#define STR_SEQCOSME N_("Same command as COSME but for the the sequence <b>sequencename</b>. Only selected images in the sequence are processed.\n\nThe output sequence name starts with the prefix \"cosme_\" unless otherwise specified with option <b>-prefix=</b>")
#define STR_SEQCOSME_CFA N_("Same command as COSME_CFA but for the the sequence <b>sequencename</b>. Only selected images in the sequence are processed.\n\nThe output sequence name starts with the prefix \"cosme_\" unless otherwise specified with option <b>-prefix=</b>")
#define STR_SEQCROP N_("Crops the sequence given in argument <b>sequencename</b>. Only selected images in the sequence are processed.\n\nThe crop selection is specified by the upper left corner position <b>x</b> and <b>y</b> and the selection <b>width</b> and <b>height</b>, like for CROP.\nThe output sequence name starts with the prefix \"cropped_\" unless otherwise specified with <b>-prefix=</b> option")
#define STR_SEQEXTRACTHA N_("Same command as EXTRACT_HA but for the sequence <b>sequencename</b>.\n\nThe output sequence name starts with the prefix \"Ha_\" unless otherwise specified with option <b>-prefix=</b>")
#define STR_SEQEXTRACTGREEN N_("Same command as EXTRACT_GREEN but for the sequence <b>sequencename</b>.\n\nThe output sequence name starts with the prefix \"Green_\" unless otherwise specified with option <b>-prefix=</b>")
#define STR_SEQEXTRACTHAOIII N_("Same command as EXTRACT_HAOIII but for the sequence <b>sequencename</b>.\n\nThe output sequences names start with the prefixes \"Ha_\" and \"OIII_\"")
#define STR_SEQFINDSTAR N_("Same command as FINDSTAR but for the sequence <b>sequencename</b>.\n\nThe option <b>-out=</b> is not available for this process as all the star list files are saved with the default name <i>seqname_seqnb.lst</i>")
#define STR_SEQFIND_COSME N_("Same command as FIND_COSME but for the sequence <b>sequencename</b>.\n\nThe output sequence name starts with the prefix \"cc_\" unless otherwise specified with <b>-prefix=</b> option")
#define STR_SEQFIND_COSME_CFA N_("Same command as FIND_COSME_CFA but for the sequence <b>sequencename</b>.\n\nThe output sequence name starts with the prefix \"cc_\" unless otherwise specified with <b>-prefix=</b> option")
#define STR_SEQFIXBANDING N_("Same command as FIXBANDING but for the sequence <b>sequencename</b>.\n\nThe output sequence name starts with the prefix \"unband_\" unless otherwise specified with <b>-prefix=</b> option")
#define STR_SEQGHT N_("Same command as GHT but the sequence must be specified as the first argument. In addition, the optional argument <b>-prefix=</b> can be used to set a custom prefix")
#define STR_SEQHEADER N_("Prints the FITS header value corresponding to the given keys for all images in the sequence. You can write several keys in a row, separated by a space. The <b>-out=</b> option, followed by a file name, allows you to print the output in a csv file. The <b>-sel</b> option limits the output to the images selected in the sequence")
#define STR_SEQINVGHT N_("Same command as INVGHT but the sequence must be specified as the first argument. In addition, the optional argument <b>-prefix=</b> can be used to set a custom prefix")
#define STR_SEQINVMODASINH N_("Same command as INVMODASINH but the sequence must be specified as the first argument. In addition, the optional argument <b>-prefix=</b> can be used to set a custom prefix")
#define STR_SEQLINSTRETCH N_("Same command as LINSTRETCH but the sequence must be specified as the first argument. In addition, the optional argument <b>-prefix=</b> can be used to set a custom prefix")
#define STR_SEQMERGE_CFA N_("Merges 4 sequences of images to recombine the Bayer pattern. The sequences are specified in the arguments <b>sequencename0</b>, <b>sequencename1</b>, <b>sequencename2</b> and <b>sequencename3</b>.\n\nThe Bayer pattern to be reconstructed must be provided as the second argument as one of RGGB, BGGR, GBRG or GRBG (the order of the Bayer channels must match the order of the specified sequences).\n\nNote: all 4 input sequences <b>must</b> be present and have the same dimensions, bit depth and number of images.\n\nThe output sequence name starts with the prefix \"mCFA_\" and a number unless otherwise specified with <b>-prefixout=</b> option")
#define STR_SEQMODASINH N_("Same command as MODASINH but the sequence must be specified as the first argument. In addition, the optional argument <b>-prefix=</b> can be used to set a custom prefix")
#define STR_SEQMTF N_("Same command as MTF but for the sequence <b>sequencename</b>.\n\nThe output sequence name starts with the prefix \"mtf_\" unless otherwise specified with <b>-prefix=</b> option")
#define STR_SEQPLATESOLVE N_("Plate solve a sequence. A new sequence will be created with the prefix \"ps_\" if the input sequence is SER, otherwise, the images headers will be updated. In case of SER, providing the metadata is mandatory and the output sequence will be in the FITS cube format, as SER cannot store WCS data.\nIf WCS or other image metadata are erroneous or missing, arguments must be passed:\n  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 (not mandatory for astrometry.net).\n focal length and pixel size can be passed with <b>-focal=</b> (in mm) and <b>-pixelsize=</b> (in microns), overriding values from images and settings. See also options to solve blindly with local Astrometry.net\n\nFor faster star detection in big images, downsampling the image is possible with <b>-downscale</b>.\nThe solve can account for distortions using SIP convention with polynomials up to order 5. Default value is taken form the astrometry preferences. This can be changed with the option <b>-order=</b> giving a value between 1 and 5.\nWhen using Siril solver local catalogues or with local Astrometry.net, if the initial solve is not successful, the solver will search for a solution within a cone of radius specified with <b>-radius=</b> option. If no value is passed, the search radius is taken from the astrometry preferences. Siril near search can be disabled by passing a value of 0. (cannot be disabled for Astrometry.net).\nImages already solved will be skipped by default. This can be disabled by passing the option <b>-force</b>.\nUsing this command will update registration data unless the option <b>-noreg</b> is passed.\nYou can save the current solution as a distortion file with the option <b>-disto=</b>.\n\nImages can be either plate solved by Siril using a star catalogue and the global registration algorithm or by astrometry.net's local solve-field command (enabled with <b>-localasnet</b>).\n\n<b>Siril platesolver options: </b>\nThe limit magnitude of stars used for plate solving is automatically computed from the size of the field of view, but can be altered by passing a +offset or -offset value to <b>-limitmag=</b>, or simply an absolute positive value for the limit magnitude.\nThe choice of the star catalog is automatic unless the <b>-catalog=</b> option is passed: if local catalogs are installed, they are used, otherwise the choice is based on the field of view and limit magnitude. If the option is passed, it forces the use of the remote catalog given in argument, with possible values: tycho2, nomad, gaia, ppmxl, brightstars, apass.\nIf the computed field of view is larger than 5 degrees, star detection will be bounded to a cropped area around the center of the image unless <b>-nocrop</b> option is passed.\nWhen using online catalogues, a single catalogue extraction will be done for the entire sequence. If there is a lot of drift or different sampling, that may not succeed for all images. This can be disabled by passing the argument <b>-nocache</b>, in which case metadata from each image will be used (except for the forced values like center coordinates, pixel size and/or focal length).\n\n<b>Astrometry.net solver options:</b>\nPassing options <b>-blindpos</b> and/or <b>-blindres</b> enables to solve blindly for position and for resolution respectively. You can use these when solving an image with a completely unknown location and sampling")
#define STR_SEQPROFILE N_("Generates an intensity profile plot between 2 points in each image in the sequence. After the mandatory first argument stating the sequence to process, the other arguments are the same as for the <b>profile</b> command. If processing a sequence and it is desired to have the current image number and total number of images displayed in the format \"My Sequence (1 / 5)\", the given title should end with () (e.g. \"My Sequence ()\" and the numbers will be populated automatically)")
#define STR_SEQPSF N_("Same command as PSF but runs on sequences. This is similar to the one-star registration, except results can be used for photometry analysis rather than aligning images and the coordinates of the star can be provided by options.\nThis command is what is called internally by the menu that appears on right click in the image, with the PSF for the sequence entry. If registration data already exist for the sequence, they will can 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.\nThe follow star option can then be activated with the argument <b>-followstar</b>.\n\nResults will be displayed in the Plot tab, from which they can also be exported to a comma-separated values (CSV) file for external analysis.\n\nWhen 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.\n\nCurrently, 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. Arguments are mandatory: the sequence name must be provided (\".\" may be used to indicate the currently loaded sequence) and when headless it is mandatory to provide the coordinates of the star, with -at= allowing coordinates in pixels to be provided for the target star of -wcs= allowing J2000 equatorial coordinates to be provided")
#define STR_SEQRESAMPLE N_("Scales the sequence given in argument <b>sequencename</b>. Only selected images in the sequence are processed.\n\nThe scale factor is specified either by the <b>-scale=</b> argument or by setting the output width, height or maximum dimension using the <b>-width=</b>, <b>-height=</b> or <b>-maxdim=</b> options.\n\nAn interpolation method may be specified using the <b>-interp=</b> argument followed by one of the methods in the list <b>ne</b>[arest], <b>cu</b>[bic], <b>la</b>[nczos4], <b>li</b>[near], <b>ar</b>[ea]}.. Clamping is applied for cubic and lanczos interpolation.\n\nThe output sequence name starts with the prefix \"scaled_\" unless otherwise specified with <b>-prefix=</b> option")
#define STR_SEQRL N_("The same as the RL command, but applies to a sequence which must be specified as the first argument")
#define STR_SEQSB N_("The same as the SB command, but applies to a sequence which must be specified as the first argument")
#define STR_SEQSETMAG N_("Same as SETMAG command but for the loaded sequence.\n\nThis 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).\nThis command has the same goal as SETMAG but recomputes the reference magnitude for each image of the sequence where the reference star has been found.\nWhen 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.\nTo reset the reference star and magnitude offset, see SEQUNSETMAG")
#define STR_SEQSPLIT_CFA N_("Same command as SPLIT_CFA but for the sequence <b>sequencename</b>.\n\nThe output sequences names start with the prefix \"CFA_\" and a number unless otherwise specified with <b>-prefix=</b> option.\n<i>Limitation:</i> the sequence always outputs a sequence of FITS files, no matter the type of input sequence")
#define STR_SEQSTARNET N_("This command calls <a href=\"https://www.starnetastro.com/\">Starnet++</a> to remove stars from the sequence <b>sequencename</b>. See STARNET")
#define STR_SEQSTAT N_("Same command as STAT for sequence <b>sequencename</b>.\n\nData is saved as a csv file <b>output_file</b>.\nThe optional parameter defines the number of statistical values computed: <b>basic</b>, <b>main</b> (default) or <b>full</b> (more detailed but longer to compute).\n\t<b>basic</b> includes mean, median, sigma, bgnoise, min and max\n\t<b>main</b> includes basic with the addition of avgDev, MAD and the square root of BWMV\n\t<b>full</b> includes main with the addition of location and scale.\n\nIf <b>-cfa</b> is passed and the images are CFA, statistics are made on per-filter extractions")
#define STR_SEQSUBSKY N_("Same command as SUBSKY but for the sequence <b>sequencename</b>.\nDithering, required for low dynamic gradients, can be disabled with <b>-nodither</b>. Note that the <b>-existing</b> option is not available for sequence background removal, as the frames of a sequence are not necessarily always aligned.\n\nThe output sequence name starts with the prefix \"bkg_\" unless otherwise specified with <b>-prefix=</b> option. Only selected images in the sequence are processed")
#define STR_SEQTILT N_("Same command as TILT but for the sequence <b>sequencename</b>. It generally gives better results")
#define STR_SEQUNSETMAG N_("Resets the magnitude calibration and reference star for the sequence. See SEQSETMAG")
#define STR_SEQUPDATE_KEY N_("Same command as UPDATE_KEY but for the sequence <b>sequencename</b>. However, this command won't work on SER sequence")
#define STR_SEQWIENER N_("The same as the <b>WIENER</b> command, but applies to a sequence which must be specified as the first argument")
#define STR_SET N_("Updates a setting value, using its variable name, with the given value, or a set of values using an existing ini file with <b>-import=</b> option.\nSee GET to get values or the list of variables")
#define STR_SET16 N_("Forbids images to be saved with 32 bits per channel on processing, use 16 bits instead")
#define STR_SET32 N_("Allows images to be saved with 32 bits per channel on processing")
#define STR_SETCOMPRESS N_("Defines if images are compressed or not.\n\n<b>0</b> means no compression while <b>1</b> enables compression.\nIf compression is enabled, the type must be explicitly written in the option <b>-type=</b> (\"rice\", \"gzip1\", \"gzip2\").\nAssociated to the compression, the quantization value must be within [0, 256] range.\n\nFor example, \"setcompress 1 -type=rice 16\" sets the rice compression with a quantization of 16")
#define STR_SETCPU N_("Defines the number of processing threads used for calculation.\n\nCan 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 hyperthreading (Intel HT) is available. The default value is the maximum number of threads available, so this should mostly be used to limit processing power. This is reset on every Siril run. See also SETMEM")
#define STR_SETEXT N_("Sets the extension used and recognized by sequences.\n\nThe argument <b>extension</b> can be \"fit\", \"fts\" or \"fits\"")
#define STR_SETFINDSTAR N_("Defines stars detection parameters for FINDSTAR and REGISTER commands.\n\nPassing no parameter lists the current values.\nPassing <b>reset</b> resets all values to defaults. You can then still pass values after this keyword.\n\nConfigurable values:\n\n<b>-radius=</b> defines the radius of the initial search box and must be between 3 and 50.\n<b>-sigma=</b> defines the threshold above noise and must be greater than or equal to 0.05.\n<b>-roundness=</b> defines minimum star roundness and must between 0 and 0.95. <b>-maxR</b> allows an upper bound to roundness to be set, to visualize only the areas where stars are significantly elongated, do not change for registration.\n<b>-minA</b> and <b>-maxA</b> define limits for the minimum and maximum amplitude of stars to keep, normalized between 0 and 1.\n<b>-focal=</b> defines the focal length of the telescope.\n<b>-pixelsize=</b> defines the pixel size of the sensor.\n<b> -gaussian</b> and <b>-moffat</b> configure the solver model to be used (Gaussian is the default).\nIf Moffat is selected, <b>-minbeta=</b> defines the minimum value of beta for which candidate stars will be accepted and must be greater than or equal to 0.0 and less than 10.0.\n<b>-convergence=</b> defines the number of iterations performed to fit PSF and should be set between 1 and 3 (more tolerant).\n<b>-relax=</b> relaxes the 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)")
#define STR_SETMAG N_("Calibrates the magnitudes by selecting a star and giving the known apparent magnitude.\n\nAll PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. Note that the provided value must match the magnitude for the observation filter to be meaningful.\nTo reset the magnitude constant see UNSETMAG")
#define STR_SETMEM N_("Sets a new ratio of used memory on free memory.\n\n<b>Ratio</b> value should be between 0.05 and 2, depending on other activities of the machine. A higher ratio should allow siril to process faster, but setting the ratio of used memory above 1 will require the use of on-disk memory, which is very slow and unrecommended, even sometimes not supported, leading to system crash. A fixed amount of memory can also be set in the generic settings, with SET, instead of a ratio")
#define STR_SETPHOT N_("Gets or sets photometry settings, mostly used by 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, the active configuration will be printed.\n\nThe Aperture size is dynamic unless it is forced. If so, the <b>aperture</b> value from the settings is used. If dynamic, the radius of the aperture is defined by the supplied dynamic ratio (\"radius/half-FWHM\").\nAllowed values for the argument <b>-dyn_ratio</b> are in the range [1.0, 5.0]. A value outside this range will automatically set the aperture to the fixed value <b>-aperture</b>.\n\nGain is used only if not available from the FITS header")
#define STR_SETREF N_("Sets the reference image of the sequence given in first argument. <b>image_number</b> is the sequential number of the image in the sequence, not the number in the filename, starting at 1")
#define STR_SHOW N_("Shows a point on the loaded plate solved image using the temporary user annotations catalogue, based on its equatorial coordinates. The <b>-clear</b> option clears this catalogue first and can be used alone.\nSeveral points can be passed using a CSV file with the option <b>-list=</b> containing at least ra and dec columns. If the passed file also contains a column name, names will be used as tags in the image and listed in the Console, unless toggled off with the options <b>-notag</b> and <b>-nolog</b>.\n\nThis is only available from the GUI of Siril")
#define STR_SPCC N_("Run the Spectrophotometric Color Correction on the loaded platesolved image.\n\nThe limit magnitude of stars is automatically computed from the size of the field of view, but can be altered by passing a +offset or -offset value to <b>-limitmag=</b>, or simply an absolute positive value for the limit magnitude.\nThe star catalog used for SPCC is always Gaia DR3: by default the local Gaia DR3 xp_sampled catalog will be used if available but this can be overridden with <b>-catalog={gaia | localgaia}</b>.\n\nThe names of sensors and filters can be specified using the following options: <b>-monosensor=</b>, <b>-rfilter=</b>, <b>-gfilter=</b>, <b>-bfilter=</b> or <b>-oscsensor=</b>, <b>-oscfilter=</b>, <b>-osclpf=</b>; the name of the white reference can be specified using the <b>-whiteref=</b> option. In all cases the name must be provided exactly as it is in the combo boxes in the SPCC tool. Note that sensor, filter and white reference names may contain spaces: in this case when using them as arguments to the <b>spcc</b> command, the entire argument must be enclosed in quotation marks, for example \"-whiteref=Average Spiral Galaxy\".\n\nNarrowband mode can be selected using the argument <b>-narrowband</b>, in which case the previous filter arguments are ignored and NB filter wavelengths and bandwidths can be provided using <b>-rwl=</b>, <b>-rbw=</b>, <b>-gwl=</b>, <b>-gbw=</b>, <b>-bwl=</b> and <b>-bbw=</b>.\n\nIf one of the spectral data argument is omitted, the previously used value will be used.\n\nBackground reference outlier tolerance can be specified in sigma units using <b>-bgtol=lower,upper</b>: these default to -2.8 and +2.0.\n\nAtmospheric correction can be applied by passing <b>-atmos</b>. In this case the following optional arguments apply: <b>-obsheight=</b> specifies the observer's height above sea level in metres (default 10), <b>-pressure=</b> specifies local atmospheric pressure at the observing site in hPa, or <b>-slp=</b> specifies sea-level atmospheric pressure in hPa (default pressure is 1013.25 hPa at sea level)")
#define STR_SPCC_LIST N_("Print a list of SPCC names available for use to define sensors, filters or white references using the <b>spcc</b> command. This command requires an argument to set which list is printed: the options are <b>oscsensor</b>, <b>monosensor</b>, <b>redfilter</b>, <b>greenfilter</b>, <b>bluefilter</b>, <b>oscfilter</b>, <b>osclpf</b> or <b>whiteref</b>.\nNote that sensor, filter and white reference names may contain spaces: in this case when using them as arguments to the <b>spcc</b> command, the entire argument must be enclosed in quotation marks, for example \"-whiteref=Average Spiral Galaxy\"")
#define STR_SPLIT N_("Splits the loaded color image into three distinct files (one for each color) and saves them in <b>file1</b>.fit, <b>file2</b>.fit and <b>file3</b>.fit files. A last argument can optionally be supplied, <b>-hsl</b>, <b>-hsv</b> or <b>lab</b> to perform an HSL, HSV or CieLAB extraction. If no option are provided, the extraction is of RGB type, meaning no conversion is done")
#define STR_SPLIT_CFA N_("Splits the loaded CFA image into four distinct files (one for each channel) and saves them in files")
#define STR_SSO N_("Searches and displays Solar System objects in the current loaded and plate solved image's field of view, using the online IMCCE SkyBoT cone search tool. Use <b>-mag=</b> to change the limit magnitude, defaults to 20")
#define STR_STACK N_("Stacks the <b>sequencename</b> sequence, using options.\n\nRejection type:\nThe allowed types are: <b>sum</b>, <b>max</b>, <b>min</b>, <b>med</b> (or <b>median</b>) and <b>rej</b> (or <b>mean</b>). If no argument other than the sequence name is provided, sum stacking is assumed.\n\nStacking with rejection:\nTypes <b>rej</b> or <b>mean</b> require the use of additional arguments for rejection type and values. The rejection type is one of <b>n[one], p[ercentile], s[igma], m[edian], w[insorized], l[inear], g[eneralized], [m]a[d]</b> for Percentile, Sigma, Median, Winsorized, Linear-Fit, Generalized Extreme Studentized Deviate Test or k-MAD clipping. If omitted, the default Winsorized is used.\nThe <b>sigma low</b> and <b>sigma high</b> parameters of rejection are mandatory unless <b>none</b> is selected.\nOptionally, rejection maps can be created, showing where pixels were rejected in one (<b>-rejmap</b>) or two (<b>-rejmaps</b>, for low and high rejections) newly created images.\n\nNormalization of input images:\nFor <b>med</b> (or <b>median</b>) and <b>rej</b> (or <b>mean</b>) stacking types, different types of normalization are allowed: <b>-norm=add</b> for additive, <b>-norm=mul</b> for multiplicative. Options <b>-norm=addscale</b> and <b>-norm=mulscale</b> apply same normalization but with scale operations. <b>-nonorm</b> is the option to disable normalization. Otherwise addtive with scale method is applied by default.\n<b>-fastnorm</b> option specifies to use faster estimators for location and scale than the default IKSS.\n<b>-overlap_norm</b>, if passed, will compute normalization coeffcients on images overlaps instead of whole images (allowed only if <b>-maximize</b> is passed).\n\nOther options for rejection stacking:\nWeighting can be applied to the images of the sequences using the option <b>-weight=</b> followed by:\n<b>noise</b> to add larger weights to frames with lower background noise.\n<b>nbstack</b> to weight input images based on how many images were used to create them, useful for live stacking.\n<b>nbstars</b> or <b>wfwhm</b> to weight input images based on number of stars or wFWHM computed during registration step.\n<b>-feather=</b> option will apply a feathering mask on each image borders over the distance (in pixels) given in argument.\n\nOutputs:\nResult image name can be set with the <b>-out=</b> option. Otherwise, it will be named as <b>sequencename</b>_stacked.fit.\n<b>-output_norm</b> applies a normalization to rescale result in the [0, 1] range (median and mean stacking only).\n<b>-maximize</b> option will use registration data from the sequence to create a stacked image that encompasses all the images of the sequence (applicable to all methods except median stacking).\n<b>-upscale</b> option will upscale the sequence by a factor 2 prior to stacking using the registration data (applicable to all methods except median stacking).\n<b>-rgb_equal</b> will use normalization to equalize color image backgrounds, useful if PCC/SPCC or unlinked AUTOSTRETCH will not be used.\n<b>-32b</b> will override the bitdepth set in Preferences and save the stacked image in 32b.\n\n\nFiltering out images:\nImages to be stacked can be selected based on some filters, like manual selection or best FWHM, with some of the <b>-filter-*</b> options.\nSee the command reference for the complete documentation on this command")
#define STR_STACKALL N_("Opens all sequences in the current directory and stacks them with the optionally specified stacking type and filtering or with sum stacking. See STACK command for options description")
#define STR_STARNET N_("Calls <a href=\"https://www.starnetastro.com/\">StarNet</a> to remove stars from the loaded image.\n\n<b>Prerequisite:</b> StarNet is an external program, with no affiliation with Siril, and must be installed correctly prior the first use of this command, with the path to its CLI version installation correctly set in Preferences / Miscellaneous.\n\nThe starless image is loaded on completion, and a star mask image is created in the working directory unless the optional parameter <b>-nostarmask</b> is provided.\n\nOptionally, parameters may be passed to the command:\n- The option <b>-stretch</b> 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.\n- To improve star removal on images with very tight stars, the parameter <b>-upscale</b> 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.\n- The optional parameter <b>-stride=value</b> may be provided, however the author of StarNet <i>strongly</i> recommends that the default stride of 256 be used")
#define STR_START_LS N_("Initializes a livestacking session, using the optional calibration files and waits for input files to be provided by the LIVESTACK command until STOP_LS is called. Default processing will use shift-only registration and 16-bit processing because it's faster, it can be changed to rotation with <b>-rotate</b> and <b>-32bits</b>\n\n<i>Note that the live stacking commands put Siril in a state in which it's not able to process other commands. After START_LS, only LIVESTACK, STOP_LS and EXIT can be called until STOP_LS is called to return Siril in its normal, non-live-stacking, state</i>")
#define STR_STAT N_("Returns statistics of the current image, the basic list by default or the main list if <b>main</b> is passed. If a selection is made, statistics are computed within the selection. If <b>-cfa</b> is passed and the image is CFA, statistics are made on per-filter extractions")
#define STR_STOP_LS N_("Stops the live stacking session. Only possible after START_LS")
#define STR_SUBSKY N_("Computes a synthetic background gradient using either the polynomial function model of <b>degree</b> degrees or the RBF model (if <b>-rbf</b> is provided instead) and subtracts it from the image.\nThe 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.\nDithering, required for low dynamic gradients, can be enabled with <b>-dither</b>.\nFor RBF, the additional smoothing parameter is also available. To use pre-existing background samples (e.g. if you have set background samples using a Python script) the <b>-existing</b> argument must be used")
#define STR_SYNTHSTAR N_("Fixes imperfect stars from the loaded image. 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.\n\nFor best results synthstar should be run before stretching.\n\nThe 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.\n\nNo parameters are required for this command")
#define STR_SYNTHSTARUNCLIP N_("Re-profiles clipped stars of the loaded image to desaturate them, scaling the output so that all pixel values are &lt;= 1.0")

#define STR_THRESHLO N_("Replaces values below <b>level</b> in the loaded image with <b>level</b>")
#define STR_THRESHHI N_("Replaces values above <b>level</b> in the loaded image with <b>level</b>")
#define STR_THRESH N_("Replaces values below <b>lo</b> with <b>lo</b> and values above <b>hi</b> with <b>hi</b> in the loaded image")
#define STR_TILT N_("Computes the sensor tilt as the FWHM difference between the best and worst corner truncated mean values. The <b>clear</b> option allows to clear the drawing")
#define STR_TRIXEL N_("For developers.\n\nWithout any argument, lists all the trixels of level 3 visible in the plate-solved image. The stars from each trixel can then be shown with command CONESEARCH using <b>-trix=</b> followed by a visible trixel number\n\nWith argument <b>-p</b>, prints out all the valid stars from all the 512 level3 trixels to file \"trixels.csv\"")

#define STR_UNPURPLE N_("Applies a cosmetic filter to reduce effects of purple fringing on stars.\n\nIf the <b>-starmask</b> parameter is given, a star mask will be used to identify areas of the image to affect. If a Dynamic PSF has already been run, this will be used for the starmask, otherwise one will be created automatically. The <b>-mod=</b> parameter should be given a value somewhere around 0.14 to reduce the amount of purple. The <b>-thresh=</b> will specify the size modifier for each star in the starmask and should be large enough to cause the stars to be entirely processed without remaining purple fringing. The value should between 0 and 1, typically around 0.5.\nIf the <b>-starmask</b> parameter is not given, the purple reduction will be applied across the entire image for any purple pixels with a luminance value higher than the given <b>-thresh=</b>. In this case, the <b>-thresh=</b> value should be reasonably low. This mode is useful for starmasks or other images without nebula or galaxy")
#define STR_UNSELECT N_("Allows easy mass unselection of images in the sequence <b>sequencename</b> (from <b>from</b> to <b>to</b> included). See SELECT")
#define STR_UNSETMAG N_("Resets the magnitude calibration to 0. See SETMAG")
#define STR_UNSHARP N_("Applies an unsharp mask, actually a Gaussian filtered image  with sigma <b>sigma</b> and a blend with the parameter <b>amount</b> used as such: out = in * (1 + amount) + filtered * (-amount).\n\nSee also GAUSS, the same without blending")
#define STR_UPDATE_KEY N_("Updates FITS keyword. Please note that the validity of <b>value</b> is not checked. This verification is the responsibility of the user. It is also possible to delete a key with the <b>-delete</b> option in front of the name of the key to be deleted, or to modify the key with the <b>-modify</b> option. The latter must be followed by the key to be modified and the new key name. Finally, the <b>-comment</b> option, followed by text, adds a comment to the FITS header. Please note that any text containing spaces must be enclosed in double quotation marks")

#define STR_VISU N_("Displays the loaded image with <b>low</b> and <b>high</b> as the low and high threshold, GUI only")

#define STR_WAVELET N_("Computes the wavelet transform of the loaded image on (<b>nbr_layers</b>=1...n) layer(s) using linear (<b>type</b>=1) or bspline (<b>type</b>=2) version of the 'à trous' algorithm. The result is stored in a file as a structure containing the layers, ready for weighted reconstruction with WRECONS.\n\nSee also EXTRACT")
#define STR_WIENER N_("Restores an image using the Wiener deconvolution method.\n\nOptionally, a PSF created by MAKEPSF may be loaded using the argument <b>-loadpsf=<i>filename</i></b>.\n\nThe parameter <b>-alpha=</b> provides the Gaussian noise modelled regularization factor")
#define STR_WRECONS N_("Reconstructs to current image from the layers previously computed with wavelets and weighted with coefficients <b>c1</b>, <b>c2</b>, ..., <b>cn</b> according to the number of layers used for wavelet transform, after the use of WAVELET")

#endif /* SRC_CORE_COMMAND_DEF_H_ */
