MCPcopy Create free account
hub / github.com/Atrovast/THGS / _process

Method _process

ext/spt/transforms/sampling.py:936–972  ·  view source on GitHub ↗
(self, nag)

Source from the content-addressed store, hash-verified

934 self.n_max = n_max
935
936 def _process(self, nag):
937
938 # If 'level' is an int, we only need to process a single level
939 if isinstance(self.level, int):
940 nag._list[self.level] = self._process_single_level(
941 nag[self.level], self.n_min, self.n_max)
942 return nag
943
944 # If 'level' covers multiple levels, iteratively process levels
945 level_n_min = [-1] * nag.num_levels
946 level_n_max = [-1] * nag.num_levels
947
948 if self.level == 'all':
949 level_n_min = self.n_min if isinstance(self.n_min, list) \
950 else [self.n_min] * nag.num_levels
951 level_n_max = self.n_max if isinstance(self.n_max, list) \
952 else [self.n_max] * nag.num_levels
953 elif self.level[-1] == '+':
954 i = int(self.level[:-1])
955 level_n_min[i:] = self.n_min if isinstance(self.n_min, list) \
956 else [self.n_min] * (nag.num_levels - i)
957 level_n_max[i:] = self.n_max if isinstance(self.n_max, list) \
958 else [self.n_max] * (nag.num_levels - i)
959 elif self.level[-1] == '-':
960 i = int(self.level[:-1])
961 level_n_min[:i] = self.n_min if isinstance(self.n_min, list) \
962 else [self.n_min] * i
963 level_n_max[:i] = self.n_max if isinstance(self.n_max, list) \
964 else [self.n_max] * i
965 else:
966 raise ValueError(f'Unsupported level={self.level}')
967
968 for i_level, (n_min, n_max) in enumerate(zip(level_n_min, level_n_max)):
969 nag._list[i_level] = self._process_single_level(
970 nag[i_level], n_min, n_max)
971
972 return nag
973
974 @staticmethod
975 def _process_single_level(data, n_min, n_max):

Callers

nothing calls this directly

Calls 1

_process_single_levelMethod · 0.95

Tested by

no test coverage detected