File size: 2,651 Bytes
96a96d9 66ec950 d5465e6 66ec950 597cce4 6e7a74d 597cce4 6e7a74d 66ec950 e06688d 5aca4ad e2d5557 e06688d 96a96d9 590bb1b 98dff60 5aca4ad 98dff60 590bb1b e2d5557 17d778a e06688d 17d778a 96a96d9 e06688d 6e7a74d 96a96d9 6e61d26 e06688d 590bb1b e06688d 597cce4 d5465e6 17d778a 590bb1b 17d778a 98dff60 2403575 e06688d 17d778a d5465e6 17d778a b30ce1c 17d778a 98dff60 52a0611 17d778a e06688d 6e61d26 17d778a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
import os
import streamlit as st
import albumentations as A
from utils import (
load_augmentations_config,
get_arguments,
get_placeholder_params,
select_transformations,
show_random_params,
)
from visuals import (
select_image,
show_credentials,
show_docstring,
get_transormations_params,
)
# TODO: refactor all the new code
# get CLI params: the path to images and image width
path_to_images, width_original = get_arguments()
if not os.path.isdir(path_to_images):
st.title("There is no directory: " + path_to_images)
else:
# select interface type
interface_type = st.sidebar.radio(
"Select the interface mode", ["Simple", "Professional"]
)
# select image
status, image = select_image(path_to_images, interface_type)
if status == 1:
st.title("Can't load image")
if status == 2:
st.title("Please, upload the image")
else:
# image was loaded successfully
placeholder_params = get_placeholder_params(image)
# load the config
augmentations = load_augmentations_config(
placeholder_params, "configs/augmentations.json"
)
# get list of transformations names
transform_names = select_transformations(augmentations, interface_type)
# get parameters for each transform
transforms = get_transormations_params(transform_names, augmentations)
try:
# apply the transformation to the image
data = A.ReplayCompose(transforms)(image=image)
error = 0
except ValueError:
error = 1
st.title(
"The error has occurred. Most probably you have passed wrong set of parameters. \
Check transforms that change the shape of image."
)
# proced only if everything is ok
if error == 0:
augmented_image = data["image"]
# show title
st.title("Demo of Albumentations")
# show the images
width_transformed = int(
width_original / image.shape[1] * augmented_image.shape[1]
)
st.image(image, caption="Original image", width=width_original)
st.image(
augmented_image, caption="Transformed image", width=width_transformed
)
# random values used to get transformations
show_random_params(data, interface_type)
# print additional info
for transform in transforms:
show_docstring(transform)
st.code(str(transform))
show_credentials()
|