示例#1
0
    def toggle_box(self):
        """toggle_box()

        If box model shown, then delete it. If not shown, and if no
        focus region in segment dialog, then quit. If not shown, and
        if focus region found, then get its transform and apply to
        box after creating box.
        """

        bm = self.box_model
        if bm.box_shown():
            bm.delete_box()
        else:
            # @ which data region is this??? should we do nothing???
            data_region = self.data_region()
            if data_region == None:
                return
            #VU 1.2129
            # xform = data_region.transform()
            import SegmentMenu
            from SegmentMenu import datamenuseg
            xform = datamenuseg.get_data_region_xform(data_region)
            if xform == None:
                return
            #VU 1.2129
            # box = data_region.xyz_region()
            import SegmentMenu
            from SegmentMenu import datamenuseg
            box = datamenuseg.get_data_region_bounds(data_region)
            bm.reshape_box(box, xform)
示例#2
0
    def sweep_out_box(self, pointer_x, pointer_y):
        """sweep_out_box(pointer_x, pointer_y)

        Create box if data region found and it has been transformed.
        """

        data_region = self.data_region()
        if data_region == None:
            return

        #VU 1.2129
        # xform = data_region.transform()
        import SegmentMenu
        from SegmentMenu import datamenuseg
        xform = datamenuseg.get_data_region_xform(data_region)
        if xform == None:
            return

        #VU 1.2129
        # bounds = data_region.xyz_region()
        import SegmentMenu
        from SegmentMenu import datamenuseg
        bounds = datamenuseg.get_data_region_bounds(data_region)

        from VolumeViewer import slice
        xyz_in, xyz_out = slice.box_intercepts(pointer_x, pointer_y,
                                               xform, bounds)

        if xyz_in == None or xyz_out == None:
            return

        if self.xyz_in == None:
            self.xyz_in = xyz_in
        if self.xyz_out == None:
            self.xyz_out = xyz_out

        box = bounding_box((xyz_in, xyz_out, self.xyz_in, self.xyz_out))
        self.box_model.reshape_box(box, xform)