def define_Dataset(dataset_opt):
    dataset_type = dataset_opt['dataset_type'].lower()
    print("dataset_type=",dataset_type)
    
    if dataset_type in ['l', 'low-quality', 'input-only']:
        from data.dataset_l import DatasetL as D

    # -----------------------------------------
    # denoising
    # -----------------------------------------
    elif dataset_type in ['dncnn', 'denoising']:
        print("dataset_type in dncnn denoising ")
        from data.dataset_dncnn import DatasetDnCNN as D
    elif dataset_type in ['gan_rw', 'denoising']:
        print("dataset_type in dhdn denoising ")
        from data.dataset_gan_rw import DatasetGAN_RW as D
    else:
        raise NotImplementedError('Dataset [{:s}] is not found.'.format(dataset_type))

    # print("*******dataset_opt**********",dataset_opt)
    dataset = D(dataset_opt)                                                                            #processing the datasets
    print('Dataset [{:s} - {:s}] is created.'.format(dataset.__class__.__name__, dataset_opt['name']))
    return dataset
