Skip to content

Commit

Permalink
refactor(rings): use place_targets() in rings_generalized()
Browse files Browse the repository at this point in the history
  • Loading branch information
JorisVincent committed Aug 28, 2023
1 parent c748706 commit 2da1b65
Showing 1 changed file with 8 additions and 25 deletions.
33 changes: 8 additions & 25 deletions stimupy/stimuli/rings.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import itertools

import numpy as np

from stimupy.components.frames import frames
from stimupy.stimuli import place_targets
from stimupy.stimuli.waves import square_radial as circular
from stimupy.stimuli.waves import square_rectilinear as rectangular
from stimupy.utils import resolution, stack_dicts
Expand Down Expand Up @@ -203,28 +200,14 @@ def rectangular_generalized(
)
stim["intensity_target"] = intensity_target

# Resolve target parameters
if isinstance(target_indices, (int)):
target_indices = [
target_indices,
]
if isinstance(intensity_target, (int, float)):
intensity_target = [
intensity_target,
]
intensity_target = itertools.cycle(intensity_target)

# Place target(s)
targets_mask = np.zeros_like(stim["frame_mask"])
for target_idx, (bar_idx, intensity) in enumerate(zip(target_indices, intensity_target)):
targets_mask = np.where(stim["frame_mask"] == bar_idx, target_idx + 1, targets_mask)
stim["img"] = np.where(targets_mask == target_idx + 1, intensity, stim["img"])
if bar_idx > stim["frame_mask"].max():
raise ValueError("target_idx is outside stimulus")

# Update and return stimulus
stim["target_mask"] = targets_mask
stim["target_indices"] = target_indices
stim = place_targets(
stim=stim,
element_mask_key="frame_mask",
target_indices=target_indices,
intensity_target=intensity_target,
)

return stim


Expand Down

0 comments on commit 2da1b65

Please sign in to comment.