Пример #1
0
    global defaultLineWidth
    defaultQueryColor = query_color
    defaultPeekColor = peek_color
    defaultNodeSize = node_size
    defaultLineWidth = line_width


meshinfoparams = [
    color.ColorParameter('query_color',
                         defaultQueryColor,
                         tip="Color for the queried object."),
    color.ColorParameter('peek_color',
                         defaultPeekColor,
                         tip="Color for the peeked object."),
    parameter.IntRangeParameter('node_size',
                                widthRange,
                                defaultNodeSize,
                                tip="Node size."),
    parameter.IntRangeParameter('line_width',
                                widthRange,
                                defaultLineWidth,
                                tip="Line thickness for element edge.")
]

mainmenu.gfxdefaultsmenu.Meshes.addItem(
    oofmenu.OOFMenuItem("Mesh_Info",
                        callback=_setMeshInfoParams,
                        params=meshinfoparams,
                        ordering=1,
                        help="Set default parameters for Mesh Info displays.",
                        discussion="""<para>
Пример #2
0
    widthRange = (1, 10)


def _setMeshCSDefaults(menuitem, color, linewidth):
    global defaultMeshCSColor
    global defaultMeshCSLineWidth
    defaultMeshCSColor = color
    defaultMeshCSLineWidth = linewidth


meshcsdispparams = [
    color.ColorParameter('color',
                         value=defaultMeshCSColor,
                         tip="In which color?"),
    parameter.IntRangeParameter('linewidth',
                                widthRange,
                                defaultMeshCSLineWidth,
                                tip="Thickness of the line.")
]

mainmenu.gfxdefaultsmenu.Meshes.addItem(
    oofmenu.OOFMenuItem(
        "Cross_Section",
        callback=_setMeshCSDefaults,
        params=meshcsdispparams,
        ordering=3,
        help="Set default parameters for Mesh Cross Section displays.",
        discussion="""<para>

    Set default parameters for
    <link linkend="RegisteredClass-MeshCrossSectionDisplay"><classname>MeshCrossSectionDisplays</classname></link>.
    See <xref linkend="RegisteredClass-MeshCrossSectionDisplay"/> for the
Пример #3
0
defaultNodeSelSize = 2


def _setNodeSelParams(menuitem, color, size):
    global defaultNodeSelColor
    global defaultNodeSelSize
    defaultNodeSelColor = color
    defaultNodeSelSize = size


nodeselparams = [
    color.ColorParameter('color',
                         defaultNodeSelColor,
                         tip="Color for the selected nodes."),
    parameter.IntRangeParameter('size', (0, 10),
                                defaultNodeSelSize,
                                tip="Node size.")
]

mainmenu.gfxdefaultsmenu.Skeletons.addItem(
    oofmenu.OOFMenuItem(
        'Selected_Nodes',
        callback=_setNodeSelParams,
        ordering=2,
        params=nodeselparams,
        help="Set default parameters for displaying selected skeleton nodes.",
        discussion="""<para>

    Set default parameters for the
    <xref linkend="RegisteredClass-SkeletonNodeSelectionDisplay"/>,
    which displays the currently selected &skel; &nodes; in the graphics
Пример #4
0
                rval = (vals[0] + vals[1]) * dx / 2.0
                for i in range(1, len(vals) - 1):
                    rval += (vals[i] + vals[i + 1]) * dx / 2.0
                result.append(rval)

        return zip(self.sample_list, result)


DirectSampleSetRegistration(
    "Element Segments",
    ElementSegmentSampleSet,
    40,
    params=[
        parameter.IntRangeParameter(
            "n_points",
            # HACK:  This range should actually be unbounded above.
            [2, 25],
            tip="Number of sample points per element")
    ],
    sample_type=BENTLINE,
    tip='Evaluate data on line segments within Elements.',
    discussion=xmlmenudump.loadFile(
        'DISCUSSIONS/engine/reg/elementsegmentsample.xml'))

#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#


class PixelSampleSet(SampleSet):
    containedClass = PixelSample

    def __init__(self, **kwargs):
Пример #5
0
# Default parameters for boundary displays

defaultSkelBdyColor = color.orange
defaultSkelBdyLineWidth = 4

if config.dimension() == 2:
    widthRange = (0,10)
else:
    # In vtk, line widths of 0 cause errors
    widthRange = (1,10)

skelbdyparams = [
    color.ColorParameter('color', value=defaultSkelBdyColor,
                         tip="Color for the selected boundary."),
    parameter.IntRangeParameter('linewidth', widthRange,
                                defaultSkelBdyLineWidth,
                                tip="Line width for edge boundaries.")]

if config.dimension() == 2:
    defaultSkelBdyGlyphSize = 10
    skelbdyparams.append(
         parameter.IntRangeParameter('glyphsize', (0, 20),
                                     defaultSkelBdyGlyphSize,
                                     tip="Arrow size for edge boundaries."))

elif config.dimension() == 3:
    defaultSkelBdyGlyphSize = automatic.automatic
    defaultSkelBdyGlyphResolution = 20
    skelbdyparams.extend(
        [parameter.AutoNumericParameter(
                'glyphsize', 
Пример #6
0
defaultSegSelWidth = 2


def _setSegSelParams(menuitme, color, line_width):
    global defaultSegSelColor
    global defaultSegSelWidth
    defaultSegSelColor = color
    defaultSegSelWidth = line_width


segselparams = [
    color.ColorParameter('color',
                         defaultSegSelColor,
                         tip="Color for the selected segments."),
    parameter.IntRangeParameter('line_width', (0, 10),
                                defaultSegSelWidth,
                                tip="Line width.")
]

mainmenu.gfxdefaultsmenu.Skeletons.addItem(
    oofmenu.OOFMenuItem(
        'Selected_Segments',
        callback=_setSegSelParams,
        ordering=3,
        params=segselparams,
        help=
        "Set default parameters for displaying selected skeleton segments.",
        discussion="""<para>

    Set default parameters for the
    <xref linkend="RegisteredClass-SkeletonSegmentSelectionDisplay"/>,
Пример #7
0
    global defaultPixelInfoColor
    defaultPixelInfoColor = color
    global defaultLineWidth
    defaultLineWidth = line_width


##     global defaultOpacity
##     defaultOpacity = opacity

## if config.dimension() == 2:
pixelinfoparams = [
    color.ColorParameter('color',
                         defaultPixelInfoColor,
                         tip="Color for the queried pixel."),
    parameter.IntRangeParameter('line_width',
                                widthRange,
                                defaultLineWidth,
                                tip="Line width.")
]
## elif config.dimension() == 3:
##     pixelinfoparams = [color.ColorParameter('color', defaultPixelInfoColor,
##                                             tip="Color for the queried pixel."),
##                        parameter.FloatRangeParameter('opacity', (0., 1., 0.01),
##                                                    defaultOpacity,
##                                                    tip="Tint Opacity.")]

mainmenu.gfxdefaultsmenu.Pixels.addItem(
    oofmenu.OOFMenuItem(
        "Pixel_Info",
        callback=_setDefaultPixelParams,
        ordering=2,
        params=pixelinfoparams,
Пример #8
0
    def __call__(self, ms, selection):
        selection.start()
        selection.unselect(
            pixelselectioncourier.ElkcepsedSelection(
                ms, selection.getSelectionAsGroup(), self.neighbors))


if config.dimension() == 2:
    registeredclass.Registration(
        'Despeckle',
        SelectionModifier,
        Despeckle,
        ordering=2.0,
        params=[
            parameter.IntRangeParameter(
                'neighbors', (4, 8),
                8,
                tip="Select pixels with at least this many selected neighbors")
        ],
        tip=
        "Recursively select all pixels with a minimum number of selected neighbors. This fills in small holes in the selection.",
        discussion=xmlmenudump.loadFile(
            'DISCUSSIONS/common/menu/despeckle.xml'))

    registeredclass.Registration(
        'Elkcepsed',
        SelectionModifier,
        Elkcepsed,
        ordering=2.1,
        params=[
            parameter.IntRangeParameter(
                'neighbors', (1, 4),
Пример #9
0
defaultMoveNodeSize = 8


def _setDefaultMoveNodeParams(menuitem, color, size):
    global defaultMoveNodeSize
    global defaultMoveNodeColor
    defaultMoveNodeColor = color
    defaultMoveNodeSize = size


movenodeparams = [
    color.ColorParameter('color',
                         defaultMoveNodeColor,
                         tip="Color for the to-be-moved node."),
    parameter.IntRangeParameter('size', (0, 10, 1),
                                defaultMoveNodeSize,
                                tip="Node size.")
]

mainmenu.gfxdefaultsmenu.Skeletons.addItem(
    oofmenu.OOFMenuItem(
        'Moving_Nodes',
        callback=_setDefaultMoveNodeParams,
        params=movenodeparams,
        ordering=7,
        help="Set default parameters for the Move Node toolbox displays.",
        discussion="""<para>

    Set default parameters governing how the
    <link linkend="Section-Graphics-MoveNodes">Move Nodes Toolbox</link>
    displays the moving node in the graphics window.  See
Пример #10
0
    defaultSkelInfoQueryColor = query_color
    defaultSkelInfoPeekColor = peek_color
    defaultSkelInfoNodeSize = node_size
    defaultSkelInfoElemWidth = element_width
    defaultSkelInfoSgmtWidth = segment_width


skelinfoparams = [
    color.ColorParameter('query_color',
                         defaultSkelInfoQueryColor,
                         tip="Color for the queried objects."),
    color.ColorParameter('peek_color',
                         defaultSkelInfoPeekColor,
                         tip="Color for the peeked objects."),
    parameter.IntRangeParameter('node_size',
                                widthRange,
                                defaultSkelInfoNodeSize,
                                tip="Node size."),
    parameter.IntRangeParameter('element_width',
                                widthRange,
                                defaultSkelInfoElemWidth,
                                tip="Line width for elements."),
    parameter.IntRangeParameter('segment_width',
                                widthRange,
                                defaultSkelInfoSgmtWidth,
                                tip="Line width for segments.")
]

mainmenu.gfxdefaultsmenu.Skeletons.addItem(
    oofmenu.OOFMenuItem(
        'Skeleton_Info',
        callback=_setSkelInfoParams,
Пример #11
0
    global defaultSkelInfoLineWidth
    defaultSkelInfoQueryColor = query_color
    defaultSkelInfoPeekColor = peek_color
    defaultSkelInfoNodeSize = node_size
    defaultSkelInfoLineWidth = line_width


skelinfoparams = [
    color.ColorParameter('query_color',
                         defaultSkelInfoQueryColor,
                         tip="Color for the queried objects."),
    color.ColorParameter('peek_color',
                         defaultSkelInfoPeekColor,
                         tip="Color for the peeked objects."),
    parameter.IntRangeParameter('node_size',
                                widthRange,
                                defaultSkelInfoNodeSize,
                                tip="Node size."),
    parameter.IntRangeParameter(
        'line_width',
        widthRange,
        defaultSkelInfoLineWidth,
        tip="Line width for elements, faces, and segments.")
]

mainmenu.gfxdefaultsmenu.Skeletons.addItem(
    oofmenu.OOFMenuItem(
        'Skeleton_Info',
        callback=_setSkelInfoParams,
        ordering=1,
        params=skelinfoparams,
        help="Set default parameters for the skeleton info toolbox display.",
Пример #12
0
    elkcepsedDefault = 3
else:
    despeckleRange = (10, 26)
    despeckleDefault = 15
    elkcepsedRange = (1, 13)
    elkcepsedDefault = 9

registeredclass.Registration(
    'Despeckle',
    SelectionModifier,
    Despeckle,
    ordering=2.0,
    params=[
        parameter.IntRangeParameter(
            'neighbors',
            despeckleRange,
            despeckleDefault,
            tip="Select pixels with at least this many selected neighbors")
    ],
    tip=
    "Recursively select all pixels with a minimum number of selected neighbors. This fills in small holes in the selection.",
    discussion=xmlmenudump.loadFile('DISCUSSIONS/common/menu/despeckle.xml'))

registeredclass.Registration(
    'Elkcepsed',
    SelectionModifier,
    Elkcepsed,
    ordering=2.1,
    params=[
        parameter.IntRangeParameter(
            'neighbors',
Пример #13
0
    def whoChanged(self):
        return True  # call setParams


if debug.debug:
    registeredclass.Registration(
        "VoxelSetBdy",
        display.DisplayMethod,
        VoxelSetBdyDisplay,
        ordering=1000,
        layerordering=display.Linear,
        params=[
            parameter.IntParameter("category", 0),
            color.ColorParameter('color', color.RGBColor(0, 0.7, 0.3)),
            parameter.IntRangeParameter('line_width', (1, 10), 4)
        ],
        whoclasses=('Microstructure', ),
        tip="Display boundary loops of voxel categories")

# class Normal(enum.EnumClass("Positive", "Negative", "Any")):
#     pass

# class Direction(enum.EnumClass("X", "Y", "Z", "All")):
#     pass

# dirDict = {Direction("X") : 0,
#            Direction("Y") : 1,
#            Direction("Z") : 2,
#            Direction("All") : -1}
Пример #14
0
        self.operator = operator

    def select(self, skelctxt, selection):
        clist, plist = selection.trackerlist()
        courier = skeletonselectioncourier.FacesFromNodesCourier(
            skelctxt.getObject(), self.min_nodes,
            skelctxt.nodeselection.currentSelectionTracker(), clist, plist)
        self.operator.operate(selection, courier)


FaceSelectionModRegistration(
    'From Selected Nodes',
    FaceFromSelectedNodes,
    params=[
        parameter.IntRangeParameter(
            'min_nodes', (1, 3),
            value=1,
            tip="Select faces with at least this many selected nodes."),
        selectionoperators.SelectionOperatorParam('operator')
    ],
    ordering=_selectFromNodesOrdering,
    tip="Select every face containing selected nodes.")

#=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=#


class FaceFromSelectedSegments(FaceSelectionModifier):
    def __init__(self, min_segments, operator):
        self.min_segments = min_segments
        self.operator = operator

    def select(self, skelctxt, selection):
Пример #15
0
# In vtk, line widths of 0 cause errors
elif config.dimension() == 3:
    widthRange = (1, 10)

skeletonBoundaryDisplay = registeredclass.Registration(
    'Boundaries',
    display.DisplayMethod,
    SkeletonBoundaryDisplay,
    params=[
        SkeletonBoundaryListParameter('boundaries', [],
                                      tip="Boundaries to display."),
        color.ColorParameter('color',
                             value=color.gray50,
                             tip="Color for the displayed boundaries."),
        parameter.IntRangeParameter('linewidth',
                                    widthRange,
                                    4,
                                    tip="Line width for edge boundaries."),
        parameter.IntRangeParameter('dotsize',
                                    widthRange,
                                    4,
                                    tip="Dot radius for point boundaries."),
        parameter.IntRangeParameter('arrowsize', (0, 20),
                                    10,
                                    tip="Arrow size for edge boundaries.")
    ],
    ordering=1.0,
    layerordering=display.SemiLinear(2),
    whoclasses=('Skeleton', ),
    tip="Display some or all of the boundaries of the Skeleton",
    discussion=xmlmenudump.loadFile(
        'DISCUSSIONS/engine/reg/skeletonbdydisplay.xml'))