Skip to content

Latest commit

 

History

History
3327 lines (1675 loc) · 226 KB

CHANGELOG.md

File metadata and controls

3327 lines (1675 loc) · 226 KB

CHANGELOG

v1.1.2 (2024-04-23)

Chore

  • chore: misspellings CHANGELOG

fix current misspellings, but ignore changelog going forward since it is autogenerated from commit messages (95cf322)

Fix

  • fix: cornsweet edge intensity is now exactly as in intensity_edges; close #122 (cc701a3)

Unknown

  • Merge pull request #123 from computational-psychology/bugfix_cornsweet_edge

fix: cornsweet edge intensity is now exactly as in intensity_edges (9e8bbbb)

  • Merge pull request #125 from computational-psychology/chore

chore: linting (a93fff7)

v1.1.1 (2024-02-09)

Build

  • build: configure codespell to fix misspellings

Requires python^3.11.0 to use pyproject.toml

Exclude everything in docs/_build, and the exact lines in .codespell.ignore

Also add to pre-commit checks (37bac3d)

  • build: only trigger publishing workflow once per release (44a303b)

Documentation

  • docs(periodics): fix Gabor argument intensities (533e1e2)

  • docs(tutorial): fix references to two_sided (19f59a9)

Fix

  • fix(checkerboards): define multiple target intensities

Previously, checkerboards could only draw a single target intensity, even if multiple targets are specified. For some stimuli however, I want to have two target checks, each with a different intensity value.

Use components.draw_regions to do the actual target drawing. Ensures consistency with other stimuli with targets. (ab525b3)

  • fix(checkerboards): define multiple target intensities

Use components.draw_regions to do the actual target drawing. Ensures consistency with other stimuli with targets (442bd29)

  • fix(RHS2007): WE_dual separate mask for each target

Previously, the targets in black were lumped together, as were the targets in white. Now, each target, in each of the two stimuli, has its own mask idx (0b78372)

  • fix(whites): enable specifying either 1, or multiple target indices

Some configuration was causing errors (ba552b9)

  • fix(text): remove text direction argument

Pillow is complaining about libraqm not being installed. Previously, it was not complaining about this. This problem seems to be limited to asking for a writing direction -- without that, Pillow no longer complains (6cceca6)

Style

  • style: use codespell to fix misspellings (de8efb4)

Test

  • test(RHS2007): regen ground truth

Only mask of WE_dual changed (6c76f2e)

Unknown

  • Merge pull request #121 from computational-psychology/dev

Bugfixes (da97ecf)

  • Merge branch 'main' into dev (1d4371a)

  • Merge pull request #120 from computational-psychology/build

Update build-system (d56e528)

  • Merge pull request #118 from computational-psychology/fix/whites_targets

fix(whites): enable specifying either 1, or multiple target indices (8ec7d6e)

  • Merge pull request #117 from computational-psychology/fix/RHS2007

Fix(RHS2007): Individually mask each target in WE_Dual (3cba67d)

  • Merge pull request #119 from computational-psychology/fix/text

fix(text): remove text direction argument (759f8e8)

v1.1.0 (2023-09-21)

Build

  • build: update PSR config (8659604)

  • build: update versioning to use python-semantic-release@v8.0 (e0cd11e)

  • build(manuscript): allow manual trigger (b46fdf8)

Chore

  • chore: autoformat (106dee7)

  • chore: autoformat (95ccba7)

  • chore(autoformat): update pre-commit config (47c408c)

  • chore: (auto)format (dea6b57)

Documentation

  • docs(demos): sbcs.generalized_two_sided() demo (7318280)

  • docs(demos): sbcs.square_two_sided, .circular_two_sided demos (e781cfb)

  • docs(sbcs): unify docstrings (60d3c80)

  • docs(frames): docstrings (5d83551)

  • docs(radials): docstrings (fd79e0b)

  • docs(demos): update two_sided demos (c2beace)

  • docs(demos): bullseyes.circular_generalized (25669ca)

  • docs(demos): rings.circular_generalized (a19a1c4)

  • docs(demos): fix White's demo (37b70c3)

  • docs(demos): text demo (ef686f3)

  • docs(demos): add support for two-sided parameter specification (aec4043)

  • docs(citation): add to TOC (c2a9574)

  • docs(citation): reformat (e940428)

  • docs: added citation to readme and docs (6279322)

  • docs(manuscript): "use case" as two words (c3d999c)

  • docs: final touchup on manuscript (d3c04ef)

  • docs(manuscript): update references (f57ec56)

  • docs: final touch-up on manuscript (2f37a9d)

  • docs: changed manuscript title (18d95fb)

  • docs: made editorial changes to manuscript (856c8a9)

Feature

  • feat(sbcs): sbcs.generalized_two_sided() (dbfbab1)

  • feat(sbcs.gen): enable rotation in generlized SBC

Closes #39 (bfe946b)

  • feat(sbcs): _two_sided versions of all sbcs. (7bac6a1)

  • feat(sbcs): sbcs.circular, .square

Pass-through wrappers based off bullseyes.<> (0ff0213)

  • feat(two-sided): utility wrapper-function to create two-sided stimuli (624bf50)

  • feat(stimuli): bullseyes.circular_generalized (8b9ad10)

  • feat(stimuli): rings.circular_generalized (7e0cf7c)

  • feat: components.texts (88d5ffc)

Fix

  • fix(disk): mask is now properly aligned

Fix by basing disk on rings rather than on ring (911cbd6)

  • fix: rename _masks

Add a distance-specific mask (bar_, ring_, frame_, segment_). These are similarly named in the "generalized" versions of these stimuli (frames, rings, etc.). This is just a reference to grating_mask, so that will remain consistent between all wave-like stimuli.

Closes #102 (2cc9222)

  • fix(bullseyes): update bullseye target specification

Now that indexing is 1-based. (92c9e1b)

  • fix(pad_dict): should also update ppd, visual_size, if it can (dab5bf5)

  • fix(RHS2007): correct targets in Todorovic' Benary 1_2, 3_4

Closes #90

1_2_3_4() was already correct. Others now use that one as base (520c659)

Refactor

  • refactor(papers): use sbcs.<>_two_sided() in papers

domijan2015.simultaneous_brightness_contrast() RHS2007.sbc_small() RHS2007.sbc_large() (3ee13ed)

  • refactor(radials): more integrated drawing (afcdc3e)

  • refactor(gratings,papers): update intensities order (1ab048a)

  • refactor: unify intensity_ arguments

(almost) all (0.0, 1.0)

Closes #80 (a00295f)

  • refactor(waves): pass intensities through

Addresses #80 (44d7f79)

  • refactor(modelfest): more explicit conversions (be4b53d)

  • refactor(stimuli): use two-sided utility wrapper (8ac1717)

  • refactor(papers): update to use 1-based indexing of elements in Whites (e1c3101)

  • refactor(papers): update to use 1-based indexing of elements (bd90b8e)

  • refactor(whites): use mask_targets() (1e04f07)

  • refactor(waves): integrate place_targets() (daf6acd)

  • refactor: target_indices defaults to (), but can handle None

Closes #97 #98 (9e8d136)

  • refactor(rings): use place_targets() in rings_generalized() (2da1b65)

  • refactor(pinwheels): integrate mask_targets() (c748706)

  • refactor(stimuli): place_targets()

actually places targets in stimulus-dict (fff6f14)

  • refactor(stimuli): mask_targets()

to standardize logic of indicating elements of gratings etc. as targets, which is a big par of the stimuli Also allows for negative element indices, counting backwards from the highest element index

Closes #12 (9232891)

  • refactor(export): guard clauses, pathlib (e59fc51)

Style

  • style: autoformat pyproject.toml (b153d5e)

  • style: autoformat (962a332)

Test

  • test: update ground truth

single pixel changes in RHS2007_WE_radial_* (f4e4d48)

  • test(modelfest): update Disk40()and its groundtruth

Slightly decrease radius. This is actually results in an image that is exactly identical as the original published disk40.tif image (unlike previous ground truth, which was 4pix off) (30c9738)

  • test(modelfest): isolate code to test correspondence to original images (4c44c88)

  • test: extract function for image comparison (813e3a2)

  • test: fix gen_ground_truth (5ad8cb3)

Unknown

  • Merge pull request #114 from computational-psychology/build_psr

Build: update python-semantic-release configuration (e281e9a)

  • Merge pull request #108 from computational-psychology/dev

New features, refactoring, and fixes (3788170)

  • Merge pull request #107 from computational-psychology/feat_sbcs_circular

Add more sbcs.. sbcs.square() and sbcs.circular(), parameterized using target_radius and surround_radius, based on bullseyes.square() and .circular(). Adds some _two_sided() versions as well, which are now used in some papers. Also enable rotation arg in sbcs.generalized(). (d1510e9)

  • docs(demos):sbcs.circular, .square demos (81b5528)

  • Merge pull request #106 from computational-psychology/refactor_two_sided

Easier _two_sided-stimuli functions (7ba0bee)

  • Merge branch 'dev' into refactor_two_sided (db94838)

  • Merge pull request #103 from computational-psychology/refactor_intensities

Unify intensity_arguments (4ff38d5)

  • Merge pull request #104 from computational-psychology/test_modelfest

Refactor ModelFest comparison to original images (4218dc3)

  • Merge pull request #101 from computational-psychology/refactor_targets

Refactor target placement in various stimuli.

Add mask_targets() and place_targets() general-purpose functions which can be used to designate target "elements" (bars, rings, frames, etc.) from an existing _mask.

Integrate new functions into waves, pinwheels, rings and whites

Add rings.circular_generalized() and bullseye.circular_generalized() using new functions

This single-implementation of target placement has the advantage that it all works the same: first element is 1, target_indices can be negative (counting "backwards" from the last bar/ring/etc.). (885ec6c)

  • Merge pull request #100 from computational-psychology/build_refresh

build: update versioning to use python-semantic-release@v8.0 (16a3496)

  • Merge pull request #96 from computational-psychology/fix_twosided_params

fix: two-sided params for _two_sided-stimuli (1188af5)

  • Merge pull request #95 from computational-psychology/feat_text

feat: text (e0effc0)

  • Merge pull request #94 from computational-psychology/fix_RHS2007_TodorovicBenary

fix(RHS2007): correct targets in todorovic_benary_1_2(), 3_4() (00af7d2)

Closes #92 (5569a12)

  • Rings & Bullseyes (23fc041)

  • Mueller-Lyer (6b01cce)

  • DelBoueufs (587aed5)

  • Update tests (fbd1dc4)

  • Merge pull request #91 from computational-psychology/dev_citation

docs: added citation to readme and docs (316ded8)

  • Merge pull request #89 from computational-psychology/dev_manuscript

docs: final touchup on manuscript (ca8bf43)

  • Merge pull request #88 from computational-psychology/dev_manuscript

docs: final touch-up on manuscript (f756c54)

  • Merge pull request #87 from computational-psychology/dev_manuscript

Final editorial (& title) changes to manuscript (b4bb148)

v1.0.0 (2023-05-23)

Breaking

  • build: public release, unpin major version

BREAKING CHANGE: bump to v1.0.0 (4ac4aee)

Build

  • build(release): publish to PyPI (& testPyPI), using trusted publisher

Having specified a "trusted publisher" (the repository and GHA workflow), no tokens and secrets are necessary.

BREAKING: Bump to v1.0.0 (51b0d0e)

Chore

Documentation

  • docs(README): add badges (e8f54f9)

  • docs: update installation instructions to use PyPI (4c3c492)

Fix

Unknown

  • v1.0.0

Automatically generated by python-semantic-release (5461a7c)

  • Merge: Release to PyPI as v1.0.0

