              type=str.lower,
              dest="color_adjustment",
              default="avg-color",
              choices=PluginLoader.get_available_convert_plugins("color", True),
              group="plugins",
              help="R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment."))
          argument_list.append(dict(
              opts=("-M", "--mask-type"),
              action=Radio,
              type=str.lower,
              dest="mask_type",
 
</s> remove             group="plugins",
            help="R|The plugin to use to output the converted images. The writers are "
                 "configurable in '/config/convert.ini' or 'Settings > Configure Convert "
                 "Plugins:'"
                 "\nL|ffmpeg: [video] Writes out the convert straight to video. When the input "
                 "is a series of images then the '-ref' (--reference-video) parameter must be "
                 "set."
                 "\nL|gif: [animated image] Create an animated gif."
                 "\nL|opencv: [images] The fastest image writer, but less options and formats "
                 "than other plugins."
                 "\nL|pillow: [images] Slower than opencv, but has more options and supports "
                 "more formats."))
 </s> add             group=_("Plugins"),
            help=_("R|The plugin to use to output the converted images. The writers are "
                   "configurable in '/config/convert.ini' or 'Settings > Configure Convert "
                   "Plugins:'"
                   "\nL|ffmpeg: [video] Writes out the convert straight to video. When the input "
                   "is a series of images then the '-ref' (--reference-video) parameter must be "
                   "set."
                   "\nL|gif: [animated image] Create an animated gif."
                   "\nL|opencv: [images] The fastest image writer, but less options and formats "
                   "than other plugins."
                   "\nL|pillow: [images] Slower than opencv, but has more options and supports "
                   "more formats."))) </s> remove         argument_list.append({
            "opts": ("-a", "--alignments"),
            "action": FileFullPaths,
            "type": str,
            "group": "data",
            "required": True,
            "filetypes": "alignments",
            "help": "Full path to the alignments file to add the mask to. NB: if the mask already "
                    "exists in the alignments file it will be overwritten."})
        argument_list.append({
            "opts": ("-i", "--input"),
            "action": DirOrFileFullPaths,
            "type": str,
            "group": "data",
            "filetypes": "video",
            "required": True,
            "help": "Directory containing extracted faces, source frames, or a video file."})
        argument_list.append({
            "opts": ("-it", "--input-type"),
            "action": Radio,
            "type": str.lower,
            "choices": ("faces", "frames"),
            "dest": "input_type",
            "group": "data",
            "default": "frames",
            "help": "R|Whether the `input` is a folder of faces or a folder frames/video"
                    "\nL|faces: The input is a folder containing extracted faces."
                    "\nL|frames: The input is a folder containing frames or is a video"})
        argument_list.append({
            "opts": ("-M", "--masker"),
            "action": Radio,
            "type": str.lower,
            "choices": PluginLoader.get_available_extractors("mask"),
            "default": "extended",
            "group": "process",
            "help": "R|Masker to use."
                    "\nL|components: Mask designed to provide facial segmentation based on the "
                    "positioning of landmark locations. A convex hull is constructed around the "
                    "exterior of the landmarks to create a mask."
                    "\nL|extended: Mask designed to provide facial segmentation based on the "
                    "positioning of landmark locations. A convex hull is constructed around the "
                    "exterior of the landmarks and the mask is extended upwards onto the forehead."
                    "\nL|vgg-clear: Mask designed to provide smart segmentation of mostly frontal "
                    "faces clear of obstructions. Profile faces and obstructions may result in "
                    "sub-par performance."
                    "\nL|vgg-obstructed: Mask designed to provide smart segmentation of mostly "
                    "frontal faces. The mask model has been specifically trained to recognize "
                    "some facial obstructions (hands and eyeglasses). Profile faces may result in "
                    "sub-par performance."
                    "\nL|unet-dfl: Mask designed to provide smart segmentation of mostly frontal "
                    "faces. The mask model has been trained by community members and will need "
                    "testing for further description. Profile faces may result in sub-par "
                    "performance."})
        argument_list.append({
            "opts": ("-p", "--processing"),
            "action": Radio,
            "type": str.lower,
            "choices": ("all", "missing", "output"),
            "default": "missing",
            "group": "process",
            "help": "R|Whether to update all masks in the alignments files, only those faces "
                    "that do not already have a mask of the given `mask type` or just to output "
                    "the masks to the `output` location."
                    "\nL|all: Update the mask for all faces in the alignments file."
                    "\nL|missing: Create a mask for all faces in the alignments file where a mask "
                    "does not previously exist."
                    "\nL|output: Don't update the masks, just output them for review in the given "
                    "output folder."})
        argument_list.append({
            "opts": ("-o", "--output-folder"),
            "action": DirFullPaths,
            "dest": "output",
            "type": str,
            "group": "output",
            "help": "Optional output location. If provided, a preview of the masks created will "
                    "be output in the given folder."})
        argument_list.append({
            "opts": ("-b", "--blur_kernel"),
            "action": Slider,
            "type": int,
            "group": "output",
            "min_max": (0, 9),
            "default": 3,
            "rounding": 1,
            "help": "Apply gaussian blur to the mask output. Has the effect of smoothing the "
                    "edges of the mask giving less of a hard edge. the size is in pixels. This "
                    "value should be odd, if an even number is passed in then it will be rounded "
                    "to the next odd number. NB: Only effects the output preview. Set to 0 for "
                    "off"})
        argument_list.append({
            "opts": ("-t", "--threshold"),
            "action": Slider,
            "type": int,
            "group": "output",
            "min_max": (0, 50),
            "default": 4,
            "rounding": 1,
            "help": "Helps reduce 'blotchiness' on some masks by making light shades white "
                    "and dark shades black. Higher values will impact more of the mask. NB: "
                    "Only effects the output preview. Set to 0 for off"})
        argument_list.append({
            "opts": ("-ot", "--output-type"),
            "action": Radio,
            "type": str.lower,
            "choices": ("combined", "masked", "mask"),
            "default": "combined",
            "group": "output",
            "help": "R|How to format the output when processing is set to 'output'."
                    "\nL|combined: The image contains the face/frame, face mask and masked face."
                    "\nL|masked: Output the face/frame as rgba image with the face masked."
                    "\nL|mask: Only output the mask as a single channel image."})
        argument_list.append({
            "opts": ("-f", "--full-frame"),
            "action": "store_true",
            "default": False,
            "group": "output",
            "help": "R|Whether to output the whole frame or only the face box when using "
                    "output processing. Only has an effect when using frames as input."})
 </s> add         argument_list.append(dict(
            opts=("-a", "--alignments"),
            action=FileFullPaths,
            type=str,
            group=_("data"),
            required=True,
            filetypes="alignments",
            help=_("Full path to the alignments file to add the mask to. NB: if the mask already "
                   "exists in the alignments file it will be overwritten.")))
        argument_list.append(dict(
            opts=("-i", "--input"),
            action=DirOrFileFullPaths,
            type=str,
            group=_("data"),
            filetypes="video",
            required=True,
            help=_("Directory containing extracted faces, source frames, or a video file.")))
        argument_list.append(dict(
            opts=("-it", "--input-type"),
            action=Radio,
            type=str.lower,
            choices=("faces", "frames"),
            dest="input_type",
            group=_("data"),
            default="frames",
            help=_("R|Whether the `input` is a folder of faces or a folder frames/video"
                   "\nL|faces: The input is a folder containing extracted faces."
                   "\nL|frames: The input is a folder containing frames or is a video")))
        argument_list.append(dict(
            opts=("-M", "--masker"),
            action=Radio,
            type=str.lower,
            choices=PluginLoader.get_available_extractors("mask"),
            default="extended",
            group=_("process"),
            help=_("R|Masker to use."
                   "\nL|components: Mask designed to provide facial segmentation based on the "
                   "positioning of landmark locations. A convex hull is constructed around the "
                   "exterior of the landmarks to create a mask."
                   "\nL|extended: Mask designed to provide facial segmentation based on the "
                   "positioning of landmark locations. A convex hull is constructed around the "
                   "exterior of the landmarks and the mask is extended upwards onto the forehead."
                   "\nL|vgg-clear: Mask designed to provide smart segmentation of mostly frontal "
                   "faces clear of obstructions. Profile faces and obstructions may result in "
                   "sub-par performance."
                   "\nL|vgg-obstructed: Mask designed to provide smart segmentation of mostly "
                   "frontal faces. The mask model has been specifically trained to recognize "
                   "some facial obstructions (hands and eyeglasses). Profile faces may result in "
                   "sub-par performance."
                   "\nL|unet-dfl: Mask designed to provide smart segmentation of mostly frontal "
                   "faces. The mask model has been trained by community members and will need "
                   "testing for further description. Profile faces may result in sub-par "
                   "performance.")))
        argument_list.append(dict(
            opts=("-p", "--processing"),
            action=Radio,
            type=str.lower,
            choices=("all", "missing", "output"),
            default="missing",
            group=_("process"),
            help=_("R|Whether to update all masks in the alignments files, only those faces "
                   "that do not already have a mask of the given `mask type` or just to output "
                   "the masks to the `output` location."
                   "\nL|all: Update the mask for all faces in the alignments file."
                   "\nL|missing: Create a mask for all faces in the alignments file where a mask "
                   "does not previously exist."
                   "\nL|output: Don't update the masks, just output them for review in the given "
                   "output folder.")))
        argument_list.append(dict(
            opts=("-o", "--output-folder"),
            action=DirFullPaths,
            dest="output",
            type=str,
            group=_("output"),
            help=_("Optional output location. If provided, a preview of the masks created will "
                   "be output in the given folder.")))
        argument_list.append(dict(
            opts=("-b", "--blur_kernel"),
            action=Slider,
            type=int,
            group=_("output"),
            min_max=(0, 9),
            default=3,
            rounding=1,
            help=_("Apply gaussian blur to the mask output. Has the effect of smoothing the "
                   "edges of the mask giving less of a hard edge. the size is in pixels. This "
                   "value should be odd, if an even number is passed in then it will be rounded "
                   "to the next odd number. NB: Only effects the output preview. Set to 0 for "
                   "off")))
        argument_list.append(dict(
            opts=("-t", "--threshold"),
            action=Slider,
            type=int,
            group=_("output"),
            min_max=(0, 50),
            default=4,
            rounding=1,
            help=_("Helps reduce 'blotchiness' on some masks by making light shades white "
                   "and dark shades black. Higher values will impact more of the mask. NB: "
                   "Only effects the output preview. Set to 0 for off")))
        argument_list.append(dict(
            opts=("-ot", "--output-type"),
            action=Radio,
            type=str.lower,
            choices=("combined", "masked", "mask"),
            default="combined",
            group=_("output"),
            help=_("R|How to format the output when processing is set to 'output'."
                   "\nL|combined: The image contains the face/frame, face mask and masked face."
                   "\nL|masked: Output the face/frame as rgba image with the face masked."
                   "\nL|mask: Only output the mask as a single channel image.")))
        argument_list.append(dict(
            opts=("-f", "--full-frame"),
            action="store_true",
            default=False,
            group=_("output"),
            help=_("R|Whether to output the whole frame or only the face box when using "
                   "output processing. Only has an effect when using frames as input."))) </s> remove             group="augmentation",
            help="Color augmentation helps make the model less susceptible to color "
                 "differences between the A and B sets, at an increased training time cost. "
                 "Enable this option to disable color augmentation."))
 </s> add             group=_("augmentation"),
            help=_("Color augmentation helps make the model less susceptible to color "
                   "differences between the A and B sets, at an increased training time cost. "
                   "Enable this option to disable color augmentation."))) </s> remove             group="Plugins",
            help="R|Masker to use. NB: The mask you require must exist within the alignments "
                 "file. You can add additional masks with the Mask Tool."
                 "\nL|none: Don't use a mask."
                 "\nL|components: Mask designed to provide facial segmentation based on the "
                 "positioning of landmark locations. A convex hull is constructed around the "
                 "exterior of the landmarks to create a mask."
                 "\nL|extended: Mask designed to provide facial segmentation based on the "
                 "positioning of landmark locations. A convex hull is constructed around the "
                 "exterior of the landmarks and the mask is extended upwards onto the forehead."
                 "\nL|vgg-clear: Mask designed to provide smart segmentation of mostly frontal "
                 "faces clear of obstructions. Profile faces and obstructions may result in "
                 "sub-par performance."
                 "\nL|vgg-obstructed: Mask designed to provide smart segmentation of mostly "
                 "frontal faces. The mask model has been specifically trained to recognize "
                 "some facial obstructions (hands and eyeglasses). Profile faces may result in "
                 "sub-par performance."
                 "\nL|unet-dfl: Mask designed to provide smart segmentation of mostly frontal "
                 "faces. The mask model has been trained by community members and will need "
                 "testing for further description. Profile faces may result in sub-par "
                 "performance."))
 </s> add             group=_("Plugins"),
            help=_("R|Masker to use. NB: The mask you require must exist within the alignments "
                   "file. You can add additional masks with the Mask Tool."
                   "\nL|none: Don't use a mask."
                   "\nL|components: Mask designed to provide facial segmentation based on the "
                   "positioning of landmark locations. A convex hull is constructed around the "
                   "exterior of the landmarks to create a mask."
                   "\nL|extended: Mask designed to provide facial segmentation based on the "
                   "positioning of landmark locations. A convex hull is constructed around the "
                   "exterior of the landmarks and the mask is extended upwards onto the forehead."
                   "\nL|vgg-clear: Mask designed to provide smart segmentation of mostly frontal "
                   "faces clear of obstructions. Profile faces and obstructions may result in "
                   "sub-par performance."
                   "\nL|vgg-obstructed: Mask designed to provide smart segmentation of mostly "
                   "frontal faces. The mask model has been specifically trained to recognize "
                   "some facial obstructions (hands and eyeglasses). Profile faces may result in "
                   "sub-par performance."
                   "\nL|unet-dfl: Mask designed to provide smart segmentation of mostly frontal "
                   "faces. The mask model has been trained by community members and will need "
                   "testing for further description. Profile faces may result in sub-par "
                   "performance."))) </s> remove             group="Plugins",
            help="R|Detector to use. Some of these have configurable settings in "
                 "'/config/extract.ini' or 'Settings > Configure Extract 'Plugins':"
                 "\nL|cv2-dnn: A CPU only extractor which is the least reliable and least "
                 "resource intensive. Use this if not using a GPU and time is important."
                 "\nL|mtcnn: Good detector. Fast on CPU, faster on GPU. Uses fewer resources "
                 "than other GPU detectors but can often return more false positives."
                 "\nL|s3fd: Best detector. Slow on CPU, faster on GPU. Can detect more faces and "
                 "fewer false positives than other GPU detectors, but is a lot more resource "
                 "intensive."))
 </s> add             group=_("Plugins"),
            help=_("R|Detector to use. Some of these have configurable settings in "
                   "'/config/extract.ini' or 'Settings > Configure Extract 'Plugins':"
                   "\nL|cv2-dnn: A CPU only extractor which is the least reliable and least "
                   "resource intensive. Use this if not using a GPU and time is important."
                   "\nL|mtcnn: Good detector. Fast on CPU, faster on GPU. Uses fewer resources "
                   "than other GPU detectors but can often return more false positives."
                   "\nL|s3fd: Best detector. Slow on CPU, faster on GPU. Can detect more faces "
                   "and fewer false positives than other GPU detectors, but is a lot more "
                   "resource intensive.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
              type=str.lower,
              dest="color_adjustment",
              default="avg-color",
              choices=PluginLoader.get_available_convert_plugins("color", True),
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
            group=_("Plugins"),
            help=_("R|Performs color adjustment to the swapped face. Some of these options have "
                   "configurable settings in '/config/convert.ini' or 'Settings > Configure "
                   "Convert Plugins':"
                   "\nL|avg-color: Adjust the mean of each color channel in the swapped "
                   "reconstruction to equal the mean of the masked area in the original image."
                   "\nL|color-transfer: Transfers the color distribution from the source to the "
                   "target image using the mean and standard deviations of the L*a*b* "
                   "color space."
                   "\nL|manual-balance: Manually adjust the balance of the image in a variety of "
                   "color spaces. Best used with the Preview tool to set correct values."
                   "\nL|match-hist: Adjust the histogram of each color channel in the swapped "
                   "reconstruction to equal the histogram of the masked area in the original "
                   "image."
                   "\nL|seamless-clone: Use cv2's seamless clone function to remove extreme "
                   "gradients at the mask seam by smoothing colors. Generally does not give "
                   "very satisfactory results."
                   "\nL|none: Don't perform color adjustment.")))
          argument_list.append(dict(
              opts=("-M", "--mask-type"),
              action=Radio,
              type=str.lower,
              dest="mask_type",
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Add Locale support for cli arguments 
lib/cli/args.py