Skip to content

Commit

Permalink
Merge pull request #65 from albu/proposal/add_dependent_targets
Browse files Browse the repository at this point in the history
Proposal/add dependent targets
  • Loading branch information
albu committed Sep 15, 2018
2 parents 047f40a + b82dd0d commit bdd52c9
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion albumentations/core/transforms_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,12 @@ def __call__(self, **kwargs):
if random.random() < self.p:
params = self.get_params()
params = self.update_params(params, **kwargs)
return {key: self.targets.get(key, lambda x, **p: x)(arg, **params) for key, arg in kwargs.items()}
res = {}
for key, arg in kwargs.items():
target_function = self.targets.get(key, lambda x, **p: x)
target_dependencies = {k: kwargs[k] for k in self.target_dependence.get(key, [])}
res[key] = target_function(arg, **dict(params, **target_dependencies))
return res
return kwargs

def apply(self, img, **params):
Expand All @@ -68,6 +73,10 @@ def update_params(self, params, **kwargs):
params.update({'cols': kwargs['image'].shape[1], 'rows': kwargs['image'].shape[0]})
return params

@property
def target_dependence(self):
return {}


class DualTransform(BasicTransform):
"""Transform for segmentation task."""
Expand Down

0 comments on commit bdd52c9

Please sign in to comment.