4949 check_fname ,
5050 copy_function_doc_to_method_doc ,
5151 fill_doc ,
52+ legacy ,
5253 verbose ,
5354 warn ,
5455)
5556from ..utils .docs import docdict
5657from ..viz import plot_montage
57- from ._dig_montage_utils import _parse_brainvision_dig_montage , _read_dig_montage_egi
58+ from ._dig_montage_utils import (
59+ _parse_brainvision_dig_montage ,
60+ _read_dig_montage_curry ,
61+ _read_dig_montage_egi ,
62+ )
5863
5964
6065@dataclass
@@ -322,7 +327,6 @@ class DigMontage:
322327 See Also
323328 --------
324329 read_dig_captrak
325- read_dig_dat
326330 read_dig_egi
327331 read_dig_fif
328332 read_dig_hpts
@@ -757,6 +761,7 @@ def transform_to_head(montage):
757761 return montage
758762
759763
764+ @legacy (alt = "read_dig_curry()" )
760765def read_dig_dat (fname ):
761766 r"""Read electrode positions from a ``*.dat`` file.
762767
@@ -779,7 +784,7 @@ def read_dig_dat(fname):
779784 See Also
780785 --------
781786 read_dig_captrak
782- read_dig_dat
787+ read_dig_curry
783788 read_dig_egi
784789 read_dig_fif
785790 read_dig_hpts
@@ -845,9 +850,9 @@ def read_dig_fif(fname, *, verbose=None):
845850 See Also
846851 --------
847852 DigMontage
848- read_dig_dat
849853 read_dig_egi
850854 read_dig_captrak
855+ read_dig_curry
851856 read_dig_polhemus_isotrak
852857 read_dig_hpts
853858 read_dig_localite
@@ -898,7 +903,7 @@ def read_dig_hpts(fname, unit="mm"):
898903 --------
899904 DigMontage
900905 read_dig_captrak
901- read_dig_dat
906+ read_dig_curry
902907 read_dig_egi
903908 read_dig_fif
904909 read_dig_localite
@@ -991,7 +996,7 @@ def read_dig_egi(fname):
991996 --------
992997 DigMontage
993998 read_dig_captrak
994- read_dig_dat
999+ read_dig_curry
9951000 read_dig_fif
9961001 read_dig_hpts
9971002 read_dig_localite
@@ -1023,7 +1028,7 @@ def read_dig_captrak(fname):
10231028 See Also
10241029 --------
10251030 DigMontage
1026- read_dig_dat
1031+ read_dig_curry
10271032 read_dig_egi
10281033 read_dig_fif
10291034 read_dig_hpts
@@ -1037,6 +1042,51 @@ def read_dig_captrak(fname):
10371042 return make_dig_montage (** data )
10381043
10391044
1045+ def read_dig_curry (fname ):
1046+ """Read electrode locations from Neuroscan Curry files.
1047+
1048+ Parameters
1049+ ----------
1050+ fname : path-like
1051+ A valid Curry file.
1052+
1053+ Returns
1054+ -------
1055+ montage : instance of DigMontage | None
1056+ The montage.
1057+
1058+ See Also
1059+ --------
1060+ DigMontage
1061+ read_dig_captrak
1062+ read_dig_egi
1063+ read_dig_fif
1064+ read_dig_hpts
1065+ read_dig_localite
1066+ read_dig_polhemus_isotrak
1067+ make_dig_montage
1068+
1069+ Notes
1070+ -----
1071+ .. versionadded:: 1.11
1072+ """
1073+ from ..io .curry .curry import (
1074+ _check_curry_filename ,
1075+ _extract_curry_info ,
1076+ )
1077+
1078+ # TODO - REVIEW NEEDED
1079+ fname = _check_curry_filename (fname )
1080+ (_ , _ , ch_names , ch_types , ch_pos , landmarks , landmarkslabels , _ , _ , _ , _ , _ , _ ) = (
1081+ _extract_curry_info (fname )
1082+ )
1083+ data = _read_dig_montage_curry (
1084+ ch_names , ch_types , ch_pos , landmarks , landmarkslabels
1085+ )
1086+ mont = make_dig_montage (** data ) if data else None
1087+ return mont
1088+
1089+
10401090def read_dig_localite (fname , nasion = None , lpa = None , rpa = None ):
10411091 """Read Localite .csv file.
10421092
@@ -1060,7 +1110,7 @@ def read_dig_localite(fname, nasion=None, lpa=None, rpa=None):
10601110 --------
10611111 DigMontage
10621112 read_dig_captrak
1063- read_dig_dat
1113+ read_dig_curry
10641114 read_dig_egi
10651115 read_dig_fif
10661116 read_dig_hpts
@@ -1461,7 +1511,7 @@ def read_dig_polhemus_isotrak(fname, ch_names=None, unit="m"):
14611511 make_dig_montage
14621512 read_polhemus_fastscan
14631513 read_dig_captrak
1464- read_dig_dat
1514+ read_dig_curry
14651515 read_dig_egi
14661516 read_dig_fif
14671517 read_dig_localite
@@ -1821,8 +1871,8 @@ def make_standard_montage(kind, head_size="auto"):
18211871 Notes
18221872 -----
18231873 Individualized (digitized) electrode positions should be read in using
1824- :func:`read_dig_captrak`, :func:`read_dig_dat`, :func:`read_dig_egi `,
1825- :func:`read_dig_fif`, :func:`read_dig_polhemus_isotrak`,
1874+ :func:`read_dig_captrak`, :func:`read_dig_curry `,
1875+ :func:`read_dig_egi`, :func:` read_dig_fif`, :func:`read_dig_polhemus_isotrak`,
18261876 :func:`read_dig_hpts`, or manually made with :func:`make_dig_montage`.
18271877
18281878 .. versionadded:: 0.19.0
0 commit comments