Raheeb Hassan
Add code + LFS attributes
398659b
"""Local ROI-VAE compression package.
This package was previously named `compression`, but was renamed to `vae` to
avoid colliding with optional third-party imports (e.g. via Gradio/fsspec).
It intentionally uses lazy attribute loading to keep import-time overhead low.
"""
from __future__ import annotations
from importlib import import_module
from typing import TYPE_CHECKING
__all__ = [
"TIC",
"ModifiedTIC",
"load_checkpoint",
"compute_padding",
"compress_image",
"highlight_roi",
"create_comparison_grid",
"RSTB",
"CausalAttentionModule",
]
_EXPORTS: dict[str, tuple[str, str]] = {
"TIC": (".tic_model", "TIC"),
"ModifiedTIC": (".roi_tic", "ModifiedTIC"),
"load_checkpoint": (".roi_tic", "load_checkpoint"),
"compute_padding": (".utils", "compute_padding"),
"compress_image": (".utils", "compress_image"),
"highlight_roi": (".visualization", "highlight_roi"),
"create_comparison_grid": (".visualization", "create_comparison_grid"),
"RSTB": (".RSTB", "RSTB"),
"CausalAttentionModule": (".RSTB", "CausalAttentionModule"),
}
def __getattr__(name: str):
if name not in _EXPORTS:
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
module_name, attr_name = _EXPORTS[name]
module = import_module(module_name, package=__name__)
value = getattr(module, attr_name)
globals()[name] = value
return value
if TYPE_CHECKING:
from .RSTB import CausalAttentionModule, RSTB
from .roi_tic import ModifiedTIC, load_checkpoint
from .tic_model import TIC
from .utils import compress_image, compute_padding
from .visualization import create_comparison_grid, highlight_roi