示例#1
0
def create_spectral_curve_for_ideal_data():
    # create_spectral_curve_from_dataloader(test_dataloader())
    create_spectral_curve_from_dataloader(indian_pines_dataloader())
    create_spectral_curve_from_dataloader(samson_dataloader())
    create_spectral_curve_from_dataloader(jasper_ridge_dataloader())
    create_spectral_curve_from_dataloader(salinas_dataloader())
    create_spectral_curve_from_dataloader(salinas_a_dataloader())
    create_spectral_curve_from_dataloader(pavia_dataloader())
def analyse_all_data_separately():
    print("Searching for spectral curve and labeled files")
    result_directories_with_dataloaders = {
        "./results/IndianPines/data/": indian_pines_dataloader(),
        "./results/JasperRidge/data/": jasper_ridge_dataloader(),
        "./results/Pavia/data/": pavia_dataloader(),
        "./results/Salinas/data/": salinas_dataloader(),
        "./results/SalinasA/data/": salinas_a_dataloader(),
        "./results/Samson/data/": samson_dataloader(),
        # "./result/tests/data":test_dataloader(),
    }

    # name: directory
    for path in result_directories_with_dataloaders:
        print()
        print()
        names_and_directories = {}
        print("\tPath: ", path)
        print("\tDataloader name: ",
              result_directories_with_dataloaders[path].get_name(False))

        # r=root, d=directories, f = files
        for r, d, f in os.walk(path):
            for file in f:
                if '.txt' in file and "spectral_curve" not in file and "report_" not in file:
                    names_and_directories[file] = os.path.join(r, file)

        print(names_and_directories)

        for file_name in names_and_directories:
            labels_image_path = names_and_directories[file_name]
            dataloader_for_this = result_directories_with_dataloaders[path]
            spectral_curve_path = \
                dataloader_for_this.get_results_directory(verbal=False) + "data/spectral_curve_" + file_name

            if os.path.exists(spectral_curve_path):
                print()
                print("\t File name:  ", file_name)
                print("\t Labels image path: ", labels_image_path)
                print("\t Spectral curve path: ", spectral_curve_path)
                print("\t Dataloader name: ",
                      dataloader_for_this.get_name(verbal=False))
                try:
                    single_analyse(dataloader_for_this, spectral_curve_path,
                                   labels_image_path)
                except NotEnoughLabelsError:
                    print("NotEnoughLabelsError")
                    print()
            else:
                print()
                print("FILE DOES NOT EXIST")
                print("File: ", spectral_curve_path)

            plt.close("all")
示例#3
0
def create_spectral_curve_for_existing_data():
    import os

    print("Searching for result files")
    result_directories_with_dataloaders = {
        "./results/IndianPines/data/": indian_pines_dataloader(),
        "./results/JasperRidge/data/": jasper_ridge_dataloader(),
        "./results/Pavia/data/": pavia_dataloader(),
        "./results/Salinas/data/": salinas_dataloader(),
        "./results/SalinasA/data/": salinas_a_dataloader(),
        "./results/Samson/data/": samson_dataloader(),
        # "./result/tests/data":test_dataloader(),
    }

    # name: directory
    for path in result_directories_with_dataloaders:
        names_and_directories = {}
        print("\tPath: ", path)
        print("\tDataloader name: ", result_directories_with_dataloaders[path].get_name(False))

        # r=root, d=directories, f = files
        for r, d, f in os.walk(path):
            for file in f:
                if '.txt' in file \
                        and "spectral_curve" not in file\
                        and "report_" not in file:
                    names_and_directories[file] = os.path.join(r, file)

        print(names_and_directories)

        for file_name in names_and_directories:
            from dataloader.result_dataloader import Dataloader as ResoultDataloader
            dataloader = ResoultDataloader()
            image_labels =\
                dataloader.get_image_labels_from_file(names_and_directories[file_name], verbal=False)

            # import matplotlib.pyplot as plt
            # plt.imshow(image)
            # plt.show()

            if file_name.endswith('.txt'):
                file_name = file_name[:-4]
            print("\t create_spectral_curve_from_dataloader_plus:  ", file_name)
            print("\t Dir: ", result_directories_with_dataloaders[path].get_name(False))
            create_spectral_curve_from_dataloader_plus(
                result_directories_with_dataloaders[path],
                image_labels,
                output_name=file_name,
                show_img=False)