Enable automated release, bump to v1.0.0. Also update installation instructions. (0bad0bd)

  • fix (whites): if no index is provided, does not require target_heights anymore (6bd55ae)

v0.101.1 (2023-05-20)

Build

  • build: fix regex for release GHA (fc19d2a)

Documentation

  • docs(manuscript): add comparison to OCTA (551f80d)

  • docs: added missing arg-information to logo-function (73e5a27)

  • docs: minor fix landing page (fc8deb4)

  • docs: add logo (1fce581)

Fix

  • fix: added relevant error message in todorovic (0cb7f88)

  • fix: aligned functions args and output_dictionary keys for stimuli-gratings (fba7785)

  • fix: aligned function args and output_dict keys (6981318)

Style

Unknown

  • v0.101.1

Automatically generated by python-semantic-release (862a64f)

  • Merge pull request #84 from computational-psychology/dev_docs

Quality improvements (69e0c47)

  • Merge pull request #83 from computational-psychology/dev_docs

docs: very minor fixes (e054d55)

v0.101.0 (2023-05-15)

Build

  • build: fix TestPyPI release GHA (108ac44)

Chore

Documentation

  • docs: add logo to README (4dfabb0)

  • docs: typos (ce4683d)

  • docs: fixed incorrect link in README (c2e6575)

  • docs: updated documentation - mostly language (d8f4211)

  • docs(guide): axes, orientations, distance_metrics (7bc02ec)

  • docs(guides): waves & gratings (4d5b507)

  • docs(howto): sharing

Closes #78 (4c950d2)

  • docs(contribute): instructions and examples for contributing paper set (17ff040)

  • docs(contribute): split up contributing guide into subfiles (2cc2cb0)

  • docs(howto): display stimuli (in experiment)

Closes #79 (a733b07)

  • docs(howto): export (e647773)

  • docs(howtos): start how-tos (8cd970a)

  • docs(guides): resolution (ace6493)

  • docs: hover_xref configuration for objects (c28b7be)

  • docs(demos): better exception-handling, hiding stacktrace

Closes #74 (ae98e04)

  • docs(demos): make dependencies explicit

add admonition about dependencies for local running (c3b0a0e)

  • docs(readme): fix some typos (6983f90)

Feature

  • feat: qr-code with logo embedded (a14648e)

  • feat: added stimupy logo module, and function (0b5b028)

  • feat(export): to image, npy, mat, pickle, json (3c09c5a)

  • feat: util to create stimspace (1679eb5)

Fix

  • fix: line_width in ellipse (10b7745)

  • fix: added missing demo scripts for edges (4c30a3b)

  • fix: corrected n_cells in dungeon-resolving (cd0fc0c)

  • fix: aligned functions args and keys in outputs dicts (107edb4)

  • fix: aligned functions args and keys in output dicts (a3941e7)

  • fix: aligned function-args and keys in output dicts (8ab889a)

  • fix: radial and rectilinear waves now correctly resolve n_phases (ecce0b9)

  • fix(mondrians): clearer error when neither nrows, ncols, depths or intensities are specified (f9a5a4d)

  • fix: bug in calculating plot-extent from stim-keys (240a34a)

Refactor

  • refactor(export): consistent naming of exporting funcs

and rename arr_to_checksum (bbab735)

  • refactor: separate params-permutation and stimspace-stim-creation (ae20b4d)

  • refactor: add util modules to init (35aae7e)

  • refactor: add more defaults to gabor (935673c)

  • refactor: edges as stimuli-submodule (d602fc0)

Style

Unknown

  • v0.101.0

Automatically generated by python-semantic-release (c394202)

  • Merge pull request #82 from computational-psychology/dev_docs

Review issues: documentation, exporting, bugfixes. (031189a)

v0.100.0 (2023-04-10)

Build

  • build: GHA worfklow upload release assets to TestPyPI

Downloads assets (sdist, wheel), from latest release-tag, and uploads to PyPI (dd37065)

  • build: Provide push permissions through PAT (3a54808)

  • build: Versioning workflow also builds and uploads assets to release-tag

And allow manual trigger (927f029)

  • build: specify build system

Use Setuptools build-backend. Tell PSR to build from main, using PyPAs Build (649b078)

  • build(vesion): don't auto-bump to v1.0.0

All BREAKING CHANGES will bump minor instead of major version (8889e56)

  • build: also push version tag (a71da54)

  • build: derive version from commit (not tag)

Because commits will be (more) unambiguous, and if multiple branches have different version-commits, that will need to be resolved in merge-conflicts anyway, thus providing a good check. The alternative, derive from tags, is more fragile: the same commit could have multiple version tags... (c2ab046)

  • build: only bump on PR merge

and on manual trigger (85852e0)

  • build: GHA workflow for bumping version (3fc3606)

  • build: Create bump-commit as well

Otherwise the updated version numbers in pyproject.toml and init.py won't actually be commited (c084f69)

  • build: Use PSR to manage version number (a1d5e18)

Chore

  • chore: delete test bump (9a9d6eb)

Documentation

  • docs: Outline dependencies for demos in installation instructions (f6a3d98)

  • docs(topic guides): hide guides that are under construction (8a1146f)

  • docs: cleanup installation instructions

Closes #71, Closes #73 (3d49f53)

  • docs: update references in replication tutorial (2325ce3)

  • docs(tutorial): more structured overview of stimuli

Closes #69 (722a977)

  • docs: better referencing, using hoverxref (5a41f0f)

  • docs(tutorial): more detail on composition, masks

Closes #70 (9be4db0)

  • docs(tutorial): clean up imports (11053b3)

  • docs(tutorial): Fix a reference (506274e)

  • docs(topics): Add page on how stimupy is organized (0cd3934)

  • docs(tutorial): Move tutorial to separate TOC entry (cd3af04)

  • docs(tutorial): More verbose tutorial component (31c4ae6)

  • docs(tutorial): Move composition to separate tutorial page (939082a)

  • docs(landing page): use description from README, more detailed cards (530dbc0)

  • docs: README streamlined, in line with manuscript (ad8445d)

  • docs: Detail on dev installation instructions

Closes #19 (506ebf6)

  • docs: More detailed contributing instructions (97dfa31)

  • docs: Get in touch (in addition to contribute) (c42cccc)

  • docs(rectilinear): demo rotation of rectilinear stimuli (2bd7b98)

  • docs: consistent docstrings & defaults for rotation arguments (b441a34)

  • docs: docstring for combine_masks (c1aa531)

  • docs: docstring for draw_regions (2d2cad2)

  • docs: docstring for mask_regions (725eaf0)

Feature

  • feat(rectilinear): add rotation to rectilinear stimuli (0670d6b)

Fix

Refactor

  • refactor: consolidate and reuse functionality for dealing with origin

The axes and image base grids can differ based on the origin argument. We use this in the image_base, and should also use this in the plotting, specifically to deal with the units argument. Otherwise, how the stimulus is drawn does not match the units being plotted on the axes. Consolidating this in one place ensure that we can flexibly expand this logic if we want. (2fb5f42)

  • refactor: export combine_masks

by adding it to components.__all__ (6a4b02c)

  • refactor(rectilinear): construct rectilinear from obliques

Both for consistency, and to make rectilinear distances rotatable. (4d62316)

  • refactor: update callers of oblique / rotation (a7f8d56)

  • refactor(image_base): rotation consistent, extra oblique_y

rotation argument now consistently rotations counterclockwise from 3 o'clock position (in line with mathematical convention, i.e., unit circle)

Also added an oblique_y metric, orthogonal to oblique (which is implicit oblique_x) (8e17857)

  • refactor: update import of combine_masks (53dea7d)

  • refactor: move combine_masks to components (31dff51)

  • refactor: rename mask_elements -> mask_regions (090f0d7)

Unknown

  • v0.100.0

Automatically generated by python-semantic-release (3d89415)

  • Merge pull request #77 from computational-psychology/dev

Dev: refactor, documentation, improve build (bc1289c)

  • Merge branch 'build_release' into dev (3acc86f)

  • Merge branch 'docs' into dev (6c62384)

  • Merge branch 'refactor' into dev (5992727)

  • Merge pull request #68 from computational-psychology/dev_version

Implement versioning (4f8a889)

  • v0.99.1

Automatically generated by python-semantic-release (ebda6b3)

  • Merge pull request #62 from computational-psychology/feat_consistent_todorovics

fix(todorovics): Consistent behavior for todorovics.rectangle and .cross

Closes #61 (616e96d)

  • closes #61; consistent todorovic rectangle and cross behavior (ff9b47f)

v0.99.0 (2023-03-29)

Unknown

  • Update issue templates (5a98fb4)

  • Merge pull request #60 from computational-psychology/feat_check_demos

closes #52; double check all demos (0d74b39)

  • autoformatting (d382596)

  • updated some sbcs-demos args; and fixed bugs in dotted sbcs (941cbaa)

  • fixed args in mondrians demos, and fixed bug in mondrians (db6a3d4)

  • updated one arg in demos-gabors (6e57781)

  • autoformatting (df0f87f)

  • increased frequency in waves-demo because of angular-wave (af053df)

  • had to rename one arg in demos-shapes (9a2ede4)

  • fixed small bug in radials (1f6e790)

  • fixed tiny bug in frames (8a4d667)

  • updated edges-demos (renamed functions, and added missing args) (cd881f8)

  • removed non-existent angular-components-functions from demo; added segments; fixed bugs in segments (de9c765)

  • removed old demos (0fcf6a3)

  • Merge pull request #59 from computational-psychology/feat_yaz

closes #51; removed stripe intensities from yazdanbakhsh (46e6520)

  • closes #51; removed stripe intensities from yazdanbakhsh (51cbe75)

  • Merge pull request #58 from computational-psychology/feat_clip

closes #42; added clipping and fixed some defaults (c422917)

  • closes #42; added clipping and fixed some defaults (02d0081)

  • Merge pull request #57 from computational-psychology/feat_rename_masks

closes #13; renamed shape_masks and grating_masks in checkerboard (16f15d6)

  • closes #13; renamed shape_masks and grating_masks in checkerboard (f6c7636)

  • Merge pull request #55 from computational-psychology/feat_two_sided

closes #40; renamed two-sided sbcs (3c73c5d)

  • closes #40; renamed two-sided sbcs (95d0b15)

  • Merge pull request #54 from computational-psychology/manuscript

Update JOSS manuscript (bad3d76)

Docs: add remaining demos (still a few demos missing for stimuli.gratings) (90a29a2)

  • Merge branch 'main' into docs_demos (b63e43d)

  • Merge pull request #50 from computational-psychology/feat_whites

Bugfix: whites (23a23b7)

  • Lint & format (857c3e0)

  • Docs: update demo whites.yazdanbakhsh (a44d58f)

  • Docs: update demos whites.anderson, .howe (5d49139)

  • Tests: Regenerate RHS2007 ground truth, slight change WE_anderson, _howe (4b91761)

  • Docs: update demo whites.yazdanbakhsh (6d1109d)

  • Rewrite whites.yazdanbakhsh

Uses components.rectangles to content-aware place gaps. Can then also handle multiple target heights (98bbb0b)

  • Docs: update demos whites.anderson, .howe (0292b9d)

  • Bugfix: whites_generalized returns actual lists of target params

Previously was just itertools.cycle-objects, which are harder to work with (b6fafff)

  • whites.anderson draws stripes as rectangles (d7b05c9)

  • Util for combining masks (9ae1b74)

  • white_two_rows also outputs target idc separately (63e694d)

  • Draw targets in whites as rectangles (c84a1a1)

  • Bugfix: example white_yazdanbakhsh (6b15eaa)

  • Add clip=True to example white_radial (db9c0b3)

  • closes #48; fixed white issues (47b4b50)

  • Merge pull request #49 from computational-psychology/feat_todorovics

