コード例 #1
0
ファイル: callbacks.py プロジェクト: ominux/dipole-simulator
def handle_click_in_slice_browser_mode(widget, markers, state, x, y, x_idx,
                                       y_idx, evoked, img_data):
    state['slice_coord'][x_idx]['val'] = x
    state['slice_coord'][y_idx]['val'] = y
    state['crosshair_pos'][x_idx] = x
    state['crosshair_pos'][y_idx] = y

    remove_dipole_arrows(widget)
    remove_dipole_pos_markers(widget, markers, state)
    remove_dipole_ori_markers(widget, markers, state)

    widget['label']['dipole_pos'].value = 'Not set'
    widget['label']['dipole_ori'].value = 'Not set'

    state['dipole_pos']['x'] = None
    state['dipole_pos']['y'] = None
    state['dipole_pos']['z'] = None
    state['dipole_ori']['x'] = None
    state['dipole_ori']['y'] = None
    state['dipole_ori']['z'] = None

    # widget['fig'][x_idx].axes[0].clear()
    # widget['fig'][y_idx].axes[0].clear()
    # widget['fig'][x_idx].axes[0].images = []
    # widget['fig'][x_idx].axes[0].texts = []
    # widget['fig'][y_idx].axes[0].images = []
    # widget['fig'][y_idx].axes[0].texts = []

    plot_slice(widget, state, x_idx, x, img_data)
    plot_slice(widget, state, y_idx, y, img_data)

    enable_crosshair_cursor(widget)
    reset_topomaps(widget=widget, evoked=evoked)
コード例 #2
0
ファイル: dipole.py プロジェクト: ominux/dipole-simulator
def update_dipole_ori(dipole_ori_ras, ras_to_head_t, widget, evoked):
    dipole_ori_head = apply_trans(trans=ras_to_head_t,
                                  pts=(dipole_ori_ras['x'],
                                       dipole_ori_ras['y'],
                                       dipole_ori_ras['z']))
    dipole_ori_head /= 1000
    dipole_ori_head = dict(x=dipole_ori_head[0],
                           y=dipole_ori_head[1],
                           z=dipole_ori_head[2])

    label_text = (f"x={int(round(dipole_ori_ras['x']))}, "
                  f"y={int(round(dipole_ori_ras['y']))}, "
                  f"z={int(round(dipole_ori_ras['z']))} [mm, MRI RAS] ⟶ "
                  f"x={round(dipole_ori_head['x'], 3)}, "
                  f"y={round(dipole_ori_head['y'], 3)}, "
                  f"z={round(dipole_ori_head['z'], 3)} [m, MNE Head]")
    widget['label']['dipole_ori'].value = label_text
    reset_topomaps(widget=widget, evoked=evoked)
コード例 #3
0
    def _handle_reset_button_click(self, button):
        self._toggle_updating_state()
        widget = self._widget
        markers = self._markers
        state = self._state

        widget['preset_dropdown'].value = 'Select Preset…'
        remove_dipole_arrows(widget=widget)
        remove_dipole_pos_markers(widget=widget, markers=markers, state=state)
        remove_dipole_ori_markers(widget=widget, markers=markers, state=state)

        self._state = self._init_state()
        self._plot_slice(axis='all')
        reset_topomaps(widget=widget, evoked=self._evoked)
        widget['label']['dipole_pos'].value = 'Not set'
        widget['label']['dipole_ori'].value = 'Not set'
        widget['amplitude_slider'].value = (self
                                            ._state['dipole_amplitude'] * 1e9)
        self._enable_crosshair_cursor()
        self._toggle_updating_state()