def image_boxes( asset_path: str, tensor_image, tensor_boxes, rescale=1, dataformats="CHW", asset_rel_path: str = None, ): if not np: logger.warning(NUMPY_ERROR_MESSAGE) return UNKNOWN tensor_image = to_np(tensor_image) tensor_image = convert_to_HWC(tensor_image, dataformats) tensor_boxes = to_np(tensor_boxes) tensor_image = tensor_image.astype(np.float32) * calculate_scale_factor( tensor_image ) return make_image( asset_path, tensor_image.astype(np.uint8), rescale=rescale, rois=tensor_boxes, asset_rel_path=asset_rel_path, )
def video(asset_path, tensor, fps=4, content_type="gif"): if not np: logger.warning(NUMPY_ERROR_MESSAGE) return UNKNOWN tensor = to_np(tensor) tensor = prepare_video(tensor) # If user passes in uint8, then we don't need to rescale by 255 scale_factor = calculate_scale_factor(tensor) tensor = tensor.astype(np.float32) tensor = (tensor * scale_factor).astype(np.uint8) return make_video(asset_path, tensor, fps, content_type)
def image(asset_path, data, rescale=1, dataformats="CHW"): if not np: logger.warning(NUMPY_ERROR_MESSAGE) return UNKNOWN tensor = to_np(data) tensor = convert_to_HWC(tensor, dataformats) # Do not assume that user passes in values in [0, 255], use data type to detect scale_factor = calculate_scale_factor(tensor) tensor = tensor.astype(np.float32) tensor = (tensor * scale_factor).astype(np.uint8) return make_image(asset_path, tensor, rescale=rescale)