Closes 80 ([`a00295f`](https://github.com/computational-psychology/stimupy/commit/a00295f5cf9fc54cbea892b6674c1e682114b809))
* refactor(waves): pass intensities through
Addresses 80 ([`44d7f79`](https://github.com/computational-psychology/stimupy/commit/44d7f79be71d146f35cde145b080bd918b41c594))
* refactor(modelfest): more explicit conversions ([`be4b53d`](https://github.com/computational-psychology/stimupy/commit/be4b53df2f59d2acba3cd9e95245f6408b3b7fb5))
* refactor(stimuli): use two-sided utility wrapper ([`8ac1717`](https://github.com/computational-psychology/stimupy/commit/8ac1717b791a5d7f46b29c5913f8dd96cbfc6881))
* refactor(papers): update to use 1-based indexing of elements in Whites ([`e1c3101`](https://github.com/computational-psychology/stimupy/commit/e1c310172af615ca663bf343b1d7f6a15f4f11e2))
* refactor(papers): update to use 1-based indexing of elements ([`bd90b8e`](https://github.com/computational-psychology/stimupy/commit/bd90b8e0968381855c4dc889adbe5d7d4e4c078f))
* refactor(whites): use `mask_targets()` ([`1e04f07`](https://github.com/computational-psychology/stimupy/commit/1e04f0756212ecc718bb93942006bcdf69e81ff2))
* refactor(waves): integrate `place_targets()` ([`daf6acd`](https://github.com/computational-psychology/stimupy/commit/daf6acd63b7b1cb80d38f24932d7c63d7934c533))
* refactor: target_indices defaults to (), but can handle None
Closes 97 98 ([`9e8d136`](https://github.com/computational-psychology/stimupy/commit/9e8d13622ad616b0df332a56688da91eccd5f0ea))
* refactor(rings): use `place_targets()` in `rings_generalized()` ([`2da1b65`](https://github.com/computational-psychology/stimupy/commit/2da1b6538ddcd711d3be726e1aabf3a3b893f6c5))
* refactor(pinwheels): integrate `mask_targets()` ([`c748706`](https://github.com/computational-psychology/stimupy/commit/c748706e2d5d1a2a7c64400dbf2ba138c2a2da85))
* refactor(stimuli): `place_targets()`
actually places targets in stimulus-dict ([`fff6f14`](https://github.com/computational-psychology/stimupy/commit/fff6f14d97ae26c063bbb3720ec65b5905529a22))
* 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`](https://github.com/computational-psychology/stimupy/commit/92328911e6240d5ba7916be6e918d4311705e5c4))
* refactor(export): guard clauses, pathlib ([`e59fc51`](https://github.com/computational-psychology/stimupy/commit/e59fc51c49d1f1db0b3627d02d4c67d3c89c5ac0))
Style
* style: autoformat pyproject.toml ([`b153d5e`](https://github.com/computational-psychology/stimupy/commit/b153d5e5cb8d5a0a04481e0ff0e0829b143f2bdf))
* style: autoformat ([`962a332`](https://github.com/computational-psychology/stimupy/commit/962a332f598922f13012207798f2c189ebc9d5b6))
Test
* test: update ground truth
single pixel changes in RHS2007_WE_radial_* ([`f4e4d48`](https://github.com/computational-psychology/stimupy/commit/f4e4d480b562318ef25f824caa2cc4b251dcc875))
* 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`](https://github.com/computational-psychology/stimupy/commit/30c9738d1f7305d30b02840ba5233478ecac92e7))
* test(modelfest): isolate code to test correspondence to original images ([`4c44c88`](https://github.com/computational-psychology/stimupy/commit/4c44c881319d9611008ca3b2d508465877e657fd))
* test: extract function for image comparison ([`813e3a2`](https://github.com/computational-psychology/stimupy/commit/813e3a24b478a8999e0cf1ce211cf086bab4126f))
* test: fix gen_ground_truth ([`5ad8cb3`](https://github.com/computational-psychology/stimupy/commit/5ad8cb31cb31eacbc7a8e2e1c176f7d9d6b9160f))
Unknown
* Merge pull request 114 from computational-psychology/build_psr
Build: update python-semantic-release configuration ([`e281e9a`](https://github.com/computational-psychology/stimupy/commit/e281e9a2d0a00f836e302577f5e258c996d6e25e))
* Merge pull request 108 from computational-psychology/dev
New features, refactoring, and fixes ([`3788170`](https://github.com/computational-psychology/stimupy/commit/37881707d5e38069a951d092012d249f9952cab7))
* 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`](https://github.com/computational-psychology/stimupy/commit/d1510e9b45f629b8c4fa9fc64a8512016dd83780))
* docs(demos):`sbcs.circular`, `.square` demos ([`81b5528`](https://github.com/computational-psychology/stimupy/commit/81b552898c664522e0f6a28840822d12a17351ac))
* Merge pull request 106 from computational-psychology/refactor_two_sided
Easier `_two_sided`-stimuli functions ([`7ba0bee`](https://github.com/computational-psychology/stimupy/commit/7ba0beeb618b82a3c9963dd1dc3cd308bd98f753))
* Merge branch &39;dev&39; into refactor_two_sided ([`db94838`](https://github.com/computational-psychology/stimupy/commit/db9483882c7265236045fd3a9e81fa0dec1ad788))
* Merge pull request 103 from computational-psychology/refactor_intensities
Unify `intensity_`arguments ([`4ff38d5`](https://github.com/computational-psychology/stimupy/commit/4ff38d5d26632959e231ef6fce445fc0d14ea5c4))
* Merge pull request 104 from computational-psychology/test_modelfest
Refactor ModelFest comparison to original images ([`4218dc3`](https://github.com/computational-psychology/stimupy/commit/4218dc3d41104fe40c0a69005b32141368d9b4e5))
* 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 &34;elements&34; (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 &34;backwards&34; from the last bar/ring/etc.). ([`885ec6c`](https://github.com/computational-psychology/stimupy/commit/885ec6c59af9fc1fcf9cf92333581e433746574f))
* Merge pull request 100 from computational-psychology/build_refresh
build: update versioning to use python-semantic-releasev8.0 ([`16a3496`](https://github.com/computational-psychology/stimupy/commit/16a34966c5c1de624319943ca17b5f205ac9b4dc))
* Merge pull request 96 from computational-psychology/fix_twosided_params
fix: two-sided params for `_two_sided`-stimuli ([`1188af5`](https://github.com/computational-psychology/stimupy/commit/1188af55f2476e516b7d675a2e07b16ee780fdce))
* Merge pull request 95 from computational-psychology/feat_text
feat: text ([`e0effc0`](https://github.com/computational-psychology/stimupy/commit/e0effc0135651af09d5b010d1ececd038bc74b73))
* Merge pull request 94 from computational-psychology/fix_RHS2007_TodorovicBenary
fix(RHS2007): correct targets in `todorovic_benary_1_2()`, `3_4()` ([`00af7d2`](https://github.com/computational-psychology/stimupy/commit/00af7d2494b230b4cd57db46e4d936a907773b2a))
* use default ImageFont ([`bc56a41`](https://github.com/computational-psychology/stimupy/commit/bc56a41be7b378d13b6dfce9860c2763de7cbd9a))
* Todorovics ([`a010d4a`](https://github.com/computational-psychology/stimupy/commit/a010d4aa5a3755a9e48132bdf0aa54f48996f983))
* SBCs
Closes 92 ([`5569a12`](https://github.com/computational-psychology/stimupy/commit/5569a1261314af892d2600bf8e9b741d361319bd))
* Rings & Bullseyes ([`23fc041`](https://github.com/computational-psychology/stimupy/commit/23fc04142d72f4bea8fd5856dedbeaf341046ce7))
* Mueller-Lyer ([`6b01cce`](https://github.com/computational-psychology/stimupy/commit/6b01cce10442a756c9d0034b386c8c27c0f01352))
* DelBoueufs ([`587aed5`](https://github.com/computational-psychology/stimupy/commit/587aed5d7b85ffa986fe89b245ad9f77bf08383e))
* Update tests ([`fbd1dc4`](https://github.com/computational-psychology/stimupy/commit/fbd1dc470f6e61d09d868d7b8ee68143c0d8fe36))
* Merge pull request 91 from computational-psychology/dev_citation
docs: added citation to readme and docs ([`316ded8`](https://github.com/computational-psychology/stimupy/commit/316ded807c782fbf1eab404ca0490d3a62b03f1e))
* Merge pull request 89 from computational-psychology/dev_manuscript
docs: final touchup on manuscript ([`ca8bf43`](https://github.com/computational-psychology/stimupy/commit/ca8bf4350c39cae79c66285c4243863fc5c1055f))
* Merge pull request 88 from computational-psychology/dev_manuscript
docs: final touch-up on manuscript ([`f756c54`](https://github.com/computational-psychology/stimupy/commit/f756c540fba885ffaa27cd92fde96e601193c004))
* Merge pull request 87 from computational-psychology/dev_manuscript
Final editorial (& title) changes to manuscript ([`b4bb148`](https://github.com/computational-psychology/stimupy/commit/b4bb1484ab26b6689bacc40d6e60fd01eb2d1cec))