Everything that I code more than twice during my PhD will end up here.
-
Defined class
Rectangle
which should help in all situations that involve handling of bounding boxes.class Rectangle(x_min, y_min, x_max, y_max) Methods: intersect_with(self, rect) resize_sides(self, ratio, bounds=None) draw(self, frame, color=255, thickness=1) get_binary_mask(self, mask_shape) Properties: tl_corner(self) br_corner(self) coords(self) area(self)
-
stitch_together(input_images, layout, resize_dim=None, off_x=None, off_y=None, bg_color=(0, 0, 0)):
Stitch together N input images into a bigger frame, using a grid layout. Input images can be either color or grayscale, but must all have the same size. Background color is black by default, but it can be changed with
bg_color
parameter.
-
dump_list(input_list, file_path)
Dump list to file, either in "txt" or binary ("pickle") mode. Dump mode is chosen accordingly to "file_path" extension.
load_list(file_path)
Load list from file, either in "txt" or binary ("pickle") mode. Load mode is chosen accordingly to "file_path" extension.
split_into_chunks(list_in, max_elements, shuffle=False)
Split a list a variable number of chunks of at most "max_elements" each.
-
get_file_list_recursively(top_directory, allowed_extension=[])
Get list of full paths of all files found under root directory "top_directory". If a list of allowed file extensions is provided, files are filtered according to this list.
-
read_image(path, channels_first, color=True, dtype=np.float32, resize_dim=None)
Reads an image from "path" and returns respecting the self explanatory parameters
write_image(img_path, img, channels_first=False, color_mode='RGB', resize_dim=None)
Writes an image into "img_path" file. If color, you must specify whether the color dimension is the first one or the last one with "channels_first", and the "color_mode" as well. Optionally one can resize the image.
normalize(img)
Normalizes an image between 0 and 255 and returns it as uint8.
-
resize_tensor(tensor, new_size)
Resizes a numeri tensor having shape (channels, h, w) into the new size (channels, new_h, new_w). Each channel is resized indipendently (good for feature maps).
crop_tensor(tensor, indexes)
Crops a numeric tensor having shape (channels, h, w) according to indexes in the form (h1,h2,w1,w2).