LSST Applications 26.0.0,g0265f82a02+6660c170cc,g07994bdeae+30b05a742e,g0a0026dc87+17526d298f,g0a60f58ba1+17526d298f,g0e4bf8285c+96dd2c2ea9,g0ecae5effc+c266a536c8,g1e7d6db67d+6f7cb1f4bb,g26482f50c6+6346c0633c,g2bbee38e9b+6660c170cc,g2cc88a2952+0a4e78cd49,g3273194fdb+f6908454ef,g337abbeb29+6660c170cc,g337c41fc51+9a8f8f0815,g37c6e7c3d5+7bbafe9d37,g44018dc512+6660c170cc,g4a941329ef+4f7594a38e,g4c90b7bd52+5145c320d2,g58be5f913a+bea990ba40,g635b316a6c+8d6b3a3e56,g67924a670a+bfead8c487,g6ae5381d9b+81bc2a20b4,g93c4d6e787+26b17396bd,g98cecbdb62+ed2cb6d659,g98ffbb4407+81bc2a20b4,g9ddcbc5298+7f7571301f,ga1e77700b3+99e9273977,gae46bcf261+6660c170cc,gb2715bf1a1+17526d298f,gc86a011abf+17526d298f,gcf0d15dbbd+96dd2c2ea9,gdaeeff99f8+0d8dbea60f,gdb4ec4c597+6660c170cc,ge23793e450+96dd2c2ea9,gf041782ebf+171108ac67
LSST Data Management Base Package
Loading...
Searching...
No Matches
Functions | Variables
lsst.sphgeom._yaml Namespace Reference

Functions

 region_representer (dumper, data)
 
 region_constructor (loader, node)
 
 pixel_representer (dumper, data)
 
 pixel_constructor (loader, node)
 

Variables

 yaml = None
 
 CLoader = None
 
tuple YamlLoaders = (yaml.Loader, yaml.FullLoader, yaml.SafeLoader, yaml.UnsafeLoader)
 
 region_constructor
 
 Loader
 
 pixel_constructor
 

Detailed Description

Add support for YAML serialization of regions.

Function Documentation

◆ pixel_constructor()

lsst.sphgeom._yaml.pixel_constructor (   loader,
  node 
)
Construct a pixelization object from YAML.

Definition at line 103 of file _yaml.py.

103def pixel_constructor(loader, node):
104 """Construct a pixelization object from YAML."""
105 mapping = loader.construct_mapping(node)
106
107 className = node.tag
108 pixelMap = {
109 "lsst.sphgeom.Q3cPixelization": Q3cPixelization,
110 "lsst.sphgeom.Mq3cPixelization": Mq3cPixelization,
111 "lsst.sphgeom.HtmPixelization": HtmPixelization,
112 "lsst.sphgeom.HealpixPixelization": HealpixPixelization,
113 }
114
115 if className not in pixelMap:
116 raise RuntimeError(
117 f"Encountered unexpected class {className} associated with sphgeom pixelization YAML constructor"
118 )
119
120 return pixelMap[className](mapping["level"])
121
122
123# All the pixelization schemes use the same approach with getLevel

◆ pixel_representer()

lsst.sphgeom._yaml.pixel_representer (   dumper,
  data 
)
Represent a pixelization in YAML.

Stored as the pixelization level in a mapping with a single key
``level``.

Definition at line 94 of file _yaml.py.

94def pixel_representer(dumper, data):
95 """Represent a pixelization in YAML.
96
97 Stored as the pixelization level in a mapping with a single key
98 ``level``.
99 """
100 return dumper.represent_mapping(f"lsst.sphgeom.{type(data).__name__}", {"level": data.getLevel()})
101
102

◆ region_constructor()

lsst.sphgeom._yaml.region_constructor (   loader,
  node 
)
Construct a sphgeom region from YAML.

Definition at line 73 of file _yaml.py.

73def region_constructor(loader, node):
74 """Construct a sphgeom region from YAML."""
75 mapping = loader.construct_mapping(node)
76 encoded = bytes.fromhex(mapping["encoded"])
77 # The generic Region base class can instantiate a region of the
78 # correct type.
79 return Region.decode(encoded)
80
81
82# Register all the region classes with the same constructor and representer

◆ region_representer()

lsst.sphgeom._yaml.region_representer (   dumper,
  data 
)
Represent a sphgeom region object in a form suitable for YAML.

Stores the region as a mapping with a single ``encoded`` key
storing the hex encoded byte string.

Definition at line 63 of file _yaml.py.

63def region_representer(dumper, data):
64 """Represent a sphgeom region object in a form suitable for YAML.
65
66 Stores the region as a mapping with a single ``encoded`` key
67 storing the hex encoded byte string.
68 """
69 encoded = data.encode()
70 return dumper.represent_mapping(f"lsst.sphgeom.{type(data).__name__}", {"encoded": encoded.hex()})
71
72

Variable Documentation

◆ CLoader

lsst.sphgeom._yaml.CLoader = None

Definition at line 53 of file _yaml.py.

◆ Loader

lsst.sphgeom._yaml.Loader

Definition at line 88 of file _yaml.py.

◆ pixel_constructor

lsst.sphgeom._yaml.pixel_constructor

Definition at line 128 of file _yaml.py.

◆ region_constructor

lsst.sphgeom._yaml.region_constructor

Definition at line 88 of file _yaml.py.

◆ yaml

lsst.sphgeom._yaml.yaml = None

Definition at line 32 of file _yaml.py.

◆ YamlLoaders

tuple lsst.sphgeom._yaml.YamlLoaders = (yaml.Loader, yaml.FullLoader, yaml.SafeLoader, yaml.UnsafeLoader)

Definition at line 55 of file _yaml.py.