Skip to content

Commit c14a22c

Browse files
authored
Merge pull request #627 from bnmajor/defer-codec-registration
Defer codec registration
2 parents 726e297 + d849a40 commit c14a22c

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

docs/conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
extensions = ['myst_parser',]
4040

4141
html_theme_options = dict(
42-
github_url='https://github.com/InsightSoftwareConsortium/itkwidgets'
42+
github_url='https://github.com/InsightSoftwareConsortium/itkwidgets',
43+
icon_links=[],
4344
)
4445

4546
# jupyterlite_config = jupyterlite_dir / "jupyterlite_config.json"

itkwidgets/__init__.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
"""itkwidgets: Interactive widgets to visualize images, point sets, and 3D geometry on the web."""
22

3-
from imjoy_rpc import register_default_codecs
4-
register_default_codecs()
5-
6-
from .imjoy import register_itkwasm_imjoy_codecs
7-
register_itkwasm_imjoy_codecs()
8-
93
from .viewer import Viewer, view
104

115
__all__ = [

itkwidgets/viewer.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@
1111
from ._type_aliases import Gaussians, Style, Image, PointSet
1212
from ._initialization_params import init_params_dict
1313
from ._method_types import deferred_methods
14+
from .imjoy import register_itkwasm_imjoy_codecs
1415
from .integrations import _detect_render_type, _get_viewer_image, _get_viewer_point_set
1516
from .integrations.environment import ENVIRONMENT, Env
1617
from .render_types import RenderType
1718
from .viewer_config import ITK_VIEWER_SRC, PYDATA_SPHINX_HREF, MUI_HREF
19+
from imjoy_rpc import register_default_codecs
1820

1921
__all__ = [
2022
"Viewer",
@@ -31,7 +33,14 @@ class ViewerRPC:
3133
def __init__(
3234
self, ui_collapsed=True, rotate=False, ui="pydata-sphinx", data=None
3335
):
36+
global _codecs_registered
3437
"""Create a viewer."""
38+
# Register codecs if they haven't been already
39+
if not _codecs_registered:
40+
register_default_codecs()
41+
register_itkwasm_imjoy_codecs()
42+
_codecs_registered = True
43+
3544
self._init_viewer_kwargs = dict(ui_collapsed=ui_collapsed, rotate=rotate, ui=ui)
3645
self.init_data = data
3746
self.img = display(HTML(f'<div />'), display_id=str(uuid.uuid4()))

0 commit comments

Comments
 (0)