Menu for pictures average program
I personally would suggest using argparse.
To make a simple one would be fairly easy, and could only require add_argument.
You only really need to know:


The first to arguments store a single letter argument such as -d, and a long version such as --directory.
It takes an argument of action='store_true' to make the variable a flag.
It takes help as the help text.


And so you could use:

import argparse

parser = argparse.ArgumentParser(prog='main avg')
parser.add_argument('-d', '--directory',
                    help='path to any directory, the program will generate the dataset, or calculate the average in the folder.')
parser.add_argument('--cd', action='store_true',
                    help='creates gray scale dataset.')
parser.add_argument('--cdrgb', action='store_true',
                    help='creates rgb scale dataset.')
parser.add_argument('--avg', action='store_true',
                    help='calculates the alignment and average of the picture in greyscale mode.')
parser.add_argument('--avgrgb', action='store_true',
                    help='calculates and outputs a rgb average, needs the data from -avg.')
parser.add_argument('--graph', action='store_true',
                    help='calculates and outputs the movement and angles graphs, needs the data from -avg.')
parser.add_argument('-s', action='store_true',
                    help='sound at the end of process.')

args = parser.parse_args()
if args.cd:
    run_create_test_dataset(args.directory)
elif args.cdrgb:
    run_create_rgb_dataset(args.directory)
...
else:
    print('No options chosen')


After this, you may want to look into add_mutually_exclusive_group, if they're mutually exclusive.