Bugfix: Todorovics (37d8535)

  • also updated todo-equal-target-mask (4d500d2)

  • closes #43; fixed all bugs in todorovics (b162153)

  • added whites demos (1d7246a)

  • added demos for all three plaid stims (0672974)

  • Merge pull request #45 from computational-psychology/fix_angular_freq

Bugfix: angular frequency in cycles per image (acef103)

  • Merge branch 'docs_demos' of github.com:computational-psychology/stimupy into docs_demos (35524d8)

  • added todorovics-demos (64925d4)

  • Bugfix: angular frequency in cycles per image (052d391)

  • Demos: stimupy.waves.angular (826e851)

  • Demo: stimuli/waves (a2c45a4)

  • Merge pull request #41 from computational-psychology/feat_noise_utils

Moving noise-utils to noise-init (fcf4717)

  • Merge branch 'main' into feat_noise_utils (3b78791)

  • Demo: stimuli/SBCs (2ac4162)

  • Merge pull request #35 from computational-psychology/feat_waves

Waves, primarily angular (f42bb0e)

  • closes #33; moved noise-utils to noise-init (2fdfd54)

  • Bugfix overview wedge (f1e5a9d)

  • Merge branch 'main' into feat_waves (799fb5b)

  • added gabors to all in plaids (21b4d8d)

  • closes #22; closes #26; fixed problem with (angular) waves (418458a)

  • Merge pull request #34 from computational-psychology/dev

Minor issues (1c76f9c)

  • Docstrings utils.plotting (24ea263)

  • units argument to plot_stim (and callers)

Replaces extent_key, but serves the same purpose. Can put in either:

  • pixels (syn: px, pix)
  • degrees (syn: deg)
  • another str that is a key in stim-dict, like current extent_key arg

