          "gui_radio": False,
          "group": "settings",
          "fixed": True,
      },
      "erosion": {
          "default": 0.0,
          "info": "Erosion kernel size as a percentage of the mask radius area.\nPositive "
                  "values apply erosion which reduces the size of the swapped area.\nNegative "
                  "values apply dilation which increases the swapped area.",
 
</s> remove     "radius": {
        "default": 3.0,
        "info": "Radius dictates how much blending should occur.\nThis figure is set as a "
                "percentage of the mask diameter to give the radius in pixels. Eg: for a mask "
                "with diameter 200px, a percentage of 6% would give a final radius of 3px.\n"
                "Higher percentage means more blending.",
        "datatype": float,
 </s> add     "kernel_size": {
        "default": 3,
        "info": "The kernel size dictates how much blending should occur.\n"
                "The size is the diameter of the kernel in pixels (calculated from a 128px mask). "
                " This value should be odd, if an even number is passed in then it will be "
                "rounded to the next odd number. Higher sizes means more blending.",
        "datatype": int, </s> remove         "min_max": (0.1, 25.0),
 </s> add         "min_max": (1, 9), </s> remove     """ Compiled faces into a single image """
 </s> add     """ Compiles the 2 rows of sample faces (original and swapped) into a single image

    Parameters
    ----------
    size: int
        The size of each individual face sample in pixels
    padding: int
        The amount of extra padding to apply to the outside of the face
    tk_vars: dict
        Global tkinter variables. `Refresh` and `Busy` :class:`tkinter.BooleanVar`

    Attributes
    ----------
    update_source: bool
        Flag to indicate that the source images for the preview have been updated, so the preview
        should be recompiled.
    source: list
        The list of :class:`numpy.ndarray` source preview images for top row of display
    destination: list
        The list of :class:`numpy.ndarray` swapped and patched preview images for bottom row of
        display
    """ </s> remove             "choices": get_available_masks() + ["predicted"],
            "group": "plugins",
            "default": "predicted",
            "help": "R|Mask to use to replace faces. Blending of the masks can be adjusted in "
                    "'/config/convert.ini' or 'Settings > Configure Convert Plugins':"
                    "\nL|components: An improved face hull mask using a facehull of 8 facial "
                    "parts."
                    "\nL|dfl_full: An improved face hull mask using a facehull of 3 facial parts."
                    "\nL|extended: Based on components mask. Extends the eyebrow points to "
                    "further up the forehead. May perform badly on difficult angles."
                    "\nL|facehull: Face cutout based on landmarks."
                    "\nL|predicted: The predicted mask generated from the model. If the model was "
                    "not trained with a mask then this will fallback to "
                    "'{}'".format(get_default_mask()) +
                    "\nL|none: Don't use a mask."})
 </s> add             "type": str.lower,
            "choices": PluginLoader.get_available_extractors("mask",
                                                             add_none=True) + ["predicted"],
            "default": "extended",
            "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."})
    "threshold": {
        "default": 4,
        "info": "Sets pixels that are near white to white and near black to black. Set to 0 for "
                "off.",
        "datatype": int,
        "rounding": 1,
        "min_max": (0, 50),
        "choices": [],
        "gui_radio": False,
        "group": "settings",
        "fixed": True,
    },
          "gui_radio": False,
          "group": "settings",
          "fixed": True,
      },
    "threshold": {
        "default": 4,
        "info": "Sets pixels that are near white to white and near black to black. Set to 0 for "
                "off.",
        "datatype": int,
        "rounding": 1,
        "min_max": (0, 50),
        "choices": [],
        "gui_radio": False,
        "group": "settings",
        "fixed": True,
    },
      "erosion": {
          "default": 0.0,
          "info": "Erosion kernel size as a percentage of the mask radius area.\nPositive "
                  "values apply erosion which reduces the size of the swapped area.\nNegative "
                  "values apply dilation which increases the swapped area.",
keep keep keep add keep keep keep keep keep
 Smart Masks to Convert (#957)

- scripts.convert - Use Smart Masks for Convert
    * Make on-the-fly conversion an explicit option

- Move BlurMask to lib.faces_detect

- tools.preview - Fix for smart masks
    * Subclass from tk.Tk
    * Options to lib.gui.control_helper
    *variable cleanup

- lib.logger - Demote more tensorflow deprecation messages

- Documentation:
    * lib.faces_detect.BlurMask
    * plugins.convert.mask
    * lib.convert
    * scripts.convert
    * scripts.fsmedia
    * tools.preview 
plugins/convert/mask/mask_blend_defaults.py