Skip to content
Snippets Groups Projects
Commit acbc5fb1 authored by dmt's avatar dmt
Browse files

Handle Sigma Z relatives in learn block creation.

parent 9f9d12fb
No related branches found
No related tags found
No related merge requests found
......@@ -110,15 +110,24 @@ class Preprocessor:
class LearnblockIdentifier:
def __init__(self, settings):
def __init__(self, settings, density_estimator, relative_extrema):
self.settings = settings
self.column_pairs = (("T", "Z"), ("T", "Sigma"), ("Sigma", "Z"))
self.density_estimator = density_estimator
self._relative_extrema = relative_extrema
def identify(self, block):
biggest_learn_block = None
biggest_block_size = 0
for pair in self.column_pairs:
for possible_learnblock in self._identify_relatives(block, *pair):
if self._is_learn_block(possible_learnblock.length):
yield possible_learnblock
if possible_learnblock.length > biggest_block_size:
biggest_learn_block = possible_learnblock
biggest_learn_block.relatives = pair
return biggest_learn_block
def _is_learn_block(self, block_length):
return block_length > self.settings.learn_block_minimum
......@@ -130,7 +139,11 @@ class LearnblockIdentifier:
if value_pair not in already_seen:
already_seen.add(value_pair)
kw = {args[0]: value_pair[0], args[1]: value_pair[1]}
yield block.get_values(**kw)
if args[0] == "Sigma" and args[1] == "Z":
for block in self._get_sigma_zeta_relatives(block, **kw):
yield block
else:
yield block.get_values(**kw)
def _get_sigma_zeta_relatives(self, block, **kw):
relatives = block.get_values(**kw)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment