Mercurial > repos > kls286 > chap_test_20230328
annotate build/lib/CHAP/models/map.py @ 1:1016ae8f31ec draft
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
| author | kls286 | 
|---|---|
| date | Tue, 28 Mar 2023 15:16:40 +0000 | 
| parents | cbbe42422d56 | 
| children | 
| rev | line source | 
|---|---|
| 
0
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
1 from functools import cache, lru_cache | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
2 import os | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
3 from typing import Literal, Optional, Union | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
4 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
5 import numpy as np | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
6 from pydantic import (BaseModel, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
7 conint, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
8 conlist, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
9 confloat, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
10 constr, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
11 FilePath, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
12 PrivateAttr, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
13 ValidationError, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
14 validator) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
15 from pyspec.file.spec import FileSpec | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
16 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
17 class Sample(BaseModel): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
18 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
19 Class representing a sample metadata configuration. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
20 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
21 :ivar name: The name of the sample. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
22 :type name: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
23 :ivar description: A description of the sample. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
24 :type description: Optional[str] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
25 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
26 name: constr(min_length=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
27 description: Optional[str] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
28 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
29 class SpecScans(BaseModel): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
30 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
31 Class representing a set of scans from a single SPEC file. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
32 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
33 :ivar spec_file: Path to the SPEC file. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
34 :type spec_file: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
35 :ivar scan_numbers: List of scan numbers to use. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
36 :type scan_numbers: list[int] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
37 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
38 spec_file: FilePath | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
39 scan_numbers: conlist(item_type=conint(gt=0), min_items=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
40 @validator('spec_file', allow_reuse=True) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
41 def validate_spec_file(cls, spec_file): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
42 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
43 Validate the specified SPEC file. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
44 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
45 :param spec_file: Path to the SPEC file. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
46 :type spec_file: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
47 :raises ValueError: If the SPEC file is invalid. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
48 :return: Absolute path to the SPEC file, if it is valid. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
49 :rtype: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
50 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
51 try: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
52 spec_file = os.path.abspath(spec_file) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
53 sspec_file = FileSpec(spec_file) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
54 except: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
55 raise(ValueError(f'Invalid SPEC file {spec_file}')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
56 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
57 return(spec_file) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
58 @validator('scan_numbers', allow_reuse=True) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
59 def validate_scan_numbers(cls, scan_numbers, values): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
60 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
61 Validate the specified list of scan numbers. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
62 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
63 :param scan_numbers: List of scan numbers. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
64 :type scan_numbers: list of int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
65 :param values: Dictionary of values for all fields of the model. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
66 :type values: dict | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
67 :raises ValueError: If a specified scan number is not found in the SPEC file. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
68 :return: List of scan numbers. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
69 :rtype: list of int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
70 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
71 spec_file = values.get('spec_file') | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
72 if spec_file is not None: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
73 spec_scans = FileSpec(spec_file) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
74 for scan_number in scan_numbers: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
75 scan = spec_scans.get_scan_by_number(scan_number) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
76 if scan is None: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
77 raise(ValueError(f'There is no scan number {scan_number} in {spec_file}')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
78 return(scan_numbers) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
79 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
80 @property | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
81 def scanparsers(self): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
82 '''A list of `ScanParser`s for each of the scans specified by the SPEC | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
83 file and scan numbers belonging to this instance of `SpecScans` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
84 ''' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
85 return([self.get_scanparser(scan_no) for scan_no in self.scan_numbers]) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
86 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
87 def get_scanparser(self, scan_number): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
88 """This method returns a `ScanParser` for the specified scan number in | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
89 the specified SPEC file. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
90 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
91 :param scan_number: Scan number to get a `ScanParser` for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
92 :type scan_number: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
93 :return: `ScanParser` for the specified scan number | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
94 :rtype: ScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
95 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
96 return(get_scanparser(self.spec_file, scan_number)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
97 def get_index(self, scan_number:int, scan_step_index:int, map_config): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
98 """This method returns a tuple representing the index of a specific step | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
99 in a specific spec scan within a map. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
100 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
101 :param scan_number: Scan number to get index for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
102 :type scan_number: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
103 :param scan_step_index: Scan step index to get index for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
104 :type scan_step_index: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
105 :param map_config: Map configuration to get index for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
106 :type map_config: MapConfig | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
107 :return: Index for the specified scan number and scan step index within | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
108 the specified map configuration | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
109 :rtype: tuple | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
110 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
111 index = () | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
112 for independent_dimension in map_config.independent_dimensions: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
113 coordinate_index = list(map_config.coords[independent_dimension.label]).index(independent_dimension.get_value(self, scan_number, scan_step_index)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
114 index = (coordinate_index, *index) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
115 return(index) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
116 def get_detector_data(self, detectors:list, scan_number:int, scan_step_index:int): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
117 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
118 Return the raw data from the specified detectors at the specified scan | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
119 number and scan step index. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
120 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
121 :param detectors: List of detector prefixes to get raw data for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
122 :type detectors: list[str] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
123 :param scan_number: Scan number to get data for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
124 :type scan_number: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
125 :param scan_step_index: Scan step index to get data for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
126 :type scan_step_index: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
127 :return: Data from the specified detectors for the specified scan number | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
128 and scan step index | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
129 :rtype: list[np.ndarray] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
130 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
131 return(get_detector_data(tuple([detector.prefix for detector in detectors]), self.spec_file, scan_number, scan_step_index)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
132 @cache | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
133 def get_available_scan_numbers(spec_file:str): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
134 scans = FileSpec(spec_file).scans | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
135 scan_numbers = list(scans.keys()) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
136 return(scan_numbers) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
137 @cache | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
138 def get_scanparser(spec_file:str, scan_number:int): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
139 if scan_number not in get_available_scan_numbers(spec_file): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
140 return(None) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
141 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
142 return(ScanParser(spec_file, scan_number)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
143 @lru_cache(maxsize=10) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
144 def get_detector_data(detector_prefixes:tuple, spec_file:str, scan_number:int, scan_step_index:int): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
145 detector_data = [] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
146 scanparser = get_scanparser(spec_file, scan_number) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
147 for prefix in detector_prefixes: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
148 image_data = scanparser.get_detector_data(prefix, scan_step_index) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
149 detector_data.append(image_data) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
150 return(detector_data) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
151 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
152 class PointByPointScanData(BaseModel): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
153 """Class representing a source of raw scalar-valued data for which a value | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
154 was recorded at every point in a `MapConfig`. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
155 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
156 :ivar label: A user-defined label for referring to this data in the NeXus | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
157 file and in other tools. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
158 :type label: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
159 :ivar units: The units in which the data were recorded. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
160 :type units: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
161 :ivar data_type: Represents how these data were recorded at time of data | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
162 collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
163 :type data_type: Literal['spec_motor', 'scan_column', 'smb_par'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
164 :ivar name: Represents the name with which these raw data were recorded at | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
165 time of data collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
166 :type name: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
167 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
168 label: constr(min_length=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
169 units: constr(strip_whitespace=True, min_length=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
170 data_type: Literal['spec_motor', 'scan_column', 'smb_par'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
171 name: constr(strip_whitespace=True, min_length=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
172 @validator('label') | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
173 def validate_label(cls, label): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
174 """Validate that the supplied `label` does not conflict with any of the | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
175 values for `label` reserved for certain data needed to perform | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
176 corrections. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
177 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
178 :param label: The value of `label` to validate | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
179 :type label: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
180 :raises ValueError: If `label` is one of the reserved values. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
181 :return: The original supplied value `label`, if it is allowed. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
182 :rtype: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
183 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
184 #if (not issubclass(cls,CorrectionsData)) and label in CorrectionsData.__fields__['label'].type_.__args__: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
185 if (not issubclass(cls,CorrectionsData)) and label in CorrectionsData.reserved_labels(): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
186 raise(ValueError(f'{cls.__name__}.label may not be any of the following reserved values: {CorrectionsData.reserved_labels()}')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
187 return(label) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
188 def validate_for_station(self, station:str): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
189 """Validate this instance of `PointByPointScanData` for a certain choice | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
190 of station (beamline). | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
191 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
192 :param station: The name of the station (in 'idxx' format). | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
193 :type station: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
194 :raises TypeError: If the station is not compatible with the value of the | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
195 `data_type` attribute for this instance of PointByPointScanData. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
196 :return: None | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
197 :rtype: None | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
198 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
199 if station.lower() not in ('id1a3', 'id3a') and self.data_type == 'smb_par': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
200 raise(TypeError(f'{self.__class__.__name__}.data_type may not be "smb_par" when station is "{station}"')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
201 def validate_for_spec_scans(self, spec_scans:list[SpecScans], scan_step_index:Union[Literal['all'],int]='all'): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
202 """Validate this instance of `PointByPointScanData` for a list of | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
203 `SpecScans`. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
204 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
205 :param spec_scans: A list of `SpecScans` whose raw data will be checked | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
206 for the presence of the data represented by this instance of | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
207 `PointByPointScanData` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
208 :type spec_scans: list[SpecScans] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
209 :param scan_step_index: A specific scan step index to validate, defaults | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
210 to `'all'`. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
211 :type scan_step_index: Union[Literal['all'],int], optional | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
212 :raises RuntimeError: If the data represented by this instance of | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
213 `PointByPointScanData` is missing for the specified scan steps. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
214 :return: None | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
215 :rtype: None | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
216 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
217 for scans in spec_scans: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
218 for scan_number in scans.scan_numbers: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
219 scanparser = scans.get_scanparser(scan_number) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
220 if scan_step_index == 'all': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
221 scan_step_index_range = range(scanparser.spec_scan_npts) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
222 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
223 scan_step_index_range = range(scan_step_index,scan_step_index+1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
224 for scan_step_index in scan_step_index_range: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
225 try: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
226 self.get_value(scans, scan_number, scan_step_index) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
227 except: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
228 raise(RuntimeError(f'Could not find data for {self.name} (data_type "{self.data_type}") on scan number {scan_number} in spec file {scans.spec_file}')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
229 def get_value(self, spec_scans:SpecScans, scan_number:int, scan_step_index:int): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
230 """Return the value recorded for this instance of `PointByPointScanData` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
231 at a specific scan step. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
232 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
233 :param spec_scans: An instance of `SpecScans` in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
234 :type spec_scans: SpecScans | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
235 :param scan_number: The number of the scan in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
236 :type scan_number: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
237 :param scan_step_index: The index of the requested scan step. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
238 :type scan_step_index: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
239 :return: The value recorded of the data represented by this instance of | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
240 `PointByPointScanData` at the scan step requested | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
241 :rtype: float | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
242 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
243 if self.data_type == 'spec_motor': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
244 return(get_spec_motor_value(spec_scans.spec_file, scan_number, scan_step_index, self.name)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
245 elif self.data_type == 'scan_column': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
246 return(get_spec_counter_value(spec_scans.spec_file, scan_number, scan_step_index, self.name)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
247 elif self.data_type == 'smb_par': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
248 return(get_smb_par_value(spec_scans.spec_file, scan_number, self.name)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
249 @cache | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
250 def get_spec_motor_value(spec_file:str, scan_number:int, scan_step_index:int, spec_mnemonic:str): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
251 """Return the value recorded for a SPEC motor at a specific scan step. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
252 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
253 :param spec_file: Location of a SPEC file in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
254 :type spec_scans: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
255 :param scan_number: The number of the scan in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
256 :type scan_number: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
257 :param scan_step_index: The index of the requested scan step. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
258 :type scan_step_index: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
259 :param spec_mnemonic: The menmonic of a SPEC motor. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
260 :type spec_mnemonic: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
261 :return: The value of the motor at the scan step requested | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
262 :rtype: float | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
263 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
264 scanparser = get_scanparser(spec_file, scan_number) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
265 if spec_mnemonic in scanparser.spec_scan_motor_mnes: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
266 motor_i = scanparser.spec_scan_motor_mnes.index(spec_mnemonic) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
267 if scan_step_index >= 0: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
268 scan_step = np.unravel_index(scan_step_index, scanparser.spec_scan_shape, order='F') | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
269 motor_value = scanparser.spec_scan_motor_vals[motor_i][scan_step[motor_i]] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
270 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
271 motor_value = scanparser.spec_scan_motor_vals[motor_i] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
272 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
273 motor_value = scanparser.get_spec_positioner_value(spec_mnemonic) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
274 return(motor_value) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
275 @cache | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
276 def get_spec_counter_value(spec_file:str, scan_number:int, scan_step_index:int, spec_column_label:str): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
277 """Return the value recorded for a SPEC counter at a specific scan step. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
278 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
279 :param spec_file: Location of a SPEC file in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
280 :type spec_scans: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
281 :param scan_number: The number of the scan in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
282 :type scan_number: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
283 :param scan_step_index: The index of the requested scan step. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
284 :type scan_step_index: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
285 :param spec_column_label: The label of a SPEC data column. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
286 :type spec_column_label: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
287 :return: The value of the counter at the scan step requested | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
288 :rtype: float | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
289 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
290 scanparser = get_scanparser(spec_file, scan_number) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
291 if scan_step_index >= 0: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
292 return(scanparser.spec_scan_data[spec_column_label][scan_step_index]) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
293 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
294 return(scanparser.spec_scan_data[spec_column_label]) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
295 @cache | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
296 def get_smb_par_value(spec_file:str, scan_number:int, par_name:str): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
297 """Return the value recorded for a specific scan in SMB-tyle .par file. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
298 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
299 :param spec_file: Location of a SPEC file in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
300 :type spec_scans: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
301 :param scan_number: The number of the scan in which the requested scan step occurs. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
302 :type scan_number: int | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
303 :param par_name: The name of the column in the .par file | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
304 :type par_name: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
305 :return: The value of the .par file value for the scan requested. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
306 :rtype: float | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
307 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
308 scanparser = get_scanparser(spec_file, scan_number) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
309 return(scanparser.pars[par_name]) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
310 def validate_data_source_for_map_config(data_source, values): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
311 import_scanparser(values.get('station'), values.get('experiment_type')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
312 data_source.validate_for_station(values.get('station')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
313 data_source.validate_for_spec_scans(values.get('spec_scans')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
314 return(data_source) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
315 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
316 class CorrectionsData(PointByPointScanData): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
317 """Class representing the special instances of `PointByPointScanData` that | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
318 are used by certain kinds of `CorrectionConfig` tools. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
319 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
320 :ivar label: One of the reserved values required by `CorrectionConfig`, | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
321 `'presample_intensity'`, `'postsample_intensity'`, or | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
322 `'dwell_time_actual'`. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
323 :type label: Literal['presample_intensity','postsample_intensity','dwell_time_actual'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
324 :ivar units: The units in which the data were recorded. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
325 :type units: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
326 :ivar data_type: Represents how these data were recorded at time of data | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
327 collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
328 :type data_type: Literal['scan_column', 'smb_par'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
329 :ivar name: Represents the name with which these raw data were recorded at | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
330 time of data collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
331 :type name: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
332 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
333 label: Literal['presample_intensity','postsample_intensity','dwell_time_actual'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
334 data_type: Literal['scan_column','smb_par'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
335 @classmethod | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
336 def reserved_labels(cls): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
337 """Return a list of all the labels reserved for corrections-related | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
338 scalar data. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
339 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
340 :return: A list of reserved labels | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
341 :rtype: list[str] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
342 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
343 return(list(cls.__fields__['label'].type_.__args__)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
344 class PresampleIntensity(CorrectionsData): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
345 """Class representing a source of raw data for the intensity of the beam that | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
346 is incident on the sample. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
347 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
348 :ivar label: Must be `"presample_intensity"` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
349 :type label: Literal["presample_intensity"] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
350 :ivar units: Must be `"counts"` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
351 :type units: Literal["counts"] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
352 :ivar data_type: Represents how these data were recorded at time of data | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
353 collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
354 :type data_type: Literal['scan_column', 'smb_par'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
355 :ivar name: Represents the name with which these raw data were recorded at | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
356 time of data collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
357 :type name: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
358 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
359 label: Literal['presample_intensity'] = 'presample_intensity' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
360 units: Literal['counts'] = 'counts' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
361 class PostsampleIntensity(CorrectionsData): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
362 """Class representing a source of raw data for the intensity of the beam that | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
363 has passed through the sample. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
364 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
365 :ivar label: Must be `"postsample_intensity"` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
366 :type label: Literal["postsample_intensity"] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
367 :ivar units: Must be `"counts"` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
368 :type units: Literal["counts"] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
369 :ivar data_type: Represents how these data were recorded at time of data | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
370 collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
371 :type data_type: Literal['scan_column', 'smb_par'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
372 :ivar name: Represents the name with which these raw data were recorded at | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
373 time of data collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
374 :type name: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
375 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
376 label: Literal['postsample_intensity'] = 'postsample_intensity' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
377 units: Literal['counts'] = 'counts' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
378 class DwellTimeActual(CorrectionsData): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
379 """Class representing a source of raw data for the actual dwell time at each | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
380 scan point in SPEC (with some scan types, this value can vary slightly | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
381 point-to-point from the dwell time specified in the command). | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
382 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
383 :ivar label: Must be `"dwell_time_actual"` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
384 :type label: Literal["dwell_time_actual"] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
385 :ivar units: Must be `"counts"` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
386 :type units: Literal["counts"] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
387 :ivar data_type: Represents how these data were recorded at time of data | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
388 collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
389 :type data_type: Literal['scan_column', 'smb_par'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
390 :ivar name: Represents the name with which these raw data were recorded at | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
391 time of data collection. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
392 :type name: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
393 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
394 label: Literal['dwell_time_actual'] = 'dwell_time_actual' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
395 units: Literal['s'] = 's' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
396 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
397 class MapConfig(BaseModel): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
398 """Class representing an experiment consisting of one or more SPEC scans. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
399 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
400 :ivar title: The title for the map configuration. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
401 :type title: str | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
402 :ivar station: The name of the station at which the map was collected. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
403 :type station: Literal['id1a3','id3a','id3b'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
404 :ivar spec_scans: A list of the spec scans that compose the map. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
405 :type spec_scans: list[SpecScans] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
406 :ivar independent_dimensions: A list of the sources of data representing the | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
407 raw values of each independent dimension of the map. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
408 :type independent_dimensions: list[PointByPointScanData] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
409 :ivar presample_intensity: A source of point-by-point presample beam | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
410 intensity data. Required when applying a CorrectionConfig tool. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
411 :type presample_intensity: Optional[PresampleIntensity] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
412 :ivar dwell_time_actual: A source of point-by-point actual dwell times for | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
413 spec scans. Required when applying a CorrectionConfig tool. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
414 :type dwell_time_actual: Optional[DwellTimeActual] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
415 :ivar presample_intensity: A source of point-by-point postsample beam | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
416 intensity data. Required when applying a CorrectionConfig tool with | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
417 `correction_type="flux_absorption"` or | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
418 `correction_type="flux_absorption_background"`. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
419 :type presample_intensity: Optional[PresampleIntensity] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
420 :ivar scalar_data: A list of the sources of data representing other scalar | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
421 raw data values collected at each point ion the map. In the NeXus file | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
422 representation of the map, datasets for these values will be included. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
423 :type scalar_values: Optional[list[PointByPointScanData]] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
424 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
425 title: constr(strip_whitespace=True, min_length=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
426 station: Literal['id1a3','id3a','id3b'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
427 experiment_type: Literal['SAXSWAXS', 'EDD', 'XRF'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
428 sample: Sample | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
429 spec_scans: conlist(item_type=SpecScans, min_items=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
430 independent_dimensions: conlist(item_type=PointByPointScanData, min_items=1) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
431 presample_intensity: Optional[PresampleIntensity] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
432 dwell_time_actual: Optional[DwellTimeActual] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
433 postsample_intensity: Optional[PostsampleIntensity] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
434 scalar_data: Optional[list[PointByPointScanData]] = [] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
435 _coords: dict = PrivateAttr() | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
436 _validate_independent_dimensions = validator('independent_dimensions', each_item=True, allow_reuse=True)(validate_data_source_for_map_config) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
437 _validate_presample_intensity = validator('presample_intensity', allow_reuse=True)(validate_data_source_for_map_config) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
438 _validate_dwell_time_actual = validator('dwell_time_actual', allow_reuse=True)(validate_data_source_for_map_config) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
439 _validate_postsample_intensity = validator('postsample_intensity', allow_reuse=True)(validate_data_source_for_map_config) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
440 _validate_scalar_data = validator('scalar_data', each_item=True, allow_reuse=True)(validate_data_source_for_map_config) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
441 @validator('experiment_type') | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
442 def validate_experiment_type(cls, value, values): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
443 '''Ensure values for the station and experiment_type fields are compatible''' | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
444 station = values.get('station') | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
445 if station == 'id1a3': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
446 allowed_experiment_types = ['SAXSWAXS', 'EDD'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
447 elif station == 'id3a': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
448 allowed_experiment_types = ['EDD'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
449 elif station == 'id3b': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
450 allowed_experiment_types = ['SAXSWAXS', 'XRF'] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
451 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
452 allowed_experiment_types = [] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
453 if value not in allowed_experiment_types: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
454 raise(ValueError(f'For station {station}, allowed experiment types are {allowed_experiment_types} (suuplied experiment type {value} is not allowed)')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
455 return(value) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
456 @property | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
457 def coords(self): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
458 """Return a dictionary of the values of each independent dimension across | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
459 the map. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
460 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
461 :returns: A dictionary ofthe map's coordinate values. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
462 :rtype: dict[str,list[float]] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
463 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
464 try: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
465 return(self._coords) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
466 except: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
467 coords = {} | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
468 for independent_dimension in self.independent_dimensions: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
469 coords[independent_dimension.label] = [] | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
470 for scans in self.spec_scans: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
471 for scan_number in scans.scan_numbers: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
472 scanparser = scans.get_scanparser(scan_number) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
473 for scan_step_index in range(scanparser.spec_scan_npts): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
474 coords[independent_dimension.label].append(independent_dimension.get_value(scans, scan_number, scan_step_index)) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
475 coords[independent_dimension.label] = np.unique(coords[independent_dimension.label]) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
476 self._coords = coords | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
477 return(self._coords) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
478 @property | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
479 def dims(self): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
480 """Return a tuple of the independent dimension labels for the map.""" | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
481 return([point_by_point_scan_data.label for point_by_point_scan_data in self.independent_dimensions[::-1]]) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
482 @property | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
483 def shape(self): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
484 """Return the shape of the map -- a tuple representing the number of | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
485 unique values of each dimension across the map. | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
486 """ | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
487 return(tuple([len(values) for key,values in self.coords.items()][::-1])) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
488 @property | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
489 def all_scalar_data(self): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
490 """Return a list of all instances of `PointByPointScanData` for which | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
491 this map configuration will collect dataset-like data (as opposed to | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
492 axes-like data). | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
493 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
494 This will be any and all of the items in the corrections-data-related | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
495 fields, as well as any additional items in the optional `scalar_data` | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
496 field.""" | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
497 return([getattr(self,l,None) for l in CorrectionsData.reserved_labels() if getattr(self,l,None) is not None] + self.scalar_data) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
498 | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
499 def import_scanparser(station, experiment_type): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
500 if station.lower() in ('id1a3', 'id3a'): | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
501 if experiment_type == 'SAXSWAXS': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
502 from msnctools.scanparsers import SMBLinearScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
503 globals()['ScanParser'] = SMBLinearScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
504 elif experiment_type == 'EDD': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
505 from msnctools.scanparsers import SMBMCAScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
506 globals()['ScanParser'] = SMBMCAScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
507 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
508 raise(ValueError(f'Invalid experiment_type: {experiment_type}')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
509 elif station.lower() == 'id3b': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
510 if experiment_type == 'SAXSWAXS': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
511 from msnctools.scanparsers import FMBSAXSWAXSScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
512 globals()['ScanParser'] = FMBSAXSWAXSScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
513 elif experiment_type == 'XRF': | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
514 from msnctools.scanparsers import FMBXRFScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
515 globals()['ScanParser'] = FMBXRFScanParser | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
516 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
517 raise(ValueError(f'Invalid experiment_type: {experiment_type}')) | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
518 else: | 
| 
 
cbbe42422d56
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
 
kls286 
parents:  
diff
changeset
 | 
519 raise(ValueError(f'Invalid station: {station}')) | 
