Skip to content

Commit

Permalink
Removed clutter in aoef
Browse files Browse the repository at this point in the history
  • Loading branch information
mbsantiago committed Jul 16, 2023
1 parent c79a52d commit 4e501c4
Showing 1 changed file with 20 additions and 84 deletions.
104 changes: 20 additions & 84 deletions src/soundevent/io/formats/aoef.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ def from_recording(

def to_recording(
self,
tags: Optional[Dict[int, data.Tag]] = None,
tags: Dict[int, data.Tag],
audio_dir: Optional[Path] = None,
) -> data.Recording:
"""Convert a recording object to a recording."""
Expand All @@ -172,9 +172,6 @@ def to_recording(
if audio_dir is not None:
path = audio_dir / path

if tags is None:
tags = {}

return data.Recording(
id=self.uuid or uuid4(),
path=path,
Expand All @@ -187,9 +184,7 @@ def to_recording(
time=self.time,
latitude=self.latitude,
longitude=self.longitude,
tags=[
tags[tag_id] for tag_id in (self.tags or []) if tag_id in tags
],
tags=[tags[tag_id] for tag_id in (self.tags or [])],
features=[
data.Feature(
name=name,
Expand Down Expand Up @@ -345,15 +340,9 @@ def from_clip(

def to_clip(
self,
tags: Optional[Dict[int, data.Tag]] = None,
recordings: Optional[Dict[int, data.Recording]] = None,
tags: Dict[int, data.Tag],
recordings: Dict[int, data.Recording],
) -> data.Clip:
if tags is None:
tags = {}

if recordings is None:
recordings = {}

if self.recording not in recordings:
raise ValueError(f"Recording with ID {self.recording} not found.")

Expand All @@ -362,9 +351,7 @@ def to_clip(
recording=recordings[self.recording],
start_time=self.start_time,
end_time=self.end_time,
tags=[
tags[tag_id] for tag_id in (self.tags or []) if tag_id in tags
],
tags=[tags[tag_id] for tag_id in (self.tags or [])],
features=[
data.Feature(
name=name,
Expand Down Expand Up @@ -429,25 +416,17 @@ def from_sound_event(

def to_sound_event(
self,
recordings: Optional[Dict[int, data.Recording]] = None,
tags: Optional[Dict[int, data.Tag]] = None,
recordings: Dict[int, data.Recording],
tags: Dict[int, data.Tag],
) -> data.SoundEvent:
if recordings is None:
recordings = {}

if tags is None:
tags = {}

if self.recording not in recordings:
raise ValueError(f"Recording with ID {self.recording} not found.")

return data.SoundEvent(
uuid=self.uuid or uuid4(),
recording=recordings[self.recording],
geometry=self.geometry,
tags=[
tags[tag_id] for tag_id in (self.tags or []) if tag_id in tags
],
tags=[tags[tag_id] for tag_id in (self.tags or [])],
features=[
data.Feature(
name=name,
Expand Down Expand Up @@ -511,15 +490,9 @@ def from_annotation(

def to_annotation(
self,
sound_events: Optional[Dict[int, data.SoundEvent]] = None,
tags: Optional[Dict[int, data.Tag]] = None,
sound_events: Dict[int, data.SoundEvent],
tags: Dict[int, data.Tag],
) -> data.Annotation:
if sound_events is None:
sound_events = {}

if tags is None:
tags = {}

if self.sound_event not in sound_events:
raise ValueError(
f"Sound event with ID {self.sound_event} not found."
Expand All @@ -529,9 +502,7 @@ def to_annotation(
id=self.uuid or uuid4(),
sound_event=sound_events[self.sound_event],
notes=self.notes if self.notes else [],
tags=[
tags[tag_id] for tag_id in (self.tags or []) if tag_id in tags
],
tags=[tags[tag_id] for tag_id in (self.tags or [])],
created_by=self.created_by,
created_on=self.created_on,
)
Expand Down Expand Up @@ -610,19 +581,10 @@ def from_annotation_task(

def to_annotation_task(
self,
clips: Optional[Dict[int, data.Clip]] = None,
annotations: Optional[Dict[int, data.Annotation]] = None,
tags: Optional[Dict[int, data.Tag]] = None,
clips: Dict[int, data.Clip],
annotations: Dict[int, data.Annotation],
tags: Dict[int, data.Tag],
) -> data.AnnotationTask:
if clips is None:
clips = {}

if annotations is None:
annotations = {}

if tags is None:
tags = {}

if self.clip not in clips:
raise ValueError(f"Clip with ID {self.clip} not found.")

Expand All @@ -632,15 +594,12 @@ def to_annotation_task(
annotations=[
annotations[annotation_id]
for annotation_id in (self.annotations or [])
if annotation_id in annotations
],
completed_by=self.completed_by,
completed_on=self.completed_on,
completed=self.completed,
notes=self.notes if self.notes else [],
tags=[
tags[tag_id] for tag_id in (self.tags or []) if tag_id in tags
],
tags=[tags[tag_id] for tag_id in (self.tags or [])],
)


Expand Down Expand Up @@ -851,20 +810,10 @@ def from_predicted_sound_event(

def to_predicted_sound_event(
self,
recordings: Optional[Dict[int, data.Recording]] = None,
sound_events: Optional[Dict[int, data.SoundEvent]] = None,
tags: Optional[Dict[int, data.Tag]] = None,
sound_events: Dict[int, data.SoundEvent],
tags: Dict[int, data.Tag],
) -> data.PredictedSoundEvent:
"""Convert a predicted sound event object to a predicted sound event."""
if recordings is None:
recordings = {}

if sound_events is None:
sound_events = {}

if tags is None:
tags = {}

if self.sound_event not in sound_events:
raise ValueError(
f"Sound event with ID {self.sound_event} not found "
Expand All @@ -881,7 +830,6 @@ def to_predicted_sound_event(
score=tag[1],
)
for tag in self.tags or []
if tag[0] in tags
],
features=[
data.Feature(
Expand Down Expand Up @@ -965,22 +913,11 @@ def from_processed_clip(

def to_processed_clip(
self,
clips: Optional[Dict[int, data.Clip]] = None,
predicted_sound_events: Optional[
Dict[int, data.PredictedSoundEvent]
] = None,
tags: Optional[Dict[int, data.Tag]] = None,
clips: Dict[int, data.Clip],
predicted_sound_events: Dict[int, data.PredictedSoundEvent],
tags: Dict[int, data.Tag],
) -> data.ProcessedClip:
"""Convert a processed clip object to a processed clip."""
if clips is None:
clips = {}

if predicted_sound_events is None:
predicted_sound_events = {}

if tags is None:
tags = {}

if self.clip not in clips:
raise ValueError(f"Clip with ID {self.clip} not found in clips.")

Expand Down Expand Up @@ -1136,7 +1073,6 @@ def to_model_run(
predicted_sound_events[
predicted_sound_event.id
] = predicted_sound_event.to_predicted_sound_event(
recordings=recordings,
sound_events=sound_events,
tags=tags,
)
Expand Down

0 comments on commit 4e501c4

Please sign in to comment.