@@ -490,14 +490,17 @@ def set_segment_visibility(self, segment_id, visibility: bool) -> None:
490490 return
491491
492492 display_node = self ._segmentation_node .GetDisplayNode ()
493- display_node .SetSegmentVisibility (segment_id , visibility )
493+ if display_node :
494+ display_node .SetSegmentVisibility (segment_id , visibility )
494495
495496 def get_segment_visibility (self , segment_id ) -> bool | None :
496497 if segment_id not in self .get_segment_ids ():
497498 return None
498499
499500 display_node = self ._segmentation_node .GetDisplayNode ()
500- return display_node .GetSegmentVisibility (segment_id )
501+ if display_node :
502+ return display_node .GetSegmentVisibility (segment_id )
503+ return None
501504
502505 def set_opacity_mode (self , opacity_mode : SegmentationOpacityEnum ) -> None :
503506 if not self ._segmentation_node :
@@ -510,6 +513,8 @@ def get_opacity_mode(self) -> SegmentationOpacityEnum | None:
510513 if not self ._segmentation_node :
511514 return None
512515 display_node = self ._segmentation_node .GetDisplayNode ()
516+ if display_node is None :
517+ return None
513518 fill_visibility = display_node .GetVisibility2DFill ()
514519 outline_visibility = display_node .GetVisibility2DOutline ()
515520 if outline_visibility and not fill_visibility :
@@ -522,23 +527,29 @@ def get_2d_opacity(self) -> float | None:
522527 if not self ._segmentation_node :
523528 return None
524529 display_node = self ._segmentation_node .GetDisplayNode ()
525- return display_node .GetOpacity2DFill ()
530+ if display_node :
531+ return display_node .GetOpacity2DFill ()
532+ return None
526533
527534 def set_2d_opacity (self , opacity : float ) -> None :
528535 if not self ._segmentation_node :
529536 return
530537 display_node = self ._segmentation_node .GetDisplayNode ()
531- display_node .SetOpacity2DFill (opacity )
532- display_node .SetOpacity2DOutline (opacity )
538+ if display_node :
539+ display_node .SetOpacity2DFill (opacity )
540+ display_node .SetOpacity2DOutline (opacity )
533541
534542 def get_3d_opacity (self ) -> float | None :
535543 if not self ._segmentation_node :
536544 return None
537545 display_node = self ._segmentation_node .GetDisplayNode ()
538- return display_node .GetOpacity3D ()
546+ if display_node :
547+ return display_node .GetOpacity3D ()
548+ return None
539549
540550 def set_3d_opacity (self , opacity : float ) -> None :
541551 if not self ._segmentation_node :
542552 return
543553 display_node = self ._segmentation_node .GetDisplayNode ()
544- display_node .SetOpacity3D (opacity )
554+ if display_node :
555+ display_node .SetOpacity3D (opacity )
0 commit comments