def add_call_consensus_arguments(parser):
    """
    Add arguments to a parser for sub-command "call_consensus"
    :param parser: argeparse object
    :return:
    """
    parser.add_argument('-i', '--image_dir', type=str, required=True, help=
        '[REQUIRED] Path to a directory where all MarginPolish generated images are.'
        )
    parser.add_argument('-m', '--model_path', type=str, required=True, help
        =
        '[REQUIRED] Path to a trained model (pkl file). Please see our github page to see options.'
        )
    parser.add_argument('-b', '--batch_size', type=int, required=False,
        default=512, help=
        'Batch size for testing, default is 512. Please set to 512 or 1024 for a balanced execution time.'
        )
    parser.add_argument('-w', '--num_workers', type=int, required=False,
        default=8, help=
        'Number of workers to assign to the dataloader. Shouldg be 0 if using Docker.'
        )
    parser.add_argument('-o', '--output_dir', type=str, required=False,
        default='./output/', help='Path to the output directory.')
    parser.add_argument('-p', '--output_prefix', type=str, required=False,
        default='HELEN_prediction', help=
        'Prefix for the output file. Default is: HELEN_prediction')
    parser.add_argument('-g', '--gpu_mode', default=False, action=
        'store_true', help=
        'If set then PyTorch will use GPUs for inference. CUDA required.')
    parser.add_argument('-d_ids', '--device_ids', type=str, required=False,
        default=None, help=
        """List of gpu device ids to use for inference. Only used in distributed setting.
Example usage: --device_ids 0,1,2 (this will create three callers in id 'cuda:0, cuda:1 and cuda:2'
If none then it will use all available devices."""
        )
    parser.add_argument('-t', '--threads', type=int, required=False,
        default=16, help='Total available threads to use.')
    parser.add_argument('-c', '--callers', type=int, required=False,
        default=8, help=
        'Total number of callers to spawn if doing CPU inference in distributed mode.'
        )
    return parser
