Skip to content

Commit c1a7ccf

Browse files
committed
Rearranged keys and updated descriptions
1 parent edfb058 commit c1a7ccf

File tree

1 file changed

+51
-49
lines changed

1 file changed

+51
-49
lines changed

src/murfey/util/config.py

Lines changed: 51 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
4949
description=(
5050
"Name of the camera used by the TEM. This is only relevant for TEMs to "
5151
"determine how the gain reference needs to be processed, e.g., if it has "
52-
"to be binned down from superres or flipped along the x-/y-axis."
52+
"to be binned down from superres or flipped along the x- or y-axis. "
53+
"Options: 'FALCON', 'K3_FLIPX', 'K3_FLIPY'"
5354
),
5455
# NOTE:
5556
# Supported options: Falcon 4, Falcon 4I, K2, K3 (superres)
@@ -68,7 +69,7 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
6869
default="",
6970
description=(
7071
"State if the gain reference needs to be flipped along a specific axis. "
71-
"Options are 'x', 'y', or ''."
72+
"Options: 'x', 'y', or ''."
7273
),
7374
# NOTE: This is a placeholder for a key that will be implemented in the future
7475
)
@@ -78,7 +79,7 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
7879
"Nested dictionary containing the calibrations for this microscope. "
7980
"E.g., 'magnification' would be a valid dictionary, in which the "
8081
"field-of-view at each magnfication level is provided as a key-value "
81-
"pair."
82+
"pair. Options: 'magnification'"
8283
),
8384
)
8485

@@ -98,7 +99,7 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
9899
"key-value pairs."
99100
),
100101
)
101-
software_settings_output_directories: dict[str, list[Path]] = Field(
102+
software_settings_output_directories: dict[str, list[str]] = Field(
102103
default={},
103104
description=(
104105
"A dictionary in which the keys are the full file paths to the settings "
@@ -109,14 +110,6 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
109110
)
110111

111112
# Instrument-side file paths
112-
data_directories: dict[Path, str] = Field(
113-
default={},
114-
description=(
115-
"Dictionary of key-value pairs, where the keys are full paths to where "
116-
"data is stored on the client machine, and the value denotes the type "
117-
"of data stored at that path."
118-
),
119-
)
120113
data_required_substrings: dict[str, dict[str, list[str]]] = Field(
121114
default={},
122115
description=(
@@ -126,6 +119,14 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
126119
"processing."
127120
),
128121
)
122+
data_directories: dict[str, str] = Field(
123+
default={},
124+
description=(
125+
"Dictionary of key-value pairs, where the keys are full paths to where "
126+
"data is stored on the client machine, and the value denotes the type "
127+
"of data stored at that path."
128+
),
129+
)
129130
create_directories: dict[str, str] = Field(
130131
default={"atlas": "atlas"},
131132
description=(
@@ -157,8 +158,9 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
157158
"be a string, with '{visit}' and '{year}' being optional arguments that "
158159
"can be embedded in the string. E.g.: /home/user/data/{year}/{visit}"
159160
),
160-
) # Only if Falcon is used
161-
# To avoid others having to follow the {year}/{visit} format we are doing
161+
# Only if Falcon is used
162+
# To avoid others having to follow the {year}/{visit} format we are doing
163+
)
162164

163165
"""
164166
Data transfer-related settings
@@ -260,41 +262,6 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
260262
# users to add more processing options to their workflow
261263
)
262264

263-
# Extra plugins for data acquisition(?)
264-
external_executables: dict[str, Path] = Field(
265-
default={},
266-
description=(
267-
"Dictionary containing additional software packages to be used as part of "
268-
"the processing workflow. The keys are the names of the packages and the "
269-
"values are the full paths to where the executables are located."
270-
),
271-
)
272-
external_executables_eer: dict[str, Path] = Field(
273-
default={},
274-
description=(
275-
"A similar dictionary, but for the executables associated with processing "
276-
"EER files."
277-
),
278-
# NOTE: Both external_executables variables should be combined into one. The
279-
# EER ones could be their own key, where different software packages are
280-
# provided for different file types in different workflows.
281-
)
282-
external_environment: dict[str, str] = Field(
283-
default={},
284-
description=(
285-
"Dictionary containing full paths to supporting files and executables that "
286-
"are needed to run the executables to be used. These paths will be added "
287-
"to the $PATH environment variable."
288-
),
289-
)
290-
plugin_packages: dict[str, Path] = Field(
291-
default={},
292-
description=(
293-
"Dictionary containing full paths to additional plugins for Murfey that "
294-
"help support the workflow."
295-
),
296-
)
297-
298265
# TEM-related processing workflows
299266
recipes: dict[str, str] = Field(
300267
default={
@@ -345,6 +312,41 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
345312
),
346313
)
347314

315+
# Extra plugins for data acquisition(?)
316+
external_executables: dict[str, Path] = Field(
317+
default={},
318+
description=(
319+
"Dictionary containing additional software packages to be used as part of "
320+
"the processing workflow. The keys are the names of the packages and the "
321+
"values are the full paths to where the executables are located."
322+
),
323+
)
324+
external_executables_eer: dict[str, Path] = Field(
325+
default={},
326+
description=(
327+
"A similar dictionary, but for the executables associated with processing "
328+
"EER files."
329+
),
330+
# NOTE: Both external_executables variables should be combined into one. The
331+
# EER ones could be their own key, where different software packages are
332+
# provided for different file types in different workflows.
333+
)
334+
external_environment: dict[str, str] = Field(
335+
default={},
336+
description=(
337+
"Dictionary containing full paths to supporting files and executables that "
338+
"are needed to run the executables to be used. These paths will be added "
339+
"to the $PATH environment variable."
340+
),
341+
)
342+
plugin_packages: dict[str, Path] = Field(
343+
default={},
344+
description=(
345+
"Dictionary containing full paths to additional plugins for Murfey that "
346+
"help support the data collection and processing workflow."
347+
),
348+
)
349+
348350
"""
349351
Server and network-related configurations
350352
"""

0 commit comments

Comments
 (0)