|
1 | 1 | from abc import ABC, abstractmethod |
2 | 2 | from collections.abc import Callable, Generator |
| 3 | +from contextlib import contextmanager |
3 | 4 | from datetime import datetime |
4 | 5 | from typing import Any |
5 | 6 |
|
@@ -141,6 +142,7 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
141 | 142 | """ |
142 | 143 | _buffer: Incomplete |
143 | 144 |
|
| 145 | + @fill_doc |
144 | 146 | def add_reference_channels( |
145 | 147 | self, |
146 | 148 | ref_channels: str | list[str] | tuple[str, ...], |
@@ -177,6 +179,8 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
177 | 179 | buffer <resources/implementations:StreamLSL>`. |
178 | 180 | """ |
179 | 181 |
|
| 182 | + @verbose |
| 183 | + @fill_doc |
180 | 184 | def anonymize( |
181 | 185 | self, |
182 | 186 | daysback: int | None = None, |
@@ -304,6 +308,8 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
304 | 308 | pick |
305 | 309 | """ |
306 | 310 |
|
| 311 | + @verbose |
| 312 | + @fill_doc |
307 | 313 | def filter( |
308 | 314 | self, |
309 | 315 | l_freq: float | None, |
@@ -395,6 +401,7 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
395 | 401 | The channel types. |
396 | 402 | """ |
397 | 403 |
|
| 404 | + @fill_doc |
398 | 405 | def get_channel_units( |
399 | 406 | self, |
400 | 407 | picks: str | list[str] | int | list[int] | ScalarIntArray | None = None, |
@@ -425,6 +432,7 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
425 | 432 | for micro (corresponds to ``1e-6``). |
426 | 433 | """ |
427 | 434 |
|
| 435 | + @fill_doc |
428 | 436 | def get_data( |
429 | 437 | self, |
430 | 438 | winsize: float | None = None, |
@@ -478,6 +486,8 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
478 | 486 | A copy of the channel positions, if available, otherwise ``None``. |
479 | 487 | """ |
480 | 488 |
|
| 489 | + @verbose |
| 490 | + @fill_doc |
481 | 491 | def notch_filter( |
482 | 492 | self, |
483 | 493 | freqs: float, |
@@ -546,6 +556,7 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
546 | 556 | def plot(self) -> None: |
547 | 557 | """Open a real-time stream viewer. Not implemented.""" |
548 | 558 |
|
| 559 | + @fill_doc |
549 | 560 | def pick( |
550 | 561 | self, |
551 | 562 | picks: str | list[str] | int | list[int] | ScalarIntArray | None = None, |
@@ -585,6 +596,8 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
585 | 596 | def record(self) -> None: |
586 | 597 | """Record the stream data to disk. Not implemented.""" |
587 | 598 |
|
| 599 | + @verbose |
| 600 | + @fill_doc |
588 | 601 | def rename_channels( |
589 | 602 | self, |
590 | 603 | mapping: dict[str, str] | Callable, |
@@ -625,6 +638,8 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
625 | 638 | The stream instance modified in-place. |
626 | 639 | """ |
627 | 640 |
|
| 641 | + @verbose |
| 642 | + @fill_doc |
628 | 643 | def set_channel_types( |
629 | 644 | self, |
630 | 645 | mapping: dict[str, str], |
@@ -689,6 +704,7 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
689 | 704 | _ref_channels: Incomplete |
690 | 705 | _ref_from: Incomplete |
691 | 706 |
|
| 707 | + @fill_doc |
692 | 708 | def set_eeg_reference( |
693 | 709 | self, |
694 | 710 | ref_channels: str | list[str] | tuple[str, ...], |
@@ -746,6 +762,8 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
746 | 762 | anonymize |
747 | 763 | """ |
748 | 764 |
|
| 765 | + @verbose |
| 766 | + @fill_doc |
749 | 767 | def set_montage( |
750 | 768 | self, |
751 | 769 | montage: str | DigMontage | None, |
@@ -825,6 +843,7 @@ class BaseStream(ABC, ContainsMixin, SetChannelsMixin): |
825 | 843 | def _check_not_epoched(self, name: str) -> None: |
826 | 844 | """Check that the stream is not being epoched.""" |
827 | 845 |
|
| 846 | + @contextmanager |
828 | 847 | def _interrupt_acquisition(self) -> Generator[None]: |
829 | 848 | """Context manager interrupting the acquisition thread.""" |
830 | 849 | _info: Incomplete |
|
0 commit comments