コード例 #1
0
root = io.find_root_folder(folder)

# Load Camera objects
camera = io.load_camera(root)
print(f"Loaded Camera object: {camera}")

# Save location based on camera name
savefolder = camera.filename_analysis("bias", makefolders=True)

# Load the data
isos, means = io.load_means(folder, retrieve_value=io.split_iso)
print("Loaded data")

# Print statistics at each ISO
stats = analyse.statistics(means,
                           prefix_column=isos,
                           prefix_column_header="ISO")
print(stats)

# Range on the x axis for the histograms
xmin, xmax = analyse.symmetric_percentiles(means, percent=0.001)

# Loop over the data and make plots at each ISO value
for ISO, mean in zip(isos, means):
    save_to_histogram = savefolder / f"bias_histogram_iso{ISO}.pdf"
    save_to_maps = savefolder / f"bias_map_iso{ISO}.pdf"

    camera.plot_histogram_RGB(mean,
                              xmin=xmin,
                              xmax=xmax,
                              xlabel="Bias (ADU)",
# Load Camera object
camera = io.load_camera(root)
print(f"Loaded Camera object: {camera}")

# Save locations
savefolder = camera.filename_analysis("readnoise", makefolders=True)

# Load the data
isos, stds = io.load_stds(folder, retrieve_value=io.split_iso)

# Normalise the data using the ISO look-up table
stds_normalised = camera.normalise_iso(isos, stds)

# Print statistics at each ISO
stats = analyse.statistics(stds_normalised,
                           prefix_column=isos,
                           prefix_column_header="ISO")
print(stats)

# Range on the x axis for the histograms
xmin, xmax = 0., analyse.symmetric_percentiles(stds_normalised)[1]

# Loop over the data and make plots at each ISO value
for ISO, std in zip(isos, stds_normalised):
    save_to_histogram = savefolder / f"readnoise_normalised_histogram_iso{ISO}.pdf"
    save_to_maps = savefolder / f"readnoise_normalised_map_iso{ISO}.pdf"

    camera.plot_histogram_RGB(std,
                              xmin=xmin,
                              xmax=xmax,
                              xlabel="Read noise (norm. ADU)",
コード例 #3
0
        colorbar_here = plot.colorbar(img)
        ax.set_xticks([])
        ax.set_yticks([])
        if ax is axs[1]:
            colorbar_here.set_label("Pearson $r$")
        colorbar_here.locator = plot.ticker.MaxNLocator(nbins=4)
        colorbar_here.update_ticks()
    plt.savefig(save_to_map_JPEG)
    plt.close()
    print(f"Saved map of JPEG Pearson r to '{save_to_map_JPEG}'")

# Print comparative statistics on the RAW and JPEG (R/G/B) Pearson r values
if jpeg_data_available:
    r_all = np.stack([r_raw, *r_jpeg])
    labels = ["RAW", "JPEG R", "JPEG G", "JPEG B"]
    stats = analyse.statistics(r_all, prefix_column=labels, prefix_column_header="Channel")
    print(stats)

# Make an RGB histogram of the RAW r values
xmax = 1.
camera.plot_histogram_RGB(r_raw, xmax=xmax, xlabel="Pearson $r$", saveto=save_to_histogram_RGB)
print(f"Saved RGB histogram to '{save_to_histogram_RGB}'")

# Make a histogram comparing RAW and JPEG r values
if jpeg_data_available:
    bins = np.linspace(0.9, 1.0, 150)
    plt.figure(tight_layout=True, figsize=(5,2))
    plt.hist(r_raw.ravel(), bins=bins, color='k')
    for j, c in enumerate(plot.rgb):
        plt.hist(r_jpeg[j].ravel(), bins=bins, color=c, alpha=0.7)
    plt.xlabel("Pearson $r$")