@@ -78,7 +78,7 @@ def fits_daily_file(self):
7878 return True
7979
8080 @classmethod
81- def from_levelb (cls , levelb , * , parent = "" , NIX00405_offset = 0 ):
81+ def from_levelb (cls , levelb , * , parent = "" , NIX00405_offset = 0 , keep_parse_tree = True ):
8282 """Converts level binary packets to a L1 product.
8383
8484 Parameters
@@ -89,6 +89,8 @@ def from_levelb(cls, levelb, *, parent="", NIX00405_offset=0):
8989 The parent data file name the binary packed comes from, by default ''
9090 NIX00405_offset : int, optional
9191 [description], by default 0
92+ keep_parse_tree : bool, optional
93+ Whether to keep the parse tree in each packet for debugging and printing, by default True
9294
9395 Returns
9496 -------
@@ -97,7 +99,7 @@ def from_levelb(cls, levelb, *, parent="", NIX00405_offset=0):
9799 all used IDB versions and time periods
98100 initialized control table
99101 """
100- packets , idb_versions = GenericProduct .getLeveL0Packets (levelb )
102+ packets , idb_versions = GenericProduct .getLeveL0Packets (levelb , keep_parse_tree = keep_parse_tree )
101103
102104 control = Control .from_packets (packets , NIX00405_offset = NIX00405_offset )
103105
@@ -138,8 +140,10 @@ def __init__(
138140 self .level = "L0"
139141
140142 @classmethod
141- def from_levelb (cls , levelb , parent = "" ):
142- packets , idb_versions , control = QLProduct .from_levelb (levelb , parent = parent , NIX00405_offset = QLNIX00405_off )
143+ def from_levelb (cls , levelb , parent = "" , keep_parse_tree = True ):
144+ packets , idb_versions , control = QLProduct .from_levelb (
145+ levelb , parent = parent , NIX00405_offset = QLNIX00405_off , keep_parse_tree = keep_parse_tree
146+ )
143147
144148 control .add_data ("detector_mask" , _get_detector_mask (packets ))
145149 control .add_data ("pixel_mask" , _get_pixel_mask (packets ))
@@ -245,8 +249,10 @@ def __init__(
245249 self .level = "L0"
246250
247251 @classmethod
248- def from_levelb (cls , levelb , parent = "" ):
249- packets , idb_versions , control = QLProduct .from_levelb (levelb , parent = parent , NIX00405_offset = QLNIX00405_off )
252+ def from_levelb (cls , levelb , parent = "" , keep_parse_tree = True ):
253+ packets , idb_versions , control = QLProduct .from_levelb (
254+ levelb , parent = parent , NIX00405_offset = QLNIX00405_off , keep_parse_tree = keep_parse_tree
255+ )
250256
251257 control .add_data ("energy_bin_edge_mask" , _get_energy_bins (packets , "NIX00266" , "NIXD0111" ))
252258 control .add_basic (name = "num_energies" , nix = "NIX00270" , packets = packets )
@@ -358,8 +364,10 @@ def __init__(
358364 self .level = "L0"
359365
360366 @classmethod
361- def from_levelb (cls , levelb , parent = "" ):
362- packets , idb_versions , control = QLProduct .from_levelb (levelb , parent = parent , NIX00405_offset = QLNIX00405_off )
367+ def from_levelb (cls , levelb , parent = "" , keep_parse_tree = True ):
368+ packets , idb_versions , control = QLProduct .from_levelb (
369+ levelb , parent = parent , NIX00405_offset = QLNIX00405_off , keep_parse_tree = keep_parse_tree
370+ )
363371
364372 control .add_data ("pixel_mask" , _get_pixel_mask (packets ))
365373 control .add_data ("compression_scheme_spectra_skm" , _get_compression_scheme (packets , "NIX00452" ))
@@ -510,8 +518,10 @@ def __init__(
510518 self .level = "L0"
511519
512520 @classmethod
513- def from_levelb (cls , levelb , parent = "" ):
514- packets , idb_versions , control = QLProduct .from_levelb (levelb , parent = parent , NIX00405_offset = QLNIX00405_off )
521+ def from_levelb (cls , levelb , parent = "" , keep_parse_tree = True ):
522+ packets , idb_versions , control = QLProduct .from_levelb (
523+ levelb , parent = parent , NIX00405_offset = QLNIX00405_off , keep_parse_tree = keep_parse_tree
524+ )
515525
516526 # Control
517527 control ["samples_per_variance" ] = np .array (packets .get_value ("NIX00279" ), np .ubyte )
@@ -600,8 +610,10 @@ def __init__(
600610 self .level = "L0"
601611
602612 @classmethod
603- def from_levelb (cls , levelb , parent = "" ):
604- packets , idb_versions , control = QLProduct .from_levelb (levelb , parent = parent , NIX00405_offset = QLNIX00405_off )
613+ def from_levelb (cls , levelb , parent = "" , keep_parse_tree = True ):
614+ packets , idb_versions , control = QLProduct .from_levelb (
615+ levelb , parent = parent , NIX00405_offset = QLNIX00405_off , keep_parse_tree = keep_parse_tree
616+ )
605617
606618 control .add_basic (name = "num_samples" , nix = "NIX00089" , packets = packets )
607619
@@ -683,8 +695,8 @@ def __init__(
683695 self .type = "cal"
684696
685697 @classmethod
686- def from_levelb (cls , levelb , parent = "" ):
687- packets , idb_versions , control = QLProduct .from_levelb (levelb , parent = parent )
698+ def from_levelb (cls , levelb , parent = "" , keep_parse_tree = True ):
699+ packets , idb_versions , control = QLProduct .from_levelb (levelb , parent = parent , keep_parse_tree = keep_parse_tree )
688700
689701 # Control
690702 control .add_basic (name = "integration_time" , nix = "NIX00122" , packets = packets , dtype = np .uint32 , attr = "value" )
@@ -831,8 +843,8 @@ def __init__(
831843 self .level = "L0"
832844
833845 @classmethod
834- def from_levelb (cls , levelb , parent = "" ):
835- packets , idb_versions = GenericProduct .getLeveL0Packets (levelb )
846+ def from_levelb (cls , levelb , parent = "" , keep_parse_tree = True ):
847+ packets , idb_versions = GenericProduct .getLeveL0Packets (levelb , keep_parse_tree = keep_parse_tree )
836848
837849 control = Control ()
838850 control ["scet_coarse" ] = packets .get ("scet_coarse" )
0 commit comments