针对pulse-transit的工具
This commit is contained in:
220
dist/client/mne/commands/mne_browse_raw.py
vendored
Normal file
220
dist/client/mne/commands/mne_browse_raw.py
vendored
Normal file
@@ -0,0 +1,220 @@
|
||||
r"""Browse raw data.
|
||||
|
||||
This uses :func:`mne.io.read_raw` so it supports the same formats
|
||||
(without keyword arguments).
|
||||
|
||||
Examples
|
||||
--------
|
||||
.. code-block:: console
|
||||
|
||||
$ mne browse_raw sample_audvis_raw.fif \
|
||||
--proj sample_audvis_ecg-proj.fif \
|
||||
--eve sample_audvis_raw-eve.fif
|
||||
"""
|
||||
|
||||
# Authors: The MNE-Python contributors.
|
||||
# License: BSD-3-Clause
|
||||
# Copyright the MNE-Python contributors.
|
||||
|
||||
import sys
|
||||
|
||||
import mne
|
||||
|
||||
|
||||
def run():
|
||||
"""Run command."""
|
||||
from mne.commands.utils import _add_verbose_flag, get_optparser
|
||||
from mne.viz import _RAW_CLIP_DEF
|
||||
|
||||
parser = get_optparser(__file__, usage="usage: %prog raw [options]")
|
||||
|
||||
parser.add_option(
|
||||
"--raw",
|
||||
dest="raw_in",
|
||||
help="Input raw FIF file (can also be specified "
|
||||
"directly as an argument without the --raw prefix)",
|
||||
metavar="FILE",
|
||||
)
|
||||
parser.add_option(
|
||||
"--proj", dest="proj_in", help="Projector file", metavar="FILE", default=""
|
||||
)
|
||||
parser.add_option(
|
||||
"--projoff",
|
||||
dest="proj_off",
|
||||
help="Disable all projectors",
|
||||
default=False,
|
||||
action="store_true",
|
||||
)
|
||||
parser.add_option(
|
||||
"--eve", dest="eve_in", help="Events file", metavar="FILE", default=""
|
||||
)
|
||||
parser.add_option(
|
||||
"-d",
|
||||
"--duration",
|
||||
dest="duration",
|
||||
type="float",
|
||||
help="Time window for plotting (s)",
|
||||
default=10.0,
|
||||
)
|
||||
parser.add_option(
|
||||
"-t",
|
||||
"--start",
|
||||
dest="start",
|
||||
type="float",
|
||||
help="Initial start time for plotting",
|
||||
default=0.0,
|
||||
)
|
||||
parser.add_option(
|
||||
"-n",
|
||||
"--n_channels",
|
||||
dest="n_channels",
|
||||
type="int",
|
||||
help="Number of channels to plot at a time",
|
||||
default=20,
|
||||
)
|
||||
parser.add_option(
|
||||
"-o",
|
||||
"--order",
|
||||
dest="group_by",
|
||||
help="Order to use for grouping during plotting ('type' or 'original')",
|
||||
default="type",
|
||||
)
|
||||
parser.add_option(
|
||||
"-p",
|
||||
"--preload",
|
||||
dest="preload",
|
||||
help="Preload raw data (for faster navigation)",
|
||||
default=False,
|
||||
action="store_true",
|
||||
)
|
||||
parser.add_option(
|
||||
"-s",
|
||||
"--show_options",
|
||||
dest="show_options",
|
||||
help="Show projection options dialog",
|
||||
default=False,
|
||||
)
|
||||
parser.add_option(
|
||||
"--allowmaxshield",
|
||||
dest="maxshield",
|
||||
help="Allow loading MaxShield processed data",
|
||||
action="store_true",
|
||||
)
|
||||
parser.add_option(
|
||||
"--highpass",
|
||||
dest="highpass",
|
||||
type="float",
|
||||
help="Display high-pass filter corner frequency",
|
||||
default=-1,
|
||||
)
|
||||
parser.add_option(
|
||||
"--lowpass",
|
||||
dest="lowpass",
|
||||
type="float",
|
||||
help="Display low-pass filter corner frequency",
|
||||
default=-1,
|
||||
)
|
||||
parser.add_option(
|
||||
"--filtorder",
|
||||
dest="filtorder",
|
||||
type="int",
|
||||
help="Display filtering IIR order (or 0 to use FIR)",
|
||||
default=4,
|
||||
)
|
||||
parser.add_option(
|
||||
"--clipping",
|
||||
dest="clipping",
|
||||
help="Enable trace clipping mode. Can be 'clamp', 'transparent', a float, "
|
||||
"or 'none'.",
|
||||
default=_RAW_CLIP_DEF,
|
||||
)
|
||||
parser.add_option(
|
||||
"--filterchpi",
|
||||
dest="filterchpi",
|
||||
help="Enable filtering cHPI signals.",
|
||||
default=None,
|
||||
action="store_true",
|
||||
)
|
||||
parser.add_option(
|
||||
"--butterfly",
|
||||
dest="butterfly",
|
||||
help="Plot in butterfly mode",
|
||||
default=False,
|
||||
action="store_true",
|
||||
)
|
||||
_add_verbose_flag(parser)
|
||||
options, args = parser.parse_args()
|
||||
|
||||
if len(args):
|
||||
raw_in = args[0]
|
||||
else:
|
||||
raw_in = options.raw_in
|
||||
duration = options.duration
|
||||
start = options.start
|
||||
n_channels = options.n_channels
|
||||
group_by = options.group_by
|
||||
preload = options.preload
|
||||
show_options = options.show_options
|
||||
proj_in = options.proj_in
|
||||
proj_off = options.proj_off
|
||||
eve_in = options.eve_in
|
||||
maxshield = options.maxshield
|
||||
highpass = options.highpass
|
||||
lowpass = options.lowpass
|
||||
filtorder = options.filtorder
|
||||
clipping = options.clipping
|
||||
if isinstance(clipping, str):
|
||||
if clipping.lower() == "none":
|
||||
clipping = None
|
||||
else:
|
||||
try:
|
||||
clipping = float(clipping) # allow float and convert it
|
||||
except ValueError:
|
||||
pass
|
||||
filterchpi = options.filterchpi
|
||||
verbose = options.verbose
|
||||
butterfly = options.butterfly
|
||||
|
||||
if raw_in is None:
|
||||
parser.print_help()
|
||||
sys.exit(1)
|
||||
|
||||
kwargs = dict(preload=preload)
|
||||
if maxshield:
|
||||
kwargs.update(allow_maxshield="yes")
|
||||
raw = mne.io.read_raw(raw_in, **kwargs)
|
||||
if len(proj_in) > 0:
|
||||
projs = mne.read_proj(proj_in)
|
||||
raw.info["projs"] = projs
|
||||
if len(eve_in) > 0:
|
||||
events = mne.read_events(eve_in)
|
||||
else:
|
||||
events = None
|
||||
|
||||
if filterchpi:
|
||||
if not preload:
|
||||
raise RuntimeError("Raw data must be preloaded for chpi, use --preload")
|
||||
raw = mne.chpi.filter_chpi(raw)
|
||||
|
||||
highpass = None if highpass < 0 or filtorder < 0 else highpass
|
||||
lowpass = None if lowpass < 0 or filtorder < 0 else lowpass
|
||||
raw.plot(
|
||||
duration=duration,
|
||||
start=start,
|
||||
n_channels=n_channels,
|
||||
group_by=group_by,
|
||||
show_options=show_options,
|
||||
events=events,
|
||||
highpass=highpass,
|
||||
lowpass=lowpass,
|
||||
filtorder=filtorder,
|
||||
clipping=clipping,
|
||||
butterfly=butterfly,
|
||||
proj=not proj_off,
|
||||
verbose=verbose,
|
||||
show=True,
|
||||
block=True,
|
||||
)
|
||||
|
||||
|
||||
mne.utils.run_command_if_main()
|
||||
Reference in New Issue
Block a user