Closes #9 (550a22e)

  • Merge branch 'main' into dev (1db171a)

  • Docs: bugfix tutorial - update references to stimuli (from illusions) (#36)

And update API paths (3091cc3)

  • fixed and updated mondrians; corrected error msg in radials (2f9105c)

  • Bugfix: overview gabors (2187127)

  • Change imports in components (4b2c1eb)

  • Bugfix components.overview should exclude exported functions (316a4c5)

  • Default to intensity_background=0.0 for some components (8dc1fbf)

  • Rename components.edges-functions

Now all edges.step() etc. (f33113a)

  • Fix & update overviews for all modules

Closes #29, #30, #32 Bugfix: explicit import and export in noises (2cfc77d)

  • Update components.waves example params (2621ebf)

  • Update overview (cc8f0a6)

  • Add staircase_s to stimuli.waves (27d10d0)

  • Update how components.staircase deals with intensities (c6fe298)

  • Remove angulars.grating (f1b5a17)

  • Use waves.angular in pinwheel (7f53ed7)

  • Bugfix: adjust distances properly for angular waves (a3d3322)

  • Add defaults to components.waves (1c488b0)

  • benarys raises error if targets do not fit into stim

closes #17 (fdb03a6)

  • Gabor args consistent with wave args, and added function to create plaids from any kind of waves or gabors

Closes #31, Closes #21 (71f5348)

  • Merge pull request #28 from computational-psychology/dev

Closing some smaller issues (b1dfd47)

  • Also rename rectilinear (from cityblock) in demos (a26defc)

  • Also update tests... (9e3a25e)

  • Unify structure for overviews

For each module, overview() generates a dict of stim_dicts, with some example stimuli. For "parent"-modules, they run the overview() for each of their submodules, and concatenate. plot_overview() simply passes this to plot_stimuli, as a nice shorthand. (f6b115a)

  • autoformatting (937c832)

  • closes #27; renamed cityblock to rectilinear (523f4d1)

  • closes #14; contrast_contrast new defaults for target_shape and alpha are None (0fd8b4e)

  • closes #15; fixed bug (c1bbf8d)

  • closes #16; bessel raises error if frequency=None (86020c9)

  • Bugfix: output visual_size, ppd in gratings.on_grating

Closes #18 (52b57de)

  • Rename rotated distance metric to oblique

Closes #10 (4eec2de)

  • Docfix: path to demos for noises (a8c8e02)

  • distance_metric to refer to image_base components

and rotation to refer to other orientations

Closes #8 (9f9825e)

  • Merge pull request #23 from computational-psychology/dev_reorganize

Reorganize stimulus functions (c7c2754)

  • Merge pull request #24 from computational-psychology/feat_demos

Reorganized (and updated) existing demos to fit new organization (cd8f644)

  • Remove demos sinewave, squarewave from components.frames (6da1150)

  • Bugfix: demo pinwheels name (349bba8)

  • Rename and update demo components.radials (266b847)

  • Move demo bessel to waves (34c191a)

  • Rename and update demo components.waves (aeed9f8)

  • Extract demo plaids (9b303b9)

  • Extract and move demo gabors (1b07da8)

  • Fix demo stimuli.gratings (d441aa9)

  • Start demo stimuli.waves, move gratings.square_wave there (8c1a7cc)

  • Combine and update demos Mondrians (ff2ffef)

  • Remove obsolete components.checkerboards demo (33683ce)

  • Move rectangular bullseyes (d4cf197)

  • Move rectangular rings (dbefad6)

  • Move circular rings (27a1791)

  • Move circular bullseyes (1900455)

  • Update README (66ce116)

  • Rename & autosummary template (f655e34)

  • Auto-rename illusions -> stimuli (6613ddc)

  • Rename & fix pinwheels (fka angulars) (2dcd181)

  • Rename dir illusions -> stimuli (9e03fb1)

  • (auto)format (969ae57)

  • Angular waves, currently not working (a237494)

  • Bugfix: imports (cce3333)

  • Add top-level __main__ (cd0b6ec)

  • Move all stimuli into stimuli subdir (though import up) (109064b)

  • Bugfix: gabor example (c2d2ef2)

  • Bugfix: checkerboard examples (30ba15a)

  • Remove illusions (1440793)

  • Move illusions.angulars -> pinwheels (26bba52)

  • Merge branch 'feat_cityblock' into dev_reorganize (2969f95)

  • Remove obsolete illusions.frames (59d1920)

  • Bullseyes from rings (f5690c6)

  • Bugfix: add origin to rings.rectangular_ (d977fbb)

  • Move generalized frames to rings.rectangular_generalized (9ece5c8)

  • Move illusions.frames.rings into rings.rectangular, .rectangular_two_sided (8fabb3e)

  • Cleanup components.frames (ecd652f)

  • Replace frames.frames by waves.square_cityblock (a2c4d45)

  • Add clipping to waves._cityblock (ee1420f)

  • Add Cityblock waves (1fec019)

  • Merge branch 'feat_radial' into dev_reorganize (b316b5b)

  • Rename components.circulars -> components.radials (3c3d434)

  • Cleanup components.circulars (02a66e8)

  • Split circulars into bullseyes, rings (eca182a)

  • Replace circular.rings by waves.square_radial (c30c9e1)

  • Circular White's uses (is) waves.square_radial (2aa7623)

  • Add clipping to waves._radial (2dd9297)

  • Bugfix: default origin for radial gratings (4b5a48c)

  • Add waves.sine_radial, .square_radial (a13bd2f)

  • Extract function for adding targets to waves/gratings (3d10e7c)

  • Cornsweets as toplevel stimulus module (3f9a52f)

  • Checkerboards as toplevel stimulus module (1e66d3d)

  • Absorb bessel into components.waves (69f5c2f)

  • Absorb components.checkerboards into stimupy.checkerboard (8b3db94)

  • Merge branch 'feat_waves_gratings' into dev_reorganize (05c1db1)

  • Remove deprecated components.gratings (d73500c)

  • Update test_gratings -> test_waves (a1b4d88)

  • Checkerboard uses components.waves instead of components.gratings (d2313b4)

  • Whites uses stimupy.gratings instead of components.gratings (828e2bf)

  • Plaid uses components.waves instead of components.grating (add14f1)

  • Update ModelFest (77092ac)

  • Gabors uses components.waves instead of components.gratings (58a5d17)

  • Move components.gratings.staircase to components.waves.staircase

And make flexible: can be applied over any distance metric (bc0837a)

  • Gratings as toplevel stimulus module (3e66f31)

  • Update all other stimupy.gratings functions

Now all use the stimupy.waves for the underlying waves (ee57de8)

  • Swap phase order (3dbad3a)

  • 0-based grating_masks (0b714cd)

  • Adjust examples (29f14d9)

  • Adjust fudgefactor... (8e6b920)

  • Bugfix: key target_mask in waves._linear (461f593)

  • Replace gratings.square_wave with waves.square_linear (ae195ef)

  • Better grating_mask in components.waves

Clarified code. Slight offset on edges, so that regions "round-down" (1c09044)

  • Better mask in waves (8f958bf)

  • Linear grating switch distance metric based on rotation (281acc4)

  • waves.sine_linear, .square_linear (f02940e)

  • Add stimupy.waves (9ae3bfc)

  • Default intensities for components.waves (07e83e6)

  • More complete output of components.waves.sine() (84485c0)

  • Docfix: docstring squarewave wrongly listed sinewave (b7cee3f)

  • Rename grating_mask instead of mask in components.waves.sine() (0ad53af)

  • Create super-overview (3428970)

  • Bugfix: Todorovic examples (0bc8350)

  • Delbeouf as toplevel stimulus module (db64171)

  • Mueller-Lyer as toplevel stimulus module (b287e95)

  • Ponzo as toplevel module (586300c)

  • Hermann Grid as toplevel stimulus module (db4f007)

  • Start overview for waves (f79e535)

  • Default rotation for waves is 0.0, not None (b821bde)

  • Add components.waves.square()

Pretty much a carbon copy of components.gratings.square_wave(), but this is the "generic" function that is distance-metric agnostic (and thus deals in "phases" (rather than e.g. "bars") (ca32001)

  • Move components.draw_sine_wave() to components.waves.sine() (81a603c)

  • Remove deprecated resolve_circular_params

and corresponding test

Closes #11 (54584f9)

  • Plaids as toplevel stimulus module (293db27)

  • Benary as toplevel stimulus module (774cc1c)

  • Cube as toplevel stimulus module (e87a5de)

  • Dungeon as toplevel stimulus module (c4449c6)

  • SBC as toplevel stimulus module (d44417a)

  • Todorovic as toplevel stimulus module (ce67d50)

  • Wedding Cake as toplevel stimulus module (01b4451)

  • White's as toplevel stimulus module (a59b28d)

  • Mondrians as toplevel stimulus

and collapsed illusions/mondrians with components/mondrians (c499a41)

  • Gabor as toplevel stimulus (e6f0197)

  • Merge pull request #6 from computational-psychology/lynn_issues

Added majority of demos and related bug-fixes (52108e5)

  • Also update launcher buttons branch (1ecedfb)

  • Update Binder links in demos

These should all point to the current HEAD (rather than dev_docs (65d8533)

  • Merge branch 'main' into lynn_issues (258bd0c)

  • fixed bugs in part of illusions gratings; and started gratings-demo (5b9d48d)

  • fixed mask-variable-name in circular demo (e248664)

  • updated wedding_cake; added limits and renamed variable (feb695d)

  • Merge pull request #4 from computational-psychology/dev_docs

Documentation: API reference, demos, README (0b3004f)

  • Autoformat (006abd0)

  • Update dev_docs with base-branch main (371eb86)

  • autoformatting (364913d)

  • updated RHS2007-json because of improvement in corrugated mondrians (6865fb7)

  • updated paper scripts to pass tests again (exception corrugated mondrians) (3e3fa64)

  • Merge pull request #5 from computational-psychology/dev_dependencies

Dev: simplify installing dev environments (402e5e3)

  • added a bunch of demos (f387bb9)

  • fixed small bug in two-sided mueller lyer (a378ada)

  • fixed mondrians (65c290b)

  • updated and unbugged frame-illusions (e91320a)

  • added target masks to delboeuf (f45221b)

  • simplified cubes to fix bugs (5d92cef)

  • improved errors; added phase shift consistently (fc4a546)

  • fixed bugs in checkerboards and added round_phase_width consistently (012d6bd)

  • fixed bugs and improved errors in benarys (925abec)

  • fixed problems and errorrs of pinwheel illusion (2d950ee)

  • Bugfix: all in stimupy.components should be list of str (b253954)

  • Merge remote-tracking branch 'github-public/main' into dev_docs (ffea283)

  • Docs: define public API for components

Export only the entries in all (fbf19b4)

  • Docs: headings in docstrings (398e492)

  • Docs: cleanup module-level docstring noises (e78bb11)

  • Docs: Fix and unify toplines in docstrings (cdb7ebb)

  • Docs: bugfix RHS2007.todorovic_out docstring (ebf1cde)

  • Docs: Fix references in docstrings (312ddec)

  • Update requirements.txt's (3d3a457)

  • Docs-dependencies specified in pyproject.toml

Can install using pip install -e ".[docs]" (bafb8f7)

  • Dev-dependencies specified in pyproject.toml

Can install using pip install -e ".[dev]" (5528cad)

  • pyproject.toml specify version earlier (ffe6c99)

  • Merge pull request #3 from computational-psychology/lynn_issues

Enhancements, bugfixes, cleanup, by Lynn (3288218)

  • ran auto-formatting (d8578c0)

  • added circles (lines and shapes) (6f82203)

  • Binder link demo links to lab interface, not raw notebook

Otherwise it gets rendered as plain markdown (d4ec3cd)

  • ignore period argument for oblique gratings (956abd7)

  • fixed that oriented gaussians and mask were rotating differently (f0c5a50)

  • fine-tuned frames (76fa262)

  • Update README (3a3302d)

  • Add documentation badge to README (8ab2760)

  • made cornsweets rotatable (af0a83a)

  • Revert f415243

No need to enable extensions on Binder (fe43dd8)

  • Specify optional dev-dependencies for docs in pyproject.toml

Can install using pip install -e ".[docs]" (179f292)

  • fixed use of intensity values in gaussian edge; added gaussian mask (6ba4dab)

  • added argument to ellipse to allow ellipse to reach beyond image size - used in gaussian mask (87ecc32)

  • Add MystNB to requirements to enable to Binder (111b3d1)

  • Override default viewer on Binder to open MySTs as JupyText Notebooks (f52bf29)

  • Install & enable JupyText on Binder (f415243)

  • Use JupyterLab interface on Binder (eb3d718)

  • fixed bug - order argument was always 0 in bessel (3cc88a1)

  • removed period arg from circular gratings (7366271)

  • fixed missing variable in overview (202ac09)

  • renamed carney-files to modelfest (a7b8258)

  • fixed rings, discs, and pinwheel (6505d0e)

  • merge conflicts part 2 (27341ec)

  • resolved merge conflicts (0f4c542)

  • updated and fixed all grating functions in components, and functions using them (62b081a)

  • fixed bug in component grating masks; added clipping to circulars and frames gratings (3b7e119)

  • Fall back to earlier version of jupyter-book (0ecefc3)

  • Merge pull request #2 from computational-psychology/dev_test_CI

Enable Continuous Integration (CI) (a5203fe)

  • Run linting only on main branch, and pull-requests (4898a50)

  • More explicit handling of TooManyUnknowns (vs. other resolution errors)

Fixes some flake8 warnings (5f437bb)

  • Pyupgrades: remove 'r' from open(json) (c2bfe08)

  • Pyupgrade as pre-commit hook

Upgrades syntax to newer forms (34cecaf)

  • Black'en (2af2109)

  • Black: also format Jupyter Notebooks (f97700b)

  • flake8: don't check for naming, tests, ignore some (import) errors in inits (2727279)

  • Add GHA workflow for linting + formatting (16ccb5d)

  • Include pre-commit hook in Nox (1b711f6)

  • Setup formatters as pre-commit hook

(to use: pip install pre-commit; pre-commit install) (eae9d61)

  • Add configuration for formatters: Black, isort (f9ac5e5)

  • Drop Windows support (for now)

Was failing on masks (but not images) of paper stimuli (e571c58)

  • Don't "fail fast", i.e., complete all platforms, even if earlier fails (573cdc3)

  • Run tests on multiple platforms (272bcab)

  • Setup to run tests on pull request as well (aa15102)

  • Reorganize GHA yml a bit

  • Upgrade pip, setuptools before installing deps
  • Run nox through pipx (b09d7c0)
  • Add badges for tests, Python versions (274b4c6)

  • Test for Python 3.8 - 3.11 (acc007e)

  • Run Nox on GitHub Actions (9c94b91)

  • Noxfile for automating builds through Nox (87e4254)

  • Update ground-truths (9f01e75)

  • Round to 8 digits before hashing (16e1079)

  • made order of intensity_vals in square-waves and sine-waves consistent, updated functions and papers using the code (1c2ecd1)

  • added new frames and circular components to overview (d15d172)

  • made draw_sine_wave seperate; added frames and circulars sine-wave and square-wave; corrected bug in circular gratings (9d7fb21)

  • GitHub Actions configuration (24dcd15)

  • Requirements for installing pytest (2de2a32)

  • Merge branch 'feat_demos' into dev_docs (09cc5b7)

  • Add demo basic shapes (a1e6234)

  • Use separate templates for different modules

Components, illusions have demos -- utils & papers do not (44b7814)

  • Merge branch 'feat_API' into dev_docs (27faa20)

  • Use custom template for API reference

This requires the config templates_path to be set, in order to find the template(s). Unforunately, this seems to overwrite where the theme cannot find its templates anymore. We can get around this for now by fixing some older versions of sphinx-book-theme and pydata-sphinx-theme (63bdb5b)

  • Autoinclude source-code in build HTMLs (and link from API reference) (aa59fbd)

  • Autodoc should respect __all__-attributes (0d2c040)

  • Also document imported members

e.g., shapes.disc (imported from circular.disc) (129d298)

  • Autodocument members (7b87fe7)

  • Comment-out autosummary_generate

This option controls whether autosummary generates the stub .rst-files based on the autosummary:: directive. This is true by default. (c90b44a)

  • Recognize NumPy docstrings

napoleon Sphinx extension can auto-translate NumPy (and Google) style docstrings to standard autodoc-docstrings (dbda8cc)

  • Ignore generate _api docs (5b9d444)

  • Autosummary generates documentation for modules

As well as "summary" tables of members (1285041)

  • Landing page for API reference

Link to API ref from index (5f2b51a)

  • Suppress warning about 'toctree directive not expected when using etoc' (5a31ec6)

  • Build RTD docs using python3.11 (6cd9b62)

  • Use intersphinx on installation page (43057ea)

  • Update installation pip from GitHub

Use the "zipball" method, to avoid problems if a user doesn't have git installed (ad85f81)

  • Configure intersphinx (d687715)

  • fixed bug in domijan2015-rings; raising error for odd ppds because stimulus behavior is not fully robust (48c5721)

  • reduced use of scipy to utils (4e483ed)

  • changed function behind grating-components (edfd985)

  • fixed small bug for small colormap (d6b4867)

  • separated and added contrast conversion functions for arrays and dicts (770bcfd)

  • Merge branch 'feat_Binder' into dev_docs (21341e2)

  • Add a binder postBuild file

Necessary to install stimupy itself on Binder after building Docker image before opening Notebook(s) (5c294d6)

  • Add a general requirements.txt

Include docs/requirements.txt (fbf6b6c)

  • For now, use dev_docs branch for Binder (72b6251)

  • Add launch buttons and config for Binder (864e836)

  • plotting functions does not throw an error if it cannot find the mask, but just skips the mask (d4eff76)

  • fixed bug of switched extent coords if no extent is passed (9e0e519)

  • updated reference in bindmann2004.py (ba09e06)

  • added papers bindmann2004 (ae39e9b)

  • uncommented two_sided rings (b502b37)

  • fixed bug and added pad_masks when padding dicts (c0e8cec)

  • fixed bug that height and width of extent were switched (1f217f3)

  • corrected docstrings - mask to target_mask (20de701)

  • added utils to get all function argument names, and to strip dictionary from all keys which are not function argument names (f1951a8)

  • corrected resolution docstrings (4b45d56)

  • reorganized functions; added resolve_dict and valid_dict (983c11d)

  • added all missing docstrings, re-organized utils, replaced degrees_to_pixels by resolution-funcs (7e37afd)

  • fixed bug that two_sided dotted sbcs did not contain correct shape and visual_size (16fe40b)

  • fixed bug that parallelogram and ellipse would not contain correct size params in output dict (92acc3c)

  • made filters functions (currently only bandpass) more consistent with stimupy workflows (33e0c02)

  • removed oriented noise for now (0fbb166)

  • renamed carney1999 into modelfest (154cb32)

  • updated carney1999.json (9a65fc1)

  • corrected keys for shape and visual_size for stimuli that involved stacking or padding (4750caf)

  • plotting functions take argument extent_keys for changing extent param of plots (dd38b35)

  • pad_dict utils now also update visual_size and shape keys (86bc84a)

  • closes #94; fixed all intensity ranges for modelfest. our modelfest now perfectly recreates original in all cases but checkerboard (99578b2)

  • now ignoring folder with original modelfest for testing (25fa0b6)

  • Merge pull request #1 from computational-psychology/dev_docs

Publish (draft) documentation (9e37617)

  • Some style updates to docs (18ddcea)

  • Merge branch 'feat_tutorial' into dev_docs (81cb64d)

  • Merge branch 'feat_installing' into dev_docs (6d1cbab)

  • Update dependencies (78830db)

  • Merge branch 'feat_JB' into dev_docs (2fa81ea)

  • Basic installation instructions (84f6b75)

  • Tutorial: replicate paper stimulus (31453b8)

  • Tutorial: illusions (c394253)

  • Tutorial for creating a basic stimulus from components (2122330)

  • Configure ReadTheDocs using JupyterBook (9610f43)

  • Basic skeleton for documentation (e699511)

  • Merge branch 'dev' into main (cfd6047)

  • Merge branch 'feat_packaging' into dev (8e36371)

  • Modern packaging setup

Use only pyproject.toml

Mark version in stimupy.version (23b75ba)

  • Merge branch 'dev_rebrand' into dev (e124d3d)

  • Cleanup imports (ffa8dd3)

  • Basic update README (d5b1a96)

  • Also update manuscript (0b48122)

  • Update notebooks (f12d1f4)

  • Update docstrings (6a420b0)

  • Rename dir to stimupy (e78fa9c)

  • Remove some floating files (ba3f5de)

  • Test overviews (cd3faf4)

  • Separate generating overview from plotting overview (99d8f0b)

  • Minor bugfix (176276b)

  • plotting function now creates colormaps for masks with many elements (741b190)

  • closes #120; moved overviews to inits (9a65592)

  • changed handling of colors for masks with many indices (a162d54)

  • closes #118; circular grating now outputs correct non-int number of rings (de916f9)

  • specify which mask to plot

Closes #109 (223777a)

  • closes #119; added more instructive errors if relevant function arguments are None (7376393)

  • created components overview, fixed some bugs (b5280a9)

  • removed contrast from input variables (16da7ad)

  • removed checkerboard test (294b4f4)

  • updated non-paper test cases (e23454b)

  • closes #112; added utility functions for two-sided stims (ee739f4)

  • fixed bug that frames_grating could only be square image (b0c3f39)

  • temporary fix for circular_grating if frequency does not perfectly work out (9484c9f)

  • fixed bug that circular gratings were always squared images (443085f)

  • corrected shape arguments in two-sided-sbc (c89365c)

  • corrected target positions argument in two-sided-sbc (5eb3400)

  • added two-sided sbc (4fc3d16)

  • renamed checkerboard targets to target_indices (dd3b354)

  • closes #102; renaming of modules and functions (d75c5d5)

  • updated naming and overview with ponzo and mueller_lyer (b4415f0)

  • closes #84; added mueller_lyer (0f86a01)

  • updated gaussian docstring (0560b07)

  • fixed bug, added origin to gaussian-mask (4c4e14f)

  • closes #100; added masks to Gaussians, also in Gabors and plaids (1cfdfa2)

  • changed rotation behavior of ellipse (48ded6e)

  • closes #101; added ellipse component (aca11f3)

  • closes #52; we now differentiate between target_masks and other masks (956b918)

  • closes #46; removed supersampling (980a01e)

  • updated overview to new white-use (a97debc)

  • closes #54, closes #65, closes #35; using new grating function in whites - this led to 1px-changes in RHS2007-howe and anderson (df751a5)

  • updated masked grating use in overview (7dc712b)

  • closes #99; made all shapes rotateable, updated scripts and rhs2007 and white1981 for slight changes in parallelograms (6590b96)

  • removed old backup grating file (33350e3)

  • added an additional function for grating_induction_blur which blurs a square-wave grating (ea3f7d1)

  • closes #97; updated grating_induction everywhere to use sine-wave rather than blurring (70e9eba)

  • closes #98; added grating illusions to overview (ff944aa)

  • added all grating functions to all (b45c96b)

  • by default, dont plot masks (ead7312)

  • added test cases for white1981 and white1985 (5b8a22f)

  • updated sizes in docstring and added warnings (c62fced)

  • updated target masks of counterphase illusion (af49d0c)

  • closes #96, closes #24; fixed grating illusions and added white1981 and white1985 (0b3e632)

  • added rounding to avoid changes at floating-point precision (94118d8)

  • added rounding to avoid changes at floating-point precision (866d3d0)

  • closes #95, fixed bugs/inconsistent behavior in edge placement (d0f7f9b)

  • rounding visual angle slightly changed carney1999-Gaborstrings and RHS2007-bullseye_thin for the better, recreating json (f51c71e)

  • now flooring impossible visual angle (5a7c162)

  • added tests for modelfest and updated many component-masks for that; updated RHS-json with new bullseyes (992dbab)

  • stacking dicts now by default increases mask_idx (90b2bcb)

  • closes #90; added experimental data to murray2020, RHS2007 and carney1999 (5f32da3)

  • closes #74; added optional shape arguments to dotted sbcs (828437e)

  • closes #69; added general-purpose frames and bullseye to create domijan-stims (d7e2ccb)

  • updated overview and some cleanup (9003db0)

  • corrected bug in dot sbcs (f9d8a6a)

  • corrected bug that mask_idx skips 1 in disc (a5241fe)

  • closes #82; added delbouef illusion (ac26631)

  • corrected mistake in docstring (18382e0)

  • added documentation to ponzo (c4ec78a)

  • added lines-circle (e739560)

  • closes #86; added Ponzo illusion (83c7e15)

  • closes #77; implemented all spatial modelfest stims (1d1c183)

  • closes #85; added lines and line-dipoles (238c405)

  • added documentation to plaids (45c9ea8)

  • closes #91; added plaids (aa01729)

  • fixed bug - moved edge shifting away from mask_elements (9596b5d)

  • improved constant phase-width in gratings despite rotation; removed weird code (399fcd6)

  • fixed bug to be able to change origin + phase shift (d2c4b3f)

  • fixed bug that rotating inteferes with origin; cleaned code (99ffe88)

  • closes #93; extended use of origin - options: corner, mean, center (9da47f7)

  • added roll-dict-util (4d20cb8)

  • added phase_shift for square-wave and checkerboard (541fa63)

  • checkerboard is now created as plaid (8ca9ca1)

  • small change (a0b60d4)

  • added documentation to edge components (7147bbd)

  • added Bessel function in circular components for modelfest (edd84ca)

  • added binary noise for modelfest (a5fab8b)

  • added edges-component and adapted scripts which contained edges (eeb7ff5)

  • added input variable for changing sine-wave / gabor origin (c34dfc5)

  • fixed bug for using gaussian windows in gabor (c1eb21e)

  • fixed bug for low resolution for default target placement (d943680)

  • fixed wrong documentation and changed input order to visual_size, ppd, shape (56ee47d)

  • closes #89; general component Mondrian, updated related code (17058e9)

  • forced parallelograms to cover corners - hence updated RHS2007 corrugated mondrians (9b4c507)

  • corrected typos (535fc6f)

  • corrected bib-name (80dd437)

  • first manuscript draft (c351d85)

  • closes #87, added luminance staircase (5c64b58)

  • updated grating use in illusions (84cd234)

  • solved shape bug in gratings (d2ce712)

  • simplified code for calculating new shape - however, not working yet (b3a072d)

  • closes #76, closes #79; created utils-contrat-conversions and added contrast changing functions including transparancy (f180879)

  • deleted old components backup (1e4f631)

  • Merge branch 'rotated_gratings' into 'main'

Rotated gratings, sinewaves, gabors

See merge request computational-psychology/stimuli!26 (02e4f0d)

  • Bugfix: convert to radians (efe979e)

  • Calculate 2D size/shape from 1D, for rotated gratings (438e361)

  • Merge branch 'feat_unify_gratings' into 'main'

Rounding grating parameters

See merge request computational-psychology/stimuli!25 (00b8949)

  • Add round_phase_width flag

rounds phase_width to integer number of pixels. By default that's good behavior, but for angular gratings it isn't, so flag. (0095847)

  • Update tests and paper stims (dc8d708)

  • Cleanup resolve_grating_params (da55049)

  • Docstring round_n_phases (b0b1594)

  • Docstring factorize (95e53df)

  • added first draft gabor (d7ace84)

  • added phase_shift input variable to sine-wave (175a3e1)

  • first draft of rotatable gratings and sine-wave (34be9f8)

  • Merge branch 'feat_shapes' into 'main'

Move basic shapes to stimuli.components.shapes module

Closes #64 and #68

See merge request computational-psychology/stimuli!24 (5a6832a)

  • added new shapes to all (d1d95d2)

  • fixed bug in grating resolving and updated warnings (396ad39)

  • Update testcases (217f2be)

  • Bugfixes (8eefe34)

  • Use rounding of phases (83a92d6)

  • Helper function to round_n_phases (e461419)

  • Util for integer factorization

not very efficient, but should be good enough for our purposes (83bd0e6)

  • first draft even, odd etc period in grating (e096a15)

  • Also import disc, ring, annulus, and wedge in shapes (c8116a3)

  • Also moved transparency to shapes (12953fe)

  • Fix overview (6cd3f5a)

  • Parallelogram_depth not optional

Other arguments default to None, closes #64 (031b342)

  • Shapes no longer needs degrees_to_pixels (f8bef1d)

  • Demo cross (c65b569)

  • Cross uses resolution resolving (1b8cc94)

  • Demo parallelogram (61474a9)

  • Parallelogram uses resolution resolving (962e269)

  • Demo triangle (6812abb)

  • Triangle uses resolution resolving (a9e05e8)

  • "Fix" rounding RHS2007.todorovic_in_large (0fec90b)

  • Rectangle component uses resolution resolving (5c2cb6a)

  • Move basic shapes to components.shapes

Closes #68 (b48467f)

  • Update Murray2020 checkassim ground truth for mask

... all ints (1b70e79)

  • Merge branch 'feat_unify_gratings' into 'main'

Unify some of the grating resolving

See merge request computational-psychology/stimuli!23 (dfe48a3)

  • Bugfix: Linear grating uses draw_regions (620f036)

  • Frames demo: can select any grating arguments (9a35b79)

  • Bugfix: ensure that order of grating intensities always stays the same (1bb480f)

  • closes #50; added padding utils for dicts (4993133)

  • added size resolving to most stimuli (757b0f1)

  • Bugfix: disc radius can be used as image size (2751519)

  • Bugfix: mask_elements correctly gets shape (3670b78)

  • Bugfix: frame_widths (4ad676f)

  • Minor cleanup (7f7a188)

  • Use mask_elements for linear gratings (83d37a3)

  • Better handling of 0 visual sizes (15e1412)

  • Add origin to mask_elements (95ae23f)

  • Docstring image_base (0560fc2)

  • Interactive demo for image_base (36899f5)

  • Add origin argument to image_base (0b787f9)

  • Move to stimuli.components: image_base, resolve_grating_params, draw_regions (aa5dcb8)

  • Extract components.mask_elements()

others just wrap around it (772b854)

  • Pinwheel: use mask of disc to mask, not img (0aba9be)

  • Unify mask_[element]s functions

...mostly. For linear gratings ("horizontal"/"vertical" orientation), still need to shift distances... (df8b164)

  • Bugfix: demo image base (1a05d4c)

  • Unify intensity arguments

intensity_[element], defaults as tuple (not mutable list) defaults for square-waves (1.0, 0.0): first phase is up, in line with sinewave (b37a1fa)

  • Update grating_params demo for frames (1d88ae3)

  • frame_widths argument not optional in components.frames() (5d6803b)

  • Update RHS2007 ground truth for bullseye illusions

...since the frame drawing has changed slightly (005be80)

  • Better deal with rounding issues (e36b337)

  • Update angular demo (edead73)

  • Mask_segments uses identical code to other mask_[element]s (fb67052)

  • Separate mask_segments, drawing (971986b)

  • More variable renaming (6bbb456)

  • Minor changes (1594120)

  • angular segments, some variable renaming (72f44e3)

  • Update frames demo (8b74417)

  • Cleanup frames a bit (fd1b0ac)

  • Also output shape in image_base (ef2e7ee)

  • Docstrings (a2af69d)

  • Separate drawing frames, from drawing ortholinear grating (c0c907d)

  • Function for creating image from mask and intensities (b72727e)

  • Clean up components.components (2b5e5c7)

  • Separate masking of bars, and drawing linear square_wave grating (85f190a)

  • If None, set largest radius of ring to visual_size max (7402a14)

  • Add pinwheel to demo (8359723)

  • Clean out angular demo (0f0200e)

  • Angular grating uses resolve_grating_params (e19c695)

  • Angular uses image-base (a245ff2)

  • Image-base docstring (e0e72ad)

  • Image-base also rotates (2e1df0d)

  • Add circular grating to demo (6b91667)

  • Circular uses image_base (473d35e)

  • resolve_grating also does edge-cases (847acac)

  • Grating, frames, use image_base (f7009ec)

  • resolve_grating_params also outputs edges (748dcb0)

  • Rename xx, yy to horizontal, vertical (in line with "distiance") (3aa597f)

  • Demo image_base / dimensions (3600a96)

  • image_base component (3b14bb5)

  • Demo linear gratings, frames (f1afdcf)

  • Demo resolving grating params (b2653bd)

  • Move resolve_grating_params to components (1e1da01)

  • added gaussian component (718c451)

  • added todorovic_equal illusion (760da79)

  • closes #25; add original source to illusions (aed377e)

  • closes #61, closes #59; working overviews, removed default params from functions (a3a7797)

  • changed variable name (d395983)

  • changed cube implementations (0e01424)

  • reorganized dungeon and added resolving (ea0f1df)

  • fixed that checkerboard-add_targets converts masks to float (b12cf75)

  • made masks int and added mask=None if no target is added (989c42f)

  • removed irrelevant tests (4861661)

  • fixed small bug that mask was not int (5572ac9)

  • Also removed test_contrast_metrics (d636569)

  • closes #62, closes #60; fixed bugs in sbc-general and todorovic-cross (07e1200)

  • closes #15; updated plot_stim(uli) and all scripts that use them; added to_img() (78e400e)

  • added all .ipynb_checkpoints to gitignore (3056654)

  • closes #58, added all to all scipts, re-structured pink noise into one_over_frequency noise (289a3c8)

  • removed contrast_metric, transparency, texture from init (9391e5d)

  • closes #7, closes #57; removed contrast_metric, transparancy and texture from main branch (324b08f)

  • added scripts for white1981 and 1985 (293c16d)

  • fixed alignment bug in grating_grating when rectangle is too large (59ee907)

  • fixed bug in grating_grating that rectangle and gratings could have different shapes + made masks ints (93c6b92)

  • Rename RHS2007 checkerboard stimuli

Names match paper (except for omitting the decimal point) Closes #14 (dd6d526)

  • corrected bug - removed rings from init (6a0ed3e)

  • Merge branch 'feat_frames' into 'main'

Frame-like stimuli

Closes #41, #39, #40, and #47

See merge request computational-psychology/stimuli!22 (9b9d32e)

  • Merge branch 'feat_gratings' into 'main'

Gratings (square-wave)

Closes #47

See merge request computational-psychology/stimuli!21 (d7472f6)

  • Attempt to update paper stimuli and remove vestigials

Not quite replicating though.... (9e4c10c)

  • Demo for frames.bullseye (576ee2f)

  • frames.bullseye (1b1b35c)

  • Bugfix: frames component

Flexibly resolve resolutions (1d80c01)

  • Demo for frames component and illusion (8b7232b)

  • illusion.frames

Closes #41 (fe83ad9)

  • Component for square frames

Closes #39, #40 (e00eee5)

  • Include grating_induction and grating_grating_shifted in demo (f759c2f)

  • Update grating_induction (b003116)

  • Incorporate grating_induction (9b6dfe2)

  • Remove vestigial square_wave_grating (4987c4a)

  • Cleanup (ea7e0b2)

  • Update grating_grating_shifted (8224b10)

  • Update grating_grating (97d51ca)

  • No default targets (f3a1031)

  • Update grating_uniform (0f8cbc2)

  • Demo for square_wave 'illusion' (8646629)

  • Rename and update square_wave 'illusion' to use square_wave component (2b57463)

  • Update docstrings (18431b1)

  • Bugfix demo (34e3a1c)

  • Bugfix: plotting masks (ea69405)

  • Add orientation to demo (fff029c)

  • Add orientation to square_wave component (9ff5628)

  • Demo for grating component (3d75063)

  • Grating component outputs stim_dict (ba65627)

  • Optionally round number of phases (ce11bd4)

  • Resolve grating params in 1D

Closes #47 (ebd02e5)

  • fixed small typo in general documentation (62668f6)

  • Separate generating of mask as prestep for generating square wave (463069c)

  • Rounding of pixels optional in resolution (6b958a9)

  • Rename argument (b3c8c25)

  • Use utils.resolution to resolve resolution params (f6c0006)

  • Tests for resolving grating params (f578899)

  • Function for resolving grating params (06e22e2)

  • Extract squarewave (grating) to separate component (507ef5d)

  • closes #33, closes #48; all components return dicts; updated variable names and improved consistency (1aae8f9)

  • added new version of wedding cake (d2245db)

  • fixed problem in todorovic that precision affected target placement (ee9d0f7)

  • Merge branch 'feat_circular' into 'main'

Circular and angular stimuli

Closes #36 and #37

See merge request computational-psychology/stimuli!19 (944629d)

  • Merge branch 'feat_utils' into 'main'

Utils for getting masked values, averages, etc.

See merge request computational-psychology/stimuli!20 (b04feb6)

  • Merge branch 'feat_domijan' into 'main'

Solve resolution for Domijan2015

Closes #32

See merge request computational-psychology/stimuli!18 (23c251c)

  • Bugfix angular demo: wedge(angle) -> wedge(width) (40cacd1)

  • Bugfix circular demo: circular_grating is now called circular.grating (ab34f31)

  • Use colormap to decide mask-indices when plotting mask (dfbb3c7)

  • Add utils for getting masked values, average target values, etc.

These originally come from BRENCH.postprocessing.utils (b319349)

  • remove & ignore .ipynb checkpoints (72377ed)

  • Rename circular_grating() -> circular.grating() (ec4e298)

  • docstrings (5f8c2f9)

  • Update Demo radial_white (99e41ff)

  • Update RHS2007 (518dd82)

  • Fix angles (8b804ca)

  • Update illusions.angular.radial_white to use pinwheel component (becdee9)

  • Move radial_white to illusions.angular (0ce2a6d)

  • Merge branch 'feat_angular' into feat_circular (ba48d57)

  • Update and expand Demos (1e3d912)

  • Propagate rotation argument through components (34effb3)

  • img_angles returns stim_dict (65005b5)

  • Demo for pinwheel (74c7e8d)

  • Pinwheel component (ed9421a)

  • Update docstring (510e6fe)

  • Demo angular grating (c579a06)

  • angular.grating (a2a6e42)

  • Bugfix: angles (c3e469c)

  • No drawing of background necessary (2f8f024)

  • Get rid of supersampling (aca614d)

  • Demo for angular segments (acdeee2)

  • Change segment_masks into angular_segments (f4e8971)

  • Resolve angular grating params (4aabae1)

  • Angular segment masks (a3b0f36)

  • type docstring (a07a895)

  • Demo wedge (33b44de)

  • Component to draw a wedge (circle segment) (d7b5c4c)

  • component to mask a contiguous segment of angles (a8ed843)

  • Demo for angles (e882208)

  • function for getting angle at each point (91c702f)

  • components.disc uses components.ring (628cca8)

  • Update demos for illusions.circular_white, .bullseye (2e02513)

  • Add ring_width, n_rings as (optional) arguments to circular illusions (34582ba)

  • Default intensities as floats (3452f78)

  • Paper stimuli specify supersampling=1 (0cbd4fc)

  • Rename params (cf5a84a)

  • Update circular_white, circular_bullseye (46b448a)

  • Default supersampling factor = 1 (16e1f72)

  • Demo for grating only frequency, not n_rings (0caf4d1)

  • intensity_background 0.5 by default (5203980)

  • Function defining ring masks (f077602)

  • Demos for components (70aa8fb)

  • Bugfixes: resolving/checking of ring_widths

Also fix test (dfa91c2)

  • Better resolving/checking of visual_size (3261d95)

  • Rename intensity_background (0c94b80)

  • Circular grating (62f9424)

  • docstrings disc, ring (bc87232)

  • resolve_circular_params (5d9f1e3)

  • Add disc, ring, annulus demos (fa67dce)

  • Disc, ring, annulus

Closes #37 (16ebcbf)

  • Rename background -> background_intensity (9a62dd0)

  • Add demo of disc_and_rings to Notebook (82fb2a6)

  • Ensure correctly drawing from outside -> in (32f14cd)

  • Some renaming (fd6862a)

  • Output dict by disc_and_rings (f8ae906)

  • Resolve resolution for disc_and_rings (e59ed06)

  • Rename, add and document arguments to disc_and_rings (02ad7f7)

  • Extract disc, rings, to separate components.circular (97aaeef)

  • Bugfix: don't auto-import utils.utils (d70b13f)

  • Update docstrings (4ccae85)

  • Domijan2015 uses utils.resolution for all resolving (c5b6635)

  • Test that resized stim are within 1 pixels (if ppd not integer multiple) (af47865)

  • Use defined visual_sizes, rather than recalculate (39b67af)

  • Import and use resolution

not just resolution.resolve (449fc8f)

  • Parametrize test for various ppds -- not passing! (3bb841f)

  • Test Domijan2015 resizing; integer scaling of ppd (e80ee72)

  • Bugfix: domiijan2015.checkerboard_contrast_contrast original_shape

with padding is (100,200), not (100,180) (4e6dfa5)

  • Merge branch 'feat_utils' into main (2482da3)

  • Fix imports now that utils have been split up

Closes #8 (8db9a74)

  • Degrees to pixels and compute ppd to resolution (ed788aa)

  • Move more drawing-like utils to components (93b5520)

  • Separate utils for filtering (35c6fa5)

  • Extract plotting to utils.plotting (dd03ea0)

  • Move write_array_to_image to utils.export (bf7e670)

  • Extract utils for munsell <-> luminance to color_conversions (e0ab826)

  • Deprecate pixels_to_degrees

in favor of resolution.visual_size_from_shape_ppd (39e22ca)

  • Deprecate center_array (736502b)

  • Use pad_to_visual_size where possible (0ab7cc7)

  • pad_to_visual_size (f929ce9)

  • pad_by_visual_size (f0aeae7)

  • pad_to_shape (bd9fd7d)

  • Tests for pad_by_shape (a348153)

  • Rename: pad_array -> pad_by_shape (65f60fe)

  • Rename: pad_img -> pad_by_visual_size (3037ab4)

  • All padding functions to separate module (79f0dde)

  • Auto-format (ed19e71)

  • made noise code pkg-compatible and added demo JNs (2870b6a)

  • moved illusion demos in subfolder (0061392)

  • added circular bullseye (function+demo) (ed759d2)

  • added demo JN for whites (3ef39fb)

  • fully fixed misplacement now by only using target thickness // 2 (897becb)

  • added demo JN for todorovics (e1f86ee)

  • fixed small bug which led to misplacement of covers (83bc31a)

  • fixed bugs in dot-sbcs (d4ba075)

  • added relevant limitation (b54eb01)

  • added demo JN sbc (a972c88)

  • added demo JN of hermann (8d67b95)

  • added demo JN for cornsweet (22a90d9)

  • added demo JN for circulars (18b6a5b)

  • added demo JN for benarys (0717e85)

  • added more limitations and added two user-friendly todorovic-benary (9953c17)

  • updated docstrings including reference and use (21007d8)

  • changed default behavior of domijan-config stims (bc81aab)

  • updated todorovic params in RHS2007 (ebda0ce)

  • added and updated docstrings (743bcf4)

  • updated or added scipt-docstrings, and set domijan-default shape and visual_size to None (d52e8be)

  • Merge branch 'dev_refactor' into main (6817eb5)

  • consistently use intensity now (7fe1884)

  • solved merge conflict (f30c9a1)

  • renaming some variables more consistently (b034d91)

  • Stub Notebook stimspace for checkerboard (f8a980c)

  • Plot_stim in range (0,1) (0eff732)

  • Merge branch 'feat_checkerboard' into 'dev_refactor'

Checkerboard component and stimuli

See merge request computational-psychology/stimuli!17 (b159e70)

  • Minor docstring stuff (fc7e8a8)

  • Cleanup (94f157e)

  • Remove stray import (80d1b51)

  • Clean up imports (7688d17)

  • Update Domijan2015 checkerboard, checkerboard_extended (6055a66)

  • Murray2020 uses new checkerboard (9067bee)

  • Use new checkerboard illusions for RHS2007 (58ef3a2)

  • Simplify resolving board resolution, and docstrings

..and additional tests (fd0f919)

  • Start tests for checkerboard (31c4151)

  • Raise error if target(s) fit in board (6e898c3)

  • Checkerboard contrast-contrast now also uses new checkerboard (ba64cda)

  • Remove old checkerboard from components (a39cbf5)

  • Use new checkerboard in illusions (0022c3a)

  • New components.checkerboard module (f1d6e91)

  • use reduced mask in murray-white (8df0ea2)

  • corrected bug in white (7f7537a)

  • added default visual_size in deg (bb4b8ac)

  • added stim defaults to output dict (518c4c7)

  • added stim_defaults as params to output dicts (6b7e41e)

  • tiny change (bf992be)

  • in warnings about shape change, also contain requested shape (b95c3af)

  • only output warning for shape change, if it actually happened (60e51d9)

  • enforcing full period in all white stims to not change the appearance of the stims when changing their size (1909708)

  • removed additional params from json which led to error when generating gts (7d8c744)

  • added functionality to pass height and/or width to define stimulus sizes, and added defaults (7564806)

  • correct bugs in radial whites and added missing radial white (thin) (80660a6)

  • moved targets in todorovic by one pixel (a88af96)

  • Merge branch 'dev_refactor' of git.tu-berlin.de:computational-psychology/stimuli into dev_refactor (d43d5e8)

  • updated benarys cross (479896d)

  • Merge branch 'feat_resolve_resolutions' into 'dev_refactor'

Resolve & validate shape, visual_size, ppd

See merge request computational-psychology/stimuli!16 (c9141c0)

  • partially updated benarys cross and changed default ppd for domijan2015 - producing the correct stims (31ab942)

  • updated sbc variables. added sbc function which automatically centers the target (f213016)

  • updated some variabe naming and doc (2d13114)

  • Bugfix resolve to deal with scalar inputs (b181119)

  • Docstrings (19d7056)

  • Resolving 2D now resolves each dimension seperately (2646ed0)

  • Extract 1D resolvers (7d13041)

  • Write (failing) tests for resolve (d7d8f90)

  • Add tests for canonizing None -> (None,None) (fd2fd16)

  • Rewrite tests for valid resolutions (0823154)

  • Docstrings (050d709)

  • PPD does not have to be int (fd72297)

  • Check (& test) for None input(s) (cf8f0ed)

  • Refactor resolving calculations (900f840)

  • Warn user about rounding when determining Shape (d1b6b40)

  • Rename to stimuli.utils.resolution (165e09b)

  • Function for resolve resolution from 2 knowns (683c6ff)

  • Function (w/ tests) for checking that resolution specification is valid (5a58a2f)

  • Function & unittest for getting visual_size from shape and ppd

And mostly use the same tests for all resolvings (373752e)

  • Function & unittest for getting shape from visual_size and ppd (5f13ea4)

  • Flip width / height -- to be in line with numpy.array.shape (03c1648)

  • Function and unittest for calculating ppd from shape and visual_size (089b6e4)

  • Module for validating shape, visual_size and ppd. Includes tests. (d4df484)

  • Autoformat utils (5849fb7)

  • Murray2020.white uses new white_two_rows (9613b6c)

  • All Murray2020 masks should be of dtype int (740f12f)

  • Merge branch 'dev_refactor' of git.tu-berlin.de:computational-psychology/stimuli into dev_refactor (247b2b2)

  • adapted paper scripts and updated rhs.json because most stims changed by a tiny amount (1 row/col of pixels) (f7e7ea1)

  • updated init because of new modules aka moved functions (f9bd8d2)

  • moved wedding cake. still wip (56a4747)

  • moved and improved circular white and radial white (3da0ec5)

  • improved existing white functions, made them consistent and added some user-friendly versions. removed circular functions and wedding cake (0449e12)

  • updated old, flexible todo-functions and added user-friendlier versions (a886dae)

  • updated square-wave (a035402)

  • updated components while updating individual stimuli (4b8b6b3)

  • Install matfile for murray2020 stimuli

include it in MANIFEST.in Closes #28 (8014e7b)

  • corrected target mask in murray-checkassim and updated docstring (4e5b030)

  • short-term fix for domijan-benary at ppd=48 (7e94068)

  • by default, turn off smoothing in stims (37d47e3)

  • made circular stimuli smoother (05dec90)

  • added disc_and_rings to components and made it stim-pkg compatible (190256f)

  • murray2020-checkassim created with stim-pkg now (possibility to create without padding added) (4c12d75)

  • removed hack for aligning benary at ppd=32, height_deg=16 (5e5eb13)

  • added a small number to benarys cross target size and 2nd x-coord to make sure that it is aligned at ppd=32 (59af60f)

  • adapted post-rotation treatment of triangles to ensure straight lines in benarys cross (e8abeaf)

  • fixed problem that target masks were not exactly the same as target in wheel_of_fortune (4437ea2)

  • solved local merge conflict (my mistake) (d2aba4f)

  • normalized murray2020 stims between 0-1 (3f19a7c)

  • Update checksums for Robinson et al. (2007) stimuli (cd1ee08)

  • Update checksums for Domijan (2015) stimuli (d7d470c)

  • Normalize all Murray (2020) stimuli to range [0, 1], and test (e820c14)

  • normalized stimuli between 0-1 and added original_range (2d4e247)

  • removed padding from bullseyes (22e28ea)

  • fixed problem that padding wasnt removed in RHS2007-todorovic_in_small (ad1f88c)

  • Merge branch 'dev_refactor' of git.tu-berlin.de:computational-psychology/stimuli into dev_refactor (ba1f0a2)

  • made padding optional and added height_px and height_deg as input options (8832be7)

  • RHS2007 padding optional (fabf701)

  • Merge branch 'lynn_dev' into dev_refactor

Closes #4 Closes #20 Closes #19 Closes #18 (c465f3b)

  • added target masks to dotted sbcs (de0f7d7)

  • corrected docstrings (28cf3ae)

  • added grating_uniform, grating_grating and grating_grating_shifted (f20a1f9)

  • updated use of grating_illusion (7f692cf)

  • updated docstring (55fd960)

  • using square-wave component now, and changed inputs (bcf1ae0)

  • added square-wave component (eabe33e)

  • added sbc_with_dots and dotted_sbc (61ce0ff)

  • added disc component (f62d8ab)

  • corrected docstring of rectangle (5ff8b64)

  • improved sizing of white_zigzag (586658f)

  • updated paper scripts to function changes (985549c)

  • removed padding+doubling (e45aa4d)

  • cleaned script and adapted docstring (902fc34)

  • adapted herman grid to repo-use (f4f6e49)

  • put checkerboards in one script and removed padding+doubling from functions (042dae1)

  • added checkerboard component (938faaf)

  • Remove defunct demo scripts (1dad027)

  • Merge branch 'feat_murray2020' into dev_refactor (7da2907)

  • Remove other implementations of Koffka Ring (2c9af41)

  • Move square_wave to components (861ce5e)

  • Fix some conditionals (4cf7e74)

  • Fix some imports (4a12a62)

  • Murray2020 stimuli take ppd argument

Original PPD = 16 pix / 8 deg new argument scales this, so only works for even numbers (689ee84)

  • Merge remote-tracking branch 'tubgitlab/noise' into dev_refactor (008860d)

  • Dungeon illusion no longer does doubling+padding (31a0fc4)

  • Update checksums for new, and for improved, stimuli (e4e6f26)

  • Merge remote-tracking branch 'tubgitlab/lynn_illusions' into dev_refactor (d518f6e)

  • Merge branch 'feat_testing' into dev_refactor (72278d4)

  • Merge branch 'feat_plotting' into dev_refactor (975c8bf)

  • gen_ground_truth uses .gen_all() functions (653b36a)

  • Add .gen_all() function to each paper (b101dea)

  • Extract hashing, saving to JSON as utils.export module (b622cae)

  • target indices (0,0) always indicate the center in zigzag white now (cb34a8e)

  • Use md5 hashing, faster than SHA1 (611a1bf)

  • Remove pickles (6787d40)

  • papers-module exposes list of papers as all

Can now do "from stimuli.papers import *" and get toplevel names "RHS2007", "domijan2015", "murray2020"... so that stimuli can be called by e.g. RHS2007.WE_thick()

Can also access this list as stimuli.papers.all, which can be used for testing (3c60953)

  • added white_zigzag (ea0375b)

  • switched input variables of mondrians (b2b0f0e)

  • added docstring and switched inpt variables (26d9176)

  • updated and added docstring (a2b8109)

  • removed matplotlib import (a1cb861)

  • added corrugated mondrians (25cbc30)

  • parallelogram: allow both directions (969d959)

  • added parallelogram (28c3884)

  • removed old todorovic function (dc2bf7f)

  • removed old sbc function and added docstring (42ca612)

  • updated paper scripts to work with updated functions and added more missing stimuli (5b71618)

  • created single functions for sbc and todorovic stimuli and changed functionality (a2e0cac)

  • removed old rings, changed name and small updates (46b50f6)

  • removed old bullseye, changed name and small updates (e6debd3)

  • renamed rings and bullseye (a219b6b)

  • added component rectangle and some docstrings (fc4be09)

  • small correction (8090373)

  • removed old bullseye, changed illusion name and doc (cd32421)

  • created component cross and replaced code in benary (5442e3e)

  • tiny update in error msg (a4f5b36)

  • updated anderson white and added yazdanbakhshs white; added missing stimuli for domijan2015 (white yaz, white and, white how) (fd47264)

  • Reduce gen_ground_truth to single (flexible) function (260eeef)

  • Use hashes of img, mask, in testing (e572053)

  • updated benarys cross to allow more targets and also triangular targets; added benarys to rhs2007 (811252a)

  • added components, added triangle function (2e9c08d)

  • updated rings and bullseye to only create single stim and let paper-pys do the stacking and padding (7314b85)

  • added titles to plotting function and changed cmap for target masks (0c2f395)

  • Murray2020 uses plot_stims (284c385)

  • Make masks=false default when plotting paper stims (a8b4433)

  • plot_stims takes argument for showing masks (fceaa47)

  • Unify plot_stim usage (231c9ba)

  • Merge remote-tracking branch 'tubgitlab/lynn_illusions' into dev_refactor

Mainly auto-formatting, but also use utils.plot_stim (f1c716a)

  • Padding mostly done by paper functions

For some "double" stimuli, it's still done inside the stimulus function itself... (874a014)

  • Autoformat utils (b739247)

  • adapted cornsweet illusion and added mask (821263d)

  • Robinson et al (2007) stimuli generated by papers/RHS2007 (da4f0d2)

  • added lynns noise code (0a64108)

  • Remove Stimulus.Stimulus (1110ca6)

  • Autoformat (f1b0e05)

  • Domijan (2015) stimuli generating in papers/domijan2015 (8e49d99)

  • Murray2020 in papers/init (c9d16fe)

  • Remove vestigials (303f720)

  • Regression test Domijan2015 against pickled output (bde86be)

  • Pickle output Domijan2015 (8a4c96d)

  • Update Domijan2015 tests (942476d)

  • Bring Domijan2015 in line with other papers (5eef7aa)

  • Clean up RHS2007 plotting code a bit (ea466cb)

  • NotImplement RHS2007 raise errors (ab5d943)

  • Export all RHS2007 stimuli explicitly (36b787b)

  • Merge branch 'murray2020' into 'main'

Murray (2020) stimuli

See merge request computational-psychology/stimuli!14 (1387f2c)

  • Add note about Haze illusion to module docstring (e558bdd)

  • More flexible plotting (313e9b3)

  • Fix argyle masks (a8192ea)

  • Docstrings for each function (378b1e2)

  • Bugfix: import math (577eaf0)

  • Module level docstring (8cf46ea)

  • Softcode stimuli testing (a8dee47)

  • Explicitly export only stimuli from Murray2020 (c07e735)

  • Set up tests for murray2020 stimuli (a810784)

  • Don't print matfile filename (d9f81bb)

  • Cleaner masks (8c608fa)

  • Cleaner way of getting masks (b3d5e4a)

  • Fix argyle masks (cc8c2a5)

  • Bit of cleaning (50092f5)

  • Remove ini_matrix

Use np.zeros instead (a83b8f4)

  • Combine into single module papers/murray2020 (566e55f)

  • Delete murray2020_script.py (782b841)

  • all stimuli and masks from the murray2020 paper (0cc2ff5)

  • final version (54ef53b)

  • Delete murray2020.py (a0f9f2a)

  • Murray2020 demo script to plot stimuli and masks (fae3526)

  • returns stimulus + mask as a dict (3b077d0)

  • creates koffka connected automatically and returns the stimulus and mask (448dab8)

  • creates koffka adelson automatically for different ppd and returns the stimulus and mask (3e0dc84)

  • first version of plotting all stimuli and masks (ebfb7ef)

  • Revert "Add new file"

This reverts commit 7a1d86437871fb893c9d10534675bef45b08e64d. (f753712)

  • Parameterized Adelson's Koffka ring (26f2672)

  • Add new file (7a1d864)

  • Update pathfinding for matlab file (a1dc2ee)

  • Upload New File (2792080)

  • Murray2020 stimuli script (ca5610a)

  • RHS2007 WE_Thick resize and offset targets by 1 pixel to match exactly (25ba029)

  • changed img from attribute to dict (063a1c5)

  • adapted RHS2007 demo script to using dicts instead of stimuli objects (73e6889)

  • corrected padding value for domijan white (0e28f39)

  • changed target_mask to mask for todorovic (0664d20)

  • Bugfix: Todorovic illusions produces dict as output (1f198c2)

  • changed the function to take in Michelson contrast as input and to be robust to changes in ppd (fb100ca)

  • fixed output format of one white func (32bdfb8)

  • changed output format from object to a dictionary (43bdd90)

  • Bugfix: circular White's illusion would have gap between rings (0c6c2d1)

  • Bugfix: circle mask would miss pixels (5eada03)

  • Merge branch 'main' of git.tu-berlin.de:computational-psychology/stimuli into main (ae92d9c)

  • corrected weird target placing behavior for uneven SF-resolution combinations (d070464)

  • Bugfix: whites tries to import stimuli which causes problems on Python2 (a0a12cc)

  • fixed bug in whites which led to right target being misplaced for certain spatial frequencies (af219e6)

  • changed target mask of grating induction to contain two target values (target between black/white bars) (a1a0bc1)

  • Fix some checkerboard stimuli (dc10194)

  • changed functions to create target masks with two target values by default (a067ae6)

  • Bugfix from merge conflict (a527c7d)

  • Merge branch 'main' of git.tu-berlin.de:computational-psychology/stimuli (4ce80b6)

  • added support for multiple targets (8f4dcd9)

  • fixed some bugs in whites generation and added padding_val param (519992c)

  • Fixed typo (302366f)

  • Explicitly provide pad value for each edge (56f66ce)

  • Make Python2.7 proof

Mainly fixing circular imports, and dividing by floats instead of ints (0528281)

  • added all authors in setup.py (cdbda26)

  • added docstrings and updated READMEs (3d47a1d)

  • cleaned up the repo for ECVP (e1226ad)

  • deleted whites_old.py (e691725)

  • added find_packages in setup.py (864599a)

  • minor changes in the overview.py (7e61cfc)

  • all functions now call other functions with illusion.* even if they're inside the same file (f3c4cda)

  • deleted lightness dir (34e505c)

  • Merge branch 'stimuli_masks' (efd85ac)

  • corrected stimulus implementations for domijan2015 and RHS2007 (a6d1bcf)

  • added test for checkerboard_contrast_contrast (ba96fb5)

  • Merge branch 'master' of git.tu-berlin.de:computational-psychology/stimuli (c3cc62c)

  • added overview.png creation in the papers plots (d176d5a)

  • changed padding in some functions so they match the shape in the paper (f58e1bd)

  • Merge branch 'replicating_RHS2007_stimuli' (9a0e3c5)

  • changed starting phase of RHS2007_white_thin_wide (e94013e)

  • corrected WE_thin_wide to match stimulus in RHS2007 (83e3cd5)

  • changed plotting of RHS overview (4adad81)

  • Fixed binary masks for todorovic, circular and sbc (06d291b)

  • Fixed binary masks for todorovic, circular and sbc (1890dfc)

  • Merge branch 'master' into stimuli_masks (4d9aa41)

  • Merge branch 'replicating_RHS2007_stimuli' into 'master'

Replicating rhs2007 stimuli

See merge request computational-psychology/stimuli!12 (ad11f9d)

  • Merge branch 'master' into replicating_RHS2007_stimuli (70a8afa)

  • added checkerboards in RHS2007 file (ae22229)

  • Merge branch 'master' into stimuli_masks (5c835c1)

  • fixed binary masks for todorovic, sbc an white_circular (b09354a)

  • added checkerboards (298a289)

  • added checkerboards (8ee27fe)

  • Merge branch 'master' into replicating_RHS2007_stimuli (1823e05)

  • added checkerboards (c0e417d)

  • Merge branch 'stimuli_masks' into 'master'

implemented binary masks

See merge request computational-psychology/stimuli!10 (8740d53)

  • implemented binary masks (af4eaf2)

  • Sensible defaults for disc_and_ring

Borrowed from lightness demo script (28b060b)

  • Bugfix: disc and ring

Didn't produce output, and wasn't imported in illusions (dd749e2)

  • Clean-up tests

Rename scripts that just plot (and don't assert anything) to demo_, to avoid being run automatically by pytest.

Include an empty init.py in tests to help with pytest discovering tests in tests/papers/domijna2015/ (fa78d16)

  • Merge branch 'replicating_RHS2007_stimuli' into 'master'

changed some parameters in circular_whiteRHS2007

See merge request computational-psychology/stimuli!9 (24a47c2)

  • Merge branch 'master' into replicating_RHS2007_stimuli (4aa69e6)

  • changed some parameters in circular_whiteRHS2007 (989e0c7)

  • Merge branch 'replicating_domijan_stimuli' into 'master'

added tests to compare with hardcoded domijan stimuli

See merge request computational-psychology/stimuli!8 (faafff7)

  • added tests to compare with hardcoded domijan stimuli (7bcb5ed)

  • Merge branch 'restructuring' into 'master'

stimuli are specified in degrees visual angle

See merge request computational-psychology/stimuli!7 (34e5ca2)

  • added Stimulus class and made all functions return a stimulus object (72a9983)

  • Merge branch 'replicating_RHS2007_stimuli' into 'master'

Replicating rhs2007 stimuli

See merge request computational-psychology/stimuli!6 (8c36bef)

  • stimuli are specified in degrees visual angle (c68b54c)

  • RHD2007 stimuli are mostly replicated (4912557)

  • the stimuli for which we already have the functions are correctly parametrized (a7d6dd6)

  • Merge branch 'replicating_domijan_stimuli' into 'master'

added last three domijan stimuli, all of them are done (for real this time)

See merge request computational-psychology/stimuli!5 (8ed3f0d)

  • added last three domijan stimuli, all of them are done (for real this time) (76ca93f)

  • Merge branch 'replicating_domijan_stimuli' into 'master'

domijan stimuli are all perfectly reproduced

See merge request computational-psychology/stimuli!4 (c6b5ed2)

  • Merge branch 'master' into replicating_domijan_stimuli (d6b070d)

  • domijan stimuli are all perfectly reproduced (39ff3cd)

  • Merge branch 'matko' into 'master'

Recent refactorings

See merge request computational-psychology/stimuli!3 (c85afc4)

  • merged lightness into illusions (97f85d4)

  • presenting the pipeline to the lab (a920cdd)

  • Added RHS2007 in papers_stimuli, WIP (1147347)

  • Added overview generating scripts in illusions and lightness (7e4a8bc)

  • Merge branch 'master' into matko (74c69fd)

  • added domijan2015 functions in stimuli (88237e6)

  • Draft params Todorovic illusions

Not sure which params are descriptive (04aa624)

  • Add params checkerboards (a8c12a9)

  • Parametes for RHS 2007 now python script, more fleshed out (d45778a)

  • Add draft config JSON for RHS 2007 stimuli (dbe07d3)

  • Merge branch 'matko' into 'master'

Make package pip installable

See merge request computational-psychology/stimuli!2 (8eada0a)

  • fixed init.py files to enable imports when installed as package (1d2df0a)

  • Some code formatting (571eef9)

  • Convenience importer for Domijan 2015 illusions (ea55ad7)

  • import all illusions in illusions init (12ab7e7)

  • Brightness_illusions2.py -> whites.py (5a21ca8)

  • Separate out individual illusions (795223d)

  • Ignore VSCode settings (5d07c13)

  • Make package pip installable

Rename src -> stimuli, update setup.py Now installabe with pip install ., and pip install -e ., so that dependencies automatically get installed etc. Updated README (9410df2)

  • implemented more stimuli (6a63987)

  • implemented flexible functions for some brightness illusions (296d3cc)

  • included brightness illusions and cleaned up package (0f29746)

  • Merge pull request #1 from computational-psychology/dev_metrics

Adds Moulden's 1990 definition of SAMLG and SAWLG contrast metrics, fixes bug in checkerboard factory (2d135d1)

  • corrects bug with sample_repeat not being an integer, checkerboard factory (239e114)

  • adds a version of SAWLG and SAMLG according to Moulden et al 1990, which differs to Robilotto 2002 (1711c53)

  • fixed RMS contrast + added documentation (bebddec)

  • removed chunk-mode from contrast metrics due to faulty logic (7b5fdb4)

  • added some tests in testing_contrast_metrics.py, not passing (90f37f3)

  • Update README.md (7bab0f8)

  • Update README.md (4165445)

  • Update README.md (b0eb8ce)

  • Update README.md (dc70915)

  • Update README.md (07922cd)

  • Update README.md (00372f6)

  • fix (52da177)

  • fixed lightness and improved readmes (3edc235)

  • readme update instructions (3d368a1)

  • fixed contrast metrics (514219d)

  • minor fixes (97c4f15)

  • fixed lightness stimuli (9468412)

  • main README edited (cfc4281)

  • readme transparency edited (ba7f68c)

  • improving readme 3 (2259db0)

  • improving readme 2 (beb22dc)

  • improving readmes (d951645)

  • fixed packaging-setup and added documentation (b9e7034)

  • turned repo into an installable package (54ff1bb)

  • improved image factories and their documentation (aa5c247)

  • change in comments (4fc18e0)

  • Update comments.md (c86d16c)

  • correction in documentation, removing checkerboard.png/pov, adding my comments (517c420)

  • added image generation factories for transparency experiments (203bec4)

  • Merge branch 'master' of github.com:TUBvision/stimuli (10181b9)

  • Changes way of importing the module. (f997054)

  • Changes way of importing the module. (9058f8a)

  • added function to create smooth areas (7b604da)

  • fixing imports (00bdc30)

  • Merge branch 'master' of https://github.com/TUBvision/stimuli (f218f05)

  • Added texture synthesis code for 'polka dots' and 'bricks' stimulus. (8379812)

  • edited README files (57da8d2)

  • added documentation, minor changes to random_circles (4ec52bd)

  • added documentation (e8ed5bf)

  • Merge branch 'master' of https://github.com/TUBvision/stimuli (f05aa0b)

  • added documentation (cf034c5)

  • texture init added (0f32290)

  • mondrian and random circles moved to texture folder (b1a6b64)

  • ignore ~ files (c0c6111)

  • lightness stimuli added from prev. repository. License updated. (ff342d8)

  • readme update (70aaf66)

  • Initial commit (aef437f)