| | import json |
| | import os |
| | import pickle |
| | import random |
| | from glob import glob |
| |
|
| | import matplotlib.pyplot as plt |
| | import pandas as pd |
| | import seaborn as sns |
| | import streamlit as st |
| | from PIL import Image |
| |
|
| |
|
| | @st.cache(allow_output_mutation=True, max_entries=10, ttl=3600) |
| | def load_query(image_path): |
| | image = Image.open(image_path) |
| | width, height = image.size |
| |
|
| | new_width = width |
| | new_height = height |
| |
|
| | left = (width - new_width) / 2 |
| | top = (height - new_height) / 2 |
| | right = (width + new_width) / 2 |
| | bottom = (height + new_height) / 2 |
| |
|
| | |
| | cropped_image = image.crop( |
| | (left + 75, top + 145, right - 2025, bottom - 2915) |
| | ).resize((300, 300)) |
| |
|
| | return cropped_image |
| |
|
| |
|
| | |
| | @st.cache(allow_output_mutation=True, max_entries=10, ttl=3600) |
| | def load_chm_nns(image_path): |
| | image = Image.open(image_path) |
| | width, height = image.size |
| |
|
| | new_width = width |
| | new_height = height |
| |
|
| | left = (width - new_width) / 2 |
| | top = (height - new_height) / 2 |
| | right = (width + new_width) / 2 |
| | bottom = (height + new_height) / 2 |
| |
|
| | |
| | cropped_image = image.crop((left + 475, top + 140, right - 280, bottom - 2920)) |
| | return cropped_image |
| |
|
| |
|
| | @st.cache(allow_output_mutation=True, max_entries=10, ttl=3600) |
| | def load_chm_corrs(image_path): |
| | image = Image.open(image_path) |
| | width, height = image.size |
| |
|
| | new_width = width |
| | new_height = height |
| |
|
| | left = (width - new_width) / 2 |
| | top = (height - new_height) / 2 |
| | right = (width + new_width) / 2 |
| | bottom = (height + new_height) / 2 |
| |
|
| | |
| | cropped_image = image.crop((left + 475, top + 875, right - 280, bottom - 1810)) |
| | return cropped_image |
| |
|
| |
|
| | |
| |
|
| | |
| | @st.cache(allow_output_mutation=True, max_entries=10, ttl=3600) |
| | def load_knn_nns(image_path): |
| | image = Image.open(image_path) |
| | width, height = image.size |
| |
|
| | new_width = width |
| | new_height = height |
| |
|
| | left = (width - new_width) / 2 |
| | top = (height - new_height) / 2 |
| | right = (width + new_width) / 2 |
| | bottom = (height + new_height) / 2 |
| |
|
| | |
| | cropped_image = image.crop((left + 475, top + 510, right - 280, bottom - 2550)) |
| | return cropped_image |
| |
|
| |
|
| | |
| |
|
| | |
| | @st.cache(allow_output_mutation=True, max_entries=10, ttl=3600) |
| | def load_emd_nns(image_path): |
| | image = Image.open(image_path) |
| | width, height = image.size |
| |
|
| | new_width = width |
| | new_height = height |
| |
|
| | left = (width - new_width) / 2 |
| | top = (height - new_height) / 2 |
| | right = (width + new_width) / 2 |
| | bottom = (height + new_height) / 2 |
| |
|
| | |
| | cropped_image = image.crop((left + 10, top + 2075, right - 420, bottom - 925)) |
| | return cropped_image |
| |
|
| |
|
| | @st.cache(allow_output_mutation=True, max_entries=10, ttl=3600) |
| | def load_emd_corrs(image_path): |
| | image = Image.open(image_path) |
| | width, height = image.size |
| |
|
| | new_width = width |
| | new_height = height |
| |
|
| | left = (width - new_width) / 2 |
| | top = (height - new_height) / 2 |
| | right = (width + new_width) / 2 |
| | bottom = (height + new_height) / 2 |
| |
|
| | |
| | cropped_image = image.crop((left + 10, top + 2500, right - 20, bottom)) |
| | return cropped_image |
| |
|
| |
|
| | |
| |
|
| |
|
| | @st.cache() |
| | def convert_df(df): |
| | return df.to_csv().encode("utf-8") |
| |
|