Exemplo n.º 1
0
def test_ui_ring_slider_2d(recording=False):
    filename = "test_ui_ring_slider_2d"
    recording_filename = pjoin(DATA_DIR, filename + ".log.gz")
    expected_events_counts_filename = pjoin(DATA_DIR, filename + ".pkl")

    ring_slider_2d_test = ui.RingSlider2D()
    ring_slider_2d_test.center = (300, 300)
    ring_slider_2d_test.value = 90

    # Assign the counter callback to every possible event.
    event_counter = EventCounter()
    event_counter.monitor(ring_slider_2d_test)

    current_size = (600, 600)
    show_manager = window.ShowManager(size=current_size,
                                      title="DIPY Ring Slider")

    show_manager.ren.add(ring_slider_2d_test)

    if recording:
        # Record the following events
        # 1. Left Click on the handle and hold it
        # 2. Move to the left the handle and make 1.5 tour
        # 3. Release the handle
        # 4. Left Click on the handle and hold it
        # 5. Move to the right the handle and make 1 tour
        # 6. Release the handle
        show_manager.record_events_to_file(recording_filename)
        print(list(event_counter.events_counts.items()))
        event_counter.save(expected_events_counts_filename)

    else:
        show_manager.play_events_from_file(recording_filename)
        expected = EventCounter.load(expected_events_counts_filename)
        event_counter.check_counts(expected)
Exemplo n.º 2
0
                              max_value=5)
line_slider.on_change = translate_green_cube
"""
2D Ring Slider
==============
"""


def rotate_red_cube(slider):
    angle = slider.value
    previous_angle = slider.previous_value
    rotation_angle = angle - previous_angle
    cube_actor_1.RotateY(rotation_angle)


ring_slider = ui.RingSlider2D(text_template="{angle:5.1f}°")
ring_slider.center = (200, 200)
ring_slider.on_change = rotate_red_cube
"""
2D List Box
===========
"""

values = list(map(str, range(1, 50 + 1)))
listbox = ui.ListBox2D(values=values,
                       position=(300, 420),
                       size=(250, 160),
                       multiselection=True)


def _print_nb_selected_elements():
Exemplo n.º 3
0
    cube_mapper = window.vtk.vtkPolyDataMapper()
    cube_mapper.SetInputConnection(cube.GetOutputPort())
    cube_actor = window.vtk.vtkActor()
    cube_actor.SetMapper(cube_mapper)
    if color is not None:
        cube_actor.GetProperty().SetColor(color)
    return cube_actor


cube = cube_maker(color=(0, 0, 1), size=(20, 20, 20), center=(15, 0, 0))
"""
Now we'll add two sliders: one circular and one linear.
"""

ring_slider = ui.RingSlider2D(center=(740, 400),
                              initial_value=0,
                              text_template="{angle:5.1f}°")

line_slider = ui.LineSlider2D(center=(500, 250),
                              initial_value=0,
                              min_value=-10,
                              max_value=10)
"""
We can use a callback to rotate the cube with the ring slider.
"""


def rotate_cube(slider):
    angle = slider.value
    previous_angle = slider.previous_value
    rotation_angle = angle - previous_angle