Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
246 commits
Select commit Hold shift + click to select a range
909d68c
setup up the v0.10 branch
rafalkowalewski1 Mar 10, 2026
0b85350
Added deprecation warnings
rafalkowalewski1 Mar 15, 2026
988d406
deprecate lib.unpack_calibration and spot_size, z_range and mag_facto…
rafalkowalewski1 Mar 16, 2026
7463189
adjust render gui not to ask about redundant g5m-related calibration …
rafalkowalewski1 Mar 16, 2026
8d83cd6
deprecation warning for clusterer.cluster_centers
rafalkowalewski1 Mar 16, 2026
a59854b
prepare picasso.aim functions for making them private, add deprecatio…
rafalkowalewski1 Mar 16, 2026
58b0fd3
``picasso.masking.mask_locs`` uses metadata rather than now deprecate…
rafalkowalewski1 Mar 16, 2026
fa74735
Moved from PyQt5 to PyQt6
rafalkowalewski1 Mar 16, 2026
ff8fc6e
Picasso automatically checks for updates when launched and notifies t…
rafalkowalewski1 Mar 17, 2026
f0606ec
use different modes of update notifications for GUI (message box) and…
rafalkowalewski1 Mar 17, 2026
37622d6
allow one-click-installer users to open the release page when update …
rafalkowalewski1 Mar 18, 2026
e199673
give flexiblity to the users to adjust update notifications
rafalkowalewski1 Mar 18, 2026
a21fb19
clean up update notifications
rafalkowalewski1 Mar 18, 2026
dd1c402
finish the move to pyqt6; fix toraw, fix spinna load structures
rafalkowalewski1 Mar 21, 2026
59b8be5
loosen dependency and python versions
rafalkowalewski1 Mar 24, 2026
b830db5
FIX zooming with mouse wheel in render
rafalkowalewski1 Mar 24, 2026
2d235cf
Merge pull request #632 from rafalkowalewski1/v0.10-release
rafalkowalewski1 Mar 24, 2026
8baf579
Merge branch 'v0.10-release' into feat-dependency-hell
rafalkowalewski1 Mar 25, 2026
44c54f4
flexible versions of python and dependencies
rafalkowalewski1 Mar 25, 2026
befd469
Merge branch 'development' into v0.10-release
rafalkowalewski1 Mar 25, 2026
4aa6b1f
Merge branch 'v0.10.0-testing' into v0.10-release
rafalkowalewski1 Mar 25, 2026
2900225
Render GUI: show NeNA/FRC plot automatically calculates them if not d…
rafalkowalewski1 Mar 25, 2026
506a5ad
Merge branch 'v0.10-release' into feat-dependency-hell
rafalkowalewski1 Mar 25, 2026
47c9c7e
remove dependabot
rafalkowalewski1 Mar 25, 2026
68d852e
clean up installation instructions
rafalkowalewski1 Mar 25, 2026
3fc443b
badges added to the GitHub repository
rafalkowalewski1 Mar 25, 2026
d4dab5a
adjust create-installer files to use 'frozen' dependency versions
rafalkowalewski1 Mar 25, 2026
50e53e0
use dynamic package version in pyproject, ditch bumpversion (only ver…
rafalkowalewski1 Mar 25, 2026
6cbc7b8
fix main render image on pypi
rafalkowalewski1 Mar 25, 2026
45cbab9
more accessible saving/loading of FOVs
rafalkowalewski1 Mar 25, 2026
d47dc09
deprecate run_checks from maskgenerator
rafalkowalewski1 Mar 25, 2026
e9d6491
keyboard combo for closing all localizations in render gui
rafalkowalewski1 Mar 25, 2026
a3ea606
Merge branch 'v0.10-release' of https://github.com/rafalkowalewski1/p…
rafalkowalewski1 Mar 25, 2026
e1165cb
Merge branch 'feat-dependency-hell' into v0.10-release
rafalkowalewski1 Mar 26, 2026
52f9082
update version, remove bumpversion from pyproject
rafalkowalewski1 Mar 26, 2026
2f8d63e
render legend is displayed on black background for better visibility …
rafalkowalewski1 Mar 26, 2026
139104f
Render GUI: log-scaling of contrast
rafalkowalewski1 Mar 27, 2026
02cc1c8
SPINNA allows user-defined threshold for the binary mask
rafalkowalewski1 Mar 29, 2026
948daf8
merge_locs allows for more flexible frame incrementing when merging l…
rafalkowalewski1 Mar 29, 2026
da15a7b
merge_locs allows for flexible frame and group incrementing when merg…
rafalkowalewski1 Mar 29, 2026
92e1808
added support for reading .csv files from ThunderSTORM in render GUI
rafalkowalewski1 Mar 29, 2026
3b10324
Render GUI: new image exporting with manually selected rendering options
rafalkowalewski1 Mar 30, 2026
09bb507
add support for pdf and svg image exports
rafalkowalewski1 Mar 31, 2026
13b936d
the first application of the help button
rafalkowalewski1 Apr 1, 2026
85b7f75
- Render GUI: changed the name "Nearest Neighbor Analysis" to "Calcul…
rafalkowalewski1 Apr 1, 2026
80e007a
Render GUI: optimal scale bar is only set upon user's request
rafalkowalewski1 Apr 4, 2026
55eebea
Dialogs with scroll areas show no margins (e.g., Display settings dia…
rafalkowalewski1 Apr 4, 2026
a7965cd
Merge branch 'v0.10-release' into feat-help-icon
rafalkowalewski1 Apr 4, 2026
a1fb02c
Added help buttons to some dialogs/menu bars across the modules that …
rafalkowalewski1 Apr 8, 2026
2b02fd2
remove what's this button (windows)
rafalkowalewski1 Apr 8, 2026
9fd8c67
test clustering supports G5M (render gui)
rafalkowalewski1 Apr 8, 2026
63f9980
render mask dialog zooming and panning implemented
rafalkowalewski1 Apr 8, 2026
00d1273
add documentation of mask settings dialog
rafalkowalewski1 Apr 8, 2026
4b63654
Merge branch 'feat-help-icon' into v0.10-release
rafalkowalewski1 Apr 8, 2026
e9540f2
clean up
rafalkowalewski1 Apr 8, 2026
3429c1a
Trace shows number of photons in addition to x, y and frame; exports …
rafalkowalewski1 Apr 9, 2026
c638dbf
fix python3.14 for one click installer
rafalkowalewski1 Apr 9, 2026
34e4a32
plot localization profile for rectangular pick
rafalkowalewski1 Apr 9, 2026
7741cdf
3D rotation window supports rendering by property
rafalkowalewski1 Apr 9, 2026
03791db
Render, Average and Filter allow the user to inspect metadata in the app
rafalkowalewski1 Apr 9, 2026
ce92ca1
localiez gui: abort button
rafalkowalewski1 Apr 9, 2026
a385c46
Render GUI: apply drift from external file supports dropping the .txt…
rafalkowalewski1 Apr 9, 2026
523c830
Easy access to user settings via any Picasso module
rafalkowalewski1 Apr 9, 2026
656b242
New function in the API that can be used to undrift localizations bas…
rafalkowalewski1 Apr 9, 2026
0513c43
fix simulate crashing when pressing any keyboard key
rafalkowalewski1 Apr 10, 2026
bc53dba
new function apply_drift + clean
rafalkowalewski1 Apr 10, 2026
3134b8f
adjust show metadata shortcut (conflic with measure)
rafalkowalewski1 Apr 10, 2026
88d6a95
pytest fixes + clean up
rafalkowalewski1 Apr 10, 2026
511e015
pytest fixes + clean up
rafalkowalewski1 Apr 10, 2026
4fe3a76
Merge branch 'v0.10-release' of https://github.com/rafalkowalewski1/p…
rafalkowalewski1 Apr 10, 2026
3de4bef
clean up yet again
rafalkowalewski1 Apr 10, 2026
cc2677e
udpate contribution guidelines
rafalkowalewski1 Apr 10, 2026
2a2485c
fix numba in one click installer + cleanup
rafalkowalewski1 Apr 11, 2026
640061f
Default Localize parameters dialog is less wide
rafalkowalewski1 Apr 11, 2026
76b8e48
first implementation of fast spinna
rafalkowalewski1 Apr 13, 2026
fffdf2d
fix lineedit
rafalkowalewski1 Apr 13, 2026
103884f
refine fast spinna fitting + small api enhancement
rafalkowalewski1 Apr 13, 2026
c5a9612
fix new coarse to fine spinna
rafalkowalewski1 Apr 13, 2026
ae917dc
add docs w.r.t. new spinna fitting + move to evenly spread coarse gri…
rafalkowalewski1 Apr 13, 2026
3313e01
Merge branch 'feat-fast-spinna' into v0.10-release
rafalkowalewski1 Apr 13, 2026
6840b46
add a new bayesian fitting method for spinna
rafalkowalewski1 Apr 13, 2026
b5e7d88
Merge branch 'feat-optimizer-spinna' into v0.10-release
rafalkowalewski1 Apr 13, 2026
417bf99
add markdown changelog
rafalkowalewski1 Apr 13, 2026
7efcaac
remove old changelog, keep only markdown (corrected formatting)
rafalkowalewski1 Apr 13, 2026
4faece2
update links to changelog
rafalkowalewski1 Apr 13, 2026
3c74423
add links to columns of .hdf5 files in filter docs
rafalkowalewski1 Apr 13, 2026
65b9dee
test clustering add channel combobox + allow for applying the current…
rafalkowalewski1 Apr 14, 2026
1bb9b80
fix test clustering + add tool tips to the dialog
rafalkowalewski1 Apr 14, 2026
abdcb19
add tool tips to test clustering
rafalkowalewski1 Apr 14, 2026
db2630c
filter export csv + fix typo in test clsutering
rafalkowalewski1 Apr 14, 2026
dd0a765
make changelog more visible in readme
rafalkowalewski1 Apr 14, 2026
b7278b2
add readthedocs link to plugin template
rafalkowalewski1 Apr 14, 2026
f38bfde
improve the layout in the info dialog + fix canceling of jobs regadin…
rafalkowalewski1 Apr 14, 2026
32565c9
Removed focus on push buttons in dialogs
rafalkowalewski1 Apr 14, 2026
78cc165
show metadata in localize gui
rafalkowalewski1 Apr 14, 2026
5d9e7f3
New API for alignement of locs in postprocess, + ``io.load_picks``
rafalkowalewski1 Apr 15, 2026
9f266d1
update typing of np arrays in aim.py
rafalkowalewski1 Apr 15, 2026
f89669a
update typing of np arrays in avgroi.py
rafalkowalewski1 Apr 15, 2026
e24862a
update typing of np arrays in clusterer.py
rafalkowalewski1 Apr 15, 2026
0b61bca
update typing of np arrays in g5m.py
rafalkowalewski1 Apr 15, 2026
93e6efd
update typing in the remaining modules
rafalkowalewski1 Apr 15, 2026
f10e897
update typing of arrays in the gui scripts
rafalkowalewski1 Apr 15, 2026
a6f4282
update flake8 in CI to match black
rafalkowalewski1 Apr 15, 2026
95f7a28
flake8 cleanup
rafalkowalewski1 Apr 16, 2026
05791e4
fix align in render gui in one click installer (tqdm dependence)
rafalkowalewski1 Apr 16, 2026
c1266fe
fix g5m error (caused by upgrade to pyqt6)
rafalkowalewski1 Apr 16, 2026
1b9e92d
Merge branch 'v0.10-release' into feat-flake8-complaints
rafalkowalewski1 Apr 16, 2026
533d151
move average GUI functions to API
rafalkowalewski1 Apr 17, 2026
9c77176
fix qt backend error (average)
rafalkowalewski1 Apr 17, 2026
4e2ea6b
move rendering function from avg to render
rafalkowalewski1 Apr 17, 2026
2d48b4f
self-contained and easy-to-use average function
rafalkowalewski1 Apr 17, 2026
591200a
improve progress tracking, add tqdm support
rafalkowalewski1 Apr 17, 2026
47fae86
fix average
rafalkowalewski1 Apr 17, 2026
3405f00
final touches to averaging + use display pixel size instead of oversa…
rafalkowalewski1 Apr 17, 2026
8957ca1
claude implementation of render._fill_gaussian_rot
rafalkowalewski1 Apr 17, 2026
86aab09
clean up
rafalkowalewski1 Apr 17, 2026
891ed2d
update changelog (fast 3d render)
rafalkowalewski1 Apr 17, 2026
7a6a78e
Merge branch 'v0.10-release' into feat-empty-gui
rafalkowalewski1 Apr 17, 2026
aa3ff37
move load_picks and load_locs to api (localize)
rafalkowalewski1 Apr 18, 2026
d1c5574
fitworker moved to gui (mostly)
rafalkowalewski1 Apr 18, 2026
3f6a2d5
correct simulate docs for currently used default values
rafalkowalewski1 Apr 20, 2026
66f2969
add abortion of fitworker process + finish up fitworker
rafalkowalewski1 Apr 20, 2026
8acb609
improve API in localize() and idenfy() + deprecation warnings regardi…
rafalkowalewski1 Apr 20, 2026
08de170
z fitting moved from gui to API + a lot of API improvement in zfit.py
rafalkowalewski1 Apr 21, 2026
dbafc41
deprecate fit_z and fit_z_parallel in zfit.py
rafalkowalewski1 Apr 21, 2026
6e1a25b
clean up gui script for identification and drift correction (all calc…
rafalkowalewski1 Apr 21, 2026
cd5e396
3d localize function added
rafalkowalewski1 Apr 21, 2026
29378a1
move some render gui script functionalities to API + small clean ups
rafalkowalewski1 Apr 22, 2026
f11b3cf
deprecate render functions (will be private) + continue moving render…
rafalkowalewski1 Apr 22, 2026
9e9e931
continue moving render gui scripts to api + update to version to beta…
rafalkowalewski1 Apr 23, 2026
4b3ccc2
`picasso.io.TiffMultiMap` docstrings corrected
rafalkowalewski1 Apr 24, 2026
5051d36
move gui functions to api if relevant (3d render)
rafalkowalewski1 Apr 24, 2026
bd1c962
finish up render gui/api shift
rafalkowalewski1 Apr 27, 2026
cb5c6ed
move gui scripts to api (spinna)
rafalkowalewski1 Apr 27, 2026
38dd647
use more api functions in main.py
rafalkowalewski1 Apr 27, 2026
a43d4ee
final touches to new api (TODOs)
rafalkowalewski1 Apr 28, 2026
d8b3bd3
post api-shift fixes (design, simulate)
rafalkowalewski1 Apr 28, 2026
8175f56
- Improved exception printing in GUI, robust against QThread-related …
rafalkowalewski1 Apr 28, 2026
0a0780c
update documentation of localize + fix the bugs related to extra feat…
rafalkowalewski1 Apr 29, 2026
45b1b77
clean up
rafalkowalewski1 Apr 29, 2026
d440d4c
fix spinna after the gui->api shift
rafalkowalewski1 Apr 30, 2026
11f917e
fix render after the gui->api shift (partially)
rafalkowalewski1 May 2, 2026
540b409
finish clean up + bug fixes in render
rafalkowalewski1 May 3, 2026
274b5e4
fix rotation gui after gui->api shift
rafalkowalewski1 May 3, 2026
6471ec8
Merge branch 'feat-empty-gui' into v0.10-release
rafalkowalewski1 May 3, 2026
2e72041
claude's implementation of stk support
rafalkowalewski1 May 3, 2026
3f102dc
final touches to stk support in localize
rafalkowalewski1 May 4, 2026
3c7257a
expand render tests
rafalkowalewski1 May 4, 2026
ae1935b
expand average tests
rafalkowalewski1 May 4, 2026
0209e62
expand clusterer tests
rafalkowalewski1 May 4, 2026
1bbcc3d
expand undrift tests
rafalkowalewski1 May 4, 2026
6694119
expand spinna tests
rafalkowalewski1 May 4, 2026
c8508cc
expand localize and postprocess tests
rafalkowalewski1 May 5, 2026
e777065
improve on the postprocess tests
rafalkowalewski1 May 5, 2026
d0aa258
expond localize tests
rafalkowalewski1 May 5, 2026
3c7e12f
clean up postprocess tests
rafalkowalewski1 May 5, 2026
294e51b
clean up tests
rafalkowalewski1 May 5, 2026
f66f10f
clean up tests
rafalkowalewski1 May 5, 2026
3435ed9
Merge branch 'v0.10-release' of https://github.com/rafalkowalewski1/p…
rafalkowalewski1 May 5, 2026
cd2365c
expand test suite to new scripts
rafalkowalewski1 May 5, 2026
b4fd883
fixes (mainly CLI)
rafalkowalewski1 May 5, 2026
c4e2de0
fix g5m apply to all and removing polygonal picks (GUI)
rafalkowalewski1 May 5, 2026
9b278be
fix error box not showing (GUI, one-click-installer only)
rafalkowalewski1 May 5, 2026
c0fe6c4
fix conflicting scikit learn version for the installer
rafalkowalewski1 May 5, 2026
10ccaf0
Fixed pre-G5M group/max locs checks when applying to all channels
rafalkowalewski1 May 5, 2026
cb70892
reduced sklearn min. depedency; returned focus to OK button
rafalkowalewski1 May 5, 2026
794ca86
fix the progress report using new gp bayesian spinna
rafalkowalewski1 May 5, 2026
ca3eb53
include pygpufit in picasso
rafalkowalewski1 May 6, 2026
51b4eee
fix .ims loading
rafalkowalewski1 May 6, 2026
241877a
make g5m functions private
rafalkowalewski1 May 6, 2026
024e05f
gpufit check if gpu available
rafalkowalewski1 May 6, 2026
12e7716
same for gausslq
rafalkowalewski1 May 6, 2026
86a6590
fix gpu fitting + clean up
rafalkowalewski1 May 6, 2026
0dce4fc
deprecate (private functions) in gausslq, gaussmle
rafalkowalewski1 May 6, 2026
08ce4d1
Merge branch 'feat-gpufit' into v0.10-release
rafalkowalewski1 May 6, 2026
f5bdf7f
typo fix
rafalkowalewski1 May 6, 2026
0cce34f
deprecation warning for privatized or to-be-removed functions in loca…
rafalkowalewski1 May 6, 2026
c60e400
raise a clear error when attempting loading .ims on non-windows machi…
rafalkowalewski1 May 7, 2026
a5b0704
raise a clear error when attempting loading .ims on non-windows machi…
rafalkowalewski1 May 7, 2026
2374f75
fix assertion error in .ims movies
rafalkowalewski1 May 7, 2026
f9b2864
fix render by prop
rafalkowalewski1 May 7, 2026
5cfae2b
private func deprecations in postprocess
rafalkowalewski1 May 7, 2026
619158f
private func deprecations in spinna
rafalkowalewski1 May 7, 2026
e130611
privatize functions in zfit
rafalkowalewski1 May 7, 2026
5e1f860
Merge branch 'feat-deprecations' into v0.10-release
rafalkowalewski1 May 7, 2026
99f84ca
update sample notesbooks + fix some issue arising from gui -> api shift
rafalkowalewski1 May 7, 2026
c72e7e3
fix groupprops
rafalkowalewski1 May 7, 2026
8963b0f
remove out-of-date tests
rafalkowalewski1 May 7, 2026
e0cee1c
clean up changelog
rafalkowalewski1 May 7, 2026
6a8f679
add load/save identifications
rafalkowalewski1 May 8, 2026
6eaf051
add load/save identifications
rafalkowalewski1 May 8, 2026
636e6c9
update installer readme's
rafalkowalewski1 May 8, 2026
a6994b6
add pre-commit config to sync readmes for the installers from the mai…
rafalkowalewski1 May 8, 2026
39a67bc
plot profile - user-adjustable bin width
rafalkowalewski1 May 8, 2026
08e3094
added attribute 'pixelsize' in View for cleaner code
rafalkowalewski1 May 8, 2026
613d1fa
use index blocks in the gui when applicable
rafalkowalewski1 May 8, 2026
e02bf02
Fixed default directory for applying drift from external file
rafalkowalewski1 May 8, 2026
257da5e
Loading new structures in the Simulate tab without changing targets d…
rafalkowalewski1 May 8, 2026
dde8f6e
Merge branch 'v0.10-release' into v0.10-patch
rafalkowalewski1 May 8, 2026
8e7ce21
code comment
rafalkowalewski1 May 8, 2026
195878e
Animation dialog allows unlimited positions
rafalkowalewski1 May 9, 2026
ca35f66
Render: fixed panning in 3D
rafalkowalewski1 May 9, 2026
38bf2bc
manual setting of scale bar switches off automatic scale bar length
rafalkowalewski1 May 9, 2026
c3a6b7c
enhance non-circle picking by smarter pandas indexing
rafalkowalewski1 May 10, 2026
832b3b6
ilter: apply filtering steps from metadata
rafalkowalewski1 May 11, 2026
71e6146
small clarification regarding cluster centers in the docs
rafalkowalewski1 May 11, 2026
16caedb
Merge branch 'v0.10-release' into v0.10-patch
rafalkowalewski1 May 11, 2026
9f651a8
Localize: export current view is less pixelated
rafalkowalewski1 May 11, 2026
b2e99c2
modify installer creation on windows to remove the unwanted files
rafalkowalewski1 May 11, 2026
b8b2e50
abort in average
rafalkowalewski1 May 11, 2026
0f710c7
average saves more metadata
rafalkowalewski1 May 11, 2026
9f19175
avoid using str.replace when changing extension - safer approach
rafalkowalewski1 May 11, 2026
7d8a965
Cluster centers save number of localizations per cluster as n_locs, …
rafalkowalewski1 May 11, 2026
5168921
change localize to use the new functions in localize.py and zfit.py
rafalkowalewski1 May 11, 2026
5740ab6
Fixed .svg saving in the one-click-installer app
rafalkowalewski1 May 11, 2026
28eb860
spinna fix estimated time for different fitting methods
rafalkowalewski1 May 11, 2026
c038c28
spinna saves the fitting modeand uses it upon opening
rafalkowalewski1 May 11, 2026
6317bcb
set equal axes for plotting xy drift
rafalkowalewski1 May 11, 2026
b82bcd9
Localization markers (green crosses) in the GUI are not affected by d…
rafalkowalewski1 May 11, 2026
d24e746
update macos installer
rafalkowalewski1 May 11, 2026
83b8f72
localize CLI supports 3d MLE fitting
rafalkowalewski1 May 11, 2026
01175b0
forgot to add mle3d to localize cli
rafalkowalewski1 May 11, 2026
4a6042c
clean up, fix localize CLI
rafalkowalewski1 May 11, 2026
53699f5
Merge branch 'v0.10-release' into v0.10-patch
rafalkowalewski1 May 12, 2026
38dba4c
clean up
rafalkowalewski1 May 12, 2026
b41d847
clean up changelog
rafalkowalewski1 May 12, 2026
87c4a17
clean up CMD and its documentation
rafalkowalewski1 May 12, 2026
57b8fa9
standardize the copy rights in docstrings of all scripts
rafalkowalewski1 May 12, 2026
2550a6f
smarter fast rendering, lowering RAM usage almost two-fold
rafalkowalewski1 May 13, 2026
b69497a
clean up group_color with shuffling
rafalkowalewski1 May 13, 2026
bdfe600
fix fast render with group rendering
rafalkowalewski1 May 13, 2026
1b07c10
fix g5m (messed up gui code)
rafalkowalewski1 May 14, 2026
fe2cd7d
clean up + move save pick properties to API
rafalkowalewski1 May 14, 2026
8937230
Fixed issues caused by removing structures in the Structures Tab (Win…
rafalkowalewski1 May 15, 2026
2dc2338
another attempt at fixing structures tab
rafalkowalewski1 May 16, 2026
d9c3146
another attempt at fixing structures tab
rafalkowalewski1 May 16, 2026
b2f7970
Filtering range for numerical filtering is inclusive
rafalkowalewski1 May 16, 2026
72db707
version update and test fixes
rafalkowalewski1 May 19, 2026
7453a41
update readme + fix macos installer
rafalkowalewski1 May 19, 2026
35e82df
Merge pull request #654 from rafalkowalewski1/development
rafalkowalewski1 May 19, 2026
39f4799
fix tests/CI
rafalkowalewski1 May 19, 2026
d399055
Merge branch 'development' of https://github.com/rafalkowalewski1/pic…
rafalkowalewski1 May 19, 2026
8ad6654
fix CI (qt install)
rafalkowalewski1 May 19, 2026
b1d7194
Merge pull request #656 from rafalkowalewski1/development
rafalkowalewski1 May 19, 2026
e6dcff9
another fix for CI
rafalkowalewski1 May 19, 2026
7de9680
Merge pull request #659 from rafalkowalewski1/development
rafalkowalewski1 May 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions .bumpversion.cfg

This file was deleted.

41 changes: 0 additions & 41 deletions .github/dependabot.yml

This file was deleted.

40 changes: 35 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,22 @@ jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]

env:
QT_QPA_PLATFORM: offscreen
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: 3.10.19
python-version: ${{ matrix.python-version }}
- name: Install Qt system libraries
run: |
sudo apt-get update
sudo apt-get install -y libegl1 libgl1 libxkbcommon-x11-0 libdbus-1-3 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-xkb1 libxkbcommon0
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -29,9 +38,30 @@ jobs:
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
# exit-zero treats all errors as warnings. Line length and E203 match black configuration
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=79 --extend-ignore=E203 --statistics
- name: Test with pytest
run: |
pip install pytest
pytest

test-minimum-versions:
runs-on: ubuntu-latest
env:
QT_QPA_PLATFORM: offscreen
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install Qt system libraries
run: |
sudo apt-get update
sudo apt-get install -y libegl1 libgl1 libxkbcommon-x11-0 libdbus-1-3 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-xkb1 libxkbcommon0
- run: |
grep -oE '"[A-Za-z0-9_.\-]+>=[^",]+' pyproject.toml | tr -d '"' | sed 's/>=/==/' > constraints-minimum.txt
cat constraints-minimum.txt
python -m pip install --upgrade pip
pip install . --constraint constraints-minimum.txt
pip install pytest
pytest
11 changes: 10 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,13 @@ repos:
hooks:
- id: black
args: [--line-length=79]
language_version: python3.10
language_version: python3.14

- repo: local
hooks:
- id: sync-installer-readmes
name: Sync shared sections into installer readmes
entry: python3 release/sync_installer_readmes.py
language: system
files: ^(readme\.rst|release/one_click_(macos|windows)_gui/readme\.rst|release/sync_installer_readmes\.py)$
pass_filenames: false
99 changes: 67 additions & 32 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@
Contributing
============

Contributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

You can contribute in many ways:
.. contents:: Table of Contents
:local:
:depth: 2

Types of Contributions
----------------------

You can contribute in many ways:

Report Bugs
~~~~~~~~~~~

Expand All @@ -24,21 +27,17 @@ If you are reporting a bug, please include:
Fix Bugs
~~~~~~~~

Look through the GitHub issues for bugs. Anything tagged with "bug"
and "help wanted" is open to whoever wants to implement it.
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help wanted" is open to whoever wants to implement it.

Implement Features
~~~~~~~~~~~~~~~~~~

Look through the GitHub issues for features. Anything tagged with "enhancement"
and "help wanted" is open to whoever wants to implement it.
Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it.

Write Documentation
~~~~~~~~~~~~~~~~~~~

Picasso could always use more documentation, whether as part of the
official Picasso docs, in docstrings, or even on the web in blog posts,
articles, and such.
Picasso could always use more documentation, whether as part of the official Picasso docs, in docstrings, or even on the web in blog posts, articles, and such.

Submit Feedback
~~~~~~~~~~~~~~~
Expand All @@ -49,53 +48,89 @@ If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions
are welcome :)
* Remember that this is a volunteer-driven project, and that contributions are welcome :)

Get Started!
------------
Contributing Code
-----------------

Ready to contribute? Here's how to set up `picasso` for local development.
Development Setup
~~~~~~~~~~~~~~~~~

1. Fork the `picasso` repo on GitHub.
Here's how to set up ``picasso`` for local development. If you are new to git and GitHub, you might want to familiarize yourself with the basics of git and GitHub first. The internet is full of great resources on this topic!

1. Fork the ``picasso`` repo on GitHub.
2. Clone your fork locally::

$ git clone git@github.com:your_name_here/picasso.git

3. Follow the installation instructions in the readme to install a picasso environment.
3. Follow the installation instructions for developers here: https://github.com/jungmannlab/picasso?tab=readme-ov-file#for-developers-local-editable-installation.

4. Set up ``pre-commit`` hooks. This ensures your code is automatically formatted with ``black`` before each commit::

4. (Optionally) Build the docs (Note that you need to install sphinx and the rtd-theme)::
$ pre-commit install

5. (Optionally) Build the docs (Note that you need to install sphinx and the rtd-theme)::

$ cd docs/
$ make html # docs will found in _build/html/. Open `index.html` to view the docs; macOS users can do `open _build/html/index.html` to open the docs in your default browser.
$ make html # docs will be found in _build/html/. Open `index.html` to view the docs; macOS users can do `open _build/html/index.html` to open the docs in your default browser.

Development Workflow
~~~~~~~~~~~~~~~~~~~~

4. Create a branch for local development::
1. Create a branch for local development. Use a descriptive name prefixed with the type of change, e.g. ``fix/broken-rendering``, ``feat/new-filter``, ``docs/update-readme``::

$ git checkout -b name-of-your-bugfix-or-feature
$ git checkout -b fix/broken-rendering

Now you can make your changes locally.

5. When you're done making changes, check that your changes pass pycodestyle and the tests::
2. Keep your fork in sync with the upstream repository to avoid merge conflicts::

$ git remote add upstream https://github.com/jungmannlab/picasso.git
$ git fetch upstream
$ git rebase upstream/main

You only need to run the ``git remote add`` command once.

$ py.test
$ cd picasso
$ pycodestyle .
Code Style
^^^^^^^^^^

To get flake8 and tox, just pip install them into your virtualenv.
This project uses `black <https://github.com/psf/black>`_ for code formatting with a line length of 79 characters. The ``pre-commit`` hook (set up above) will automatically format your code on each commit. You can also run it manually::

6. Commit your changes and push your branch to GitHub::
$ black --line-length=79 .

Testing
^^^^^^^

3. When you're done making changes, run the tests from the repository root::

$ pytest

To run a specific test file for faster iteration::

$ pytest tests/test_render.py

Committing & Pushing
^^^^^^^^^^^^^^^^^^^^^

4. Commit your changes using the imperative mood (e.g. "Fix bug" not "Fixed bug" or "Fixes bug"). Reference related issues in the commit message (#123 in the example below)::

$ git add .
$ git commit -m "Your detailed description of your changes."
$ git push origin name-of-your-bugfix-or-feature
$ git commit -m "Fix rendering crash for large datasets (#123)"
$ git push origin fix/broken-rendering

5. Update the changelog (``changelog.md``) with a brief summary of your changes under the appropriate section.

7. Submit a pull request through the GitHub website.
6. Submit a pull request through the GitHub website. See below for guidelines!

Pull Request Guidelines
-----------------------

Before you submit a pull request, check that it meets these guidelines:

1. The pull request should include tests.
2. If the pull request adds functionality, the docs should be updated.
3. The pull request should work for Python 3.10.
2. If the pull request adds functionality, the docs should be updated.
3. The pull request should work for all Python versions specified in ``pyproject.toml`` (currently 3.10–3.14).
4. Keep pull requests small and focused to make them easier to review. Make one pull request per issue/feature. If your pull request addresses multiple issues, consider splitting it into multiple pull requests.
5. Reference the related issue (if any was raised) in the pull request description (e.g. "Closes #123").
6. All CI checks must pass before the pull request can be merged. If your pull request fails CI checks, don't worry! The maintainers will work with you to resolve any issues. If you're not sure how to fix a CI failure, feel free to ask for help in the pull request comments.
7. Many thanks for contributing! We will review your pull request as soon as we can.
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2016 Jungmann Lab jungmannlab.org
Copyright (c) 2016-2026 Jungmann Lab, MPI of Biochemistry (jungmannlab.org)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading
Loading