11
11
from ._initialization_params import init_params_dict , init_key_aliases
12
12
from ._method_types import deferred_methods
13
13
from .integrations import _detect_render_type , _get_viewer_image , _get_viewer_point_sets
14
+ from .integrations .environment import IN_JUPYTERLITE
14
15
from .render_types import RenderType
15
16
from .viewer_config import ITK_VIEWER_SRC , PYDATA_SPHINX_HREF , MUI_HREF
16
17
@@ -35,8 +36,9 @@ def __init__(
35
36
self .init_data = {}
36
37
self .img = display (HTML (f'<div />' ), display_id = str (uuid .uuid4 ()))
37
38
self .wid = None
38
- self .viewer_event = threading .Event ()
39
- self .data_event = threading .Event ()
39
+ if not IN_JUPYTERLITE :
40
+ self .viewer_event = threading .Event ()
41
+ self .data_event = threading .Event ()
40
42
41
43
def _get_input_data (self ):
42
44
input_options = ["data" , "image" , "label_image" , "point_sets" ]
@@ -98,11 +100,13 @@ async def run(self, ctx):
98
100
config = config ,
99
101
)
100
102
_viewer_count += 1
101
- itk_viewer .registerEventListener (
102
- 'renderedImageAssigned' , self .set_event
103
- )
104
- # Once the viewer has been created any queued requests can be run
105
- asyncio .get_running_loop ().call_soon_threadsafe (self .viewer_event .set )
103
+ if not IN_JUPYTERLITE :
104
+ itk_viewer .registerEventListener (
105
+ 'renderedImageAssigned' , self .set_event
106
+ )
107
+ if not IN_JUPYTERLITE :
108
+ # Once the viewer has been created any queued requests can be run
109
+ asyncio .get_running_loop ().call_soon_threadsafe (self .viewer_event .set )
106
110
107
111
self .set_default_ui_values (itk_viewer )
108
112
self .itk_viewer = itk_viewer
@@ -155,13 +159,14 @@ def __init__(
155
159
self , ui_collapsed = True , rotate = False , ui = "pydata-sphinx" , ** add_data_kwargs
156
160
):
157
161
"""Create a viewer."""
158
- self .bg_jobs = bg .BackgroundJobManager ()
159
162
self .viewer_rpc = ViewerRPC (
160
163
ui_collapsed = ui_collapsed , rotate = rotate , ui = ui , ** add_data_kwargs
161
164
)
162
- self .queue = queue .Queue ()
163
- self .deferred_queue = queue .Queue ()
164
- self .bg_thread = self .bg_jobs .new (self .queue_worker )
165
+ if not IN_JUPYTERLITE :
166
+ self .bg_jobs = bg .BackgroundJobManager ()
167
+ self .queue = queue .Queue ()
168
+ self .deferred_queue = queue .Queue ()
169
+ self .bg_thread = self .bg_jobs .new (self .queue_worker )
165
170
api .export (self .viewer_rpc )
166
171
167
172
@property
@@ -190,7 +195,7 @@ def queue_worker(self):
190
195
loop .run_until_complete (task )
191
196
192
197
def queue_request (self , method , * args , ** kwargs ):
193
- if hasattr (self .viewer_rpc , 'itk_viewer' ):
198
+ if IN_JUPYTERLITE or hasattr (self .viewer_rpc , 'itk_viewer' ):
194
199
fn = getattr (self .viewer_rpc .itk_viewer , method )
195
200
fn (* args , ** kwargs )
196
201
elif method in deferred_methods ():
0 commit comments