Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

version 0.14.5 release #542

Merged
merged 119 commits into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
a0ea199
Adding grain clustering function
cophus May 12, 2023
234e372
Fixing bugs in the grain clustering
cophus May 12, 2023
7c89abb
More plotting tools
cophus May 13, 2023
e0e0a12
Updated viz
cophus May 13, 2023
a5cfd36
Cleaning up
cophus May 13, 2023
2ebe414
Updating plotting function with new args
cophus May 15, 2023
c46cf18
Merge remote-tracking branch 'py4dstem/dev' into grain_clustering
cophus May 15, 2023
5db507f
Fix duplicate arg
cophus May 15, 2023
6db566e
start for depth profile
smribet Aug 4, 2023
4eb461d
adding real-space kde upsampling
gvarnavi Aug 8, 2023
0176914
Merge remote-tracking branch 'origin/phase_contrast' into phase_contrast
smribet Aug 8, 2023
8c61a5b
more depth profile
smribet Aug 8, 2023
22d1bb4
saving error
smribet Aug 8, 2023
5f919bd
small name changes
smribet Aug 8, 2023
68b31a7
single slice tv denoise
smribet Aug 17, 2023
5acdd58
multislice tv denoise... will test more before adding to other classe…
smribet Aug 17, 2023
aac2d12
minor tv bugfix
gvarnavi Aug 21, 2023
da85db0
improvements for depth plotting
smribet Aug 21, 2023
a582212
tv fixes
smribet Aug 22, 2023
eaa3699
everyone gets TV denoising
smribet Aug 25, 2023
bc133b1
Adding moire lattice generation and plotting
cophus Aug 29, 2023
cc81ccd
run black
sezelt Aug 29, 2023
cc36490
subpixel alignment phase correct, part 1
smribet Aug 29, 2023
41f319d
removing print statement
smribet Aug 29, 2023
5964344
Merge remote-tracking branch 'origin/dev' into moire
sezelt Sep 1, 2023
95beba5
parallax plotting fix
smribet Sep 7, 2023
c25e242
generalizing overlap tomo to orientation matrices
gvarnavi Sep 20, 2023
a7b55aa
Merge branch 'phase_contrast' of github.com:py4dstem/py4DSTEM into ph…
gvarnavi Sep 20, 2023
31b5525
black formatting
gvarnavi Sep 20, 2023
d4363f4
flake8 6.1.0 found some more issues
gvarnavi Sep 20, 2023
e60071a
adding mixed-state multi-slice ptycho class
gvarnavi Sep 20, 2023
807ac15
small reset bug
smribet Sep 22, 2023
8b35dbb
fixed NaN bug
gvarnavi Sep 23, 2023
9f24d5c
Merge branch 'phase_contrast' of github.com:py4dstem/py4DSTEM into ph…
gvarnavi Sep 23, 2023
6cb62f1
changed complex plotting
gvarnavi Sep 23, 2023
a73bcc3
Merge remote-tracking branch 'origin/dev' into grain_clustering
cophus Sep 23, 2023
ad79416
updated complex plotting phase calls
gvarnavi Sep 24, 2023
356a3a1
adding complex CoM plotting and various dpc plotting bugs
gvarnavi Sep 24, 2023
d621c19
Adding min angle between matches.
cophus Sep 24, 2023
65206a1
format with black
sezelt Sep 27, 2023
f1573a8
Update check_install_dev.yml
sezelt Sep 27, 2023
8f01b23
Merge pull request #528 from py4dstem/remove-3-12-test
alex-rakowski Sep 27, 2023
8718629
Merge remote-tracking branch 'origin/dev' into grain_clustering
sezelt Sep 27, 2023
2bc9da9
parallax descan correct
smribet Sep 30, 2023
3a99d5a
complex plotting improvements, formatting
gvarnavi Sep 30, 2023
44b33df
Update README.md
bsavitzky Oct 2, 2023
23a2e94
update docstrings
sezelt Oct 2, 2023
17710bd
replace pbar with tqdm
sezelt Oct 2, 2023
d4099ea
change to fitted intensities
smribet Oct 4, 2023
8c6be92
Merge remote-tracking branch 'origin/phase_contrast' into phase_contrast
smribet Oct 4, 2023
221b34b
tqdm-based progress bar in clustering
sezelt Oct 4, 2023
466343b
Adding docstrings and more description
cophus Oct 4, 2023
4f97b81
Black formatting
cophus Oct 4, 2023
a48093f
move progress update step
sezelt Oct 5, 2023
e21541a
Merge pull request #3 from cophus/moire
sezelt Oct 5, 2023
b067fc1
adding "sphinx_rtd_theme" to conf.py
alex-rakowski Oct 6, 2023
3096f6c
adding sphinx_rtd_theme to setup.py
alex-rakowski Oct 6, 2023
d7ac9e1
black style conf.py
alex-rakowski Oct 6, 2023
b19d173
adding sphinx_rtd_theme to docs requirements.txt
alex-rakowski Oct 6, 2023
e07dddd
removing sphinx_rtd_theme from setup.py
alex-rakowski Oct 6, 2023
69df1a4
Merge pull request #531 from py4dstem/docs
sezelt Oct 6, 2023
b35d8ec
Merge pull request #525 from cophus/grain_clustering
sezelt Oct 6, 2023
f2c21d5
preprocessing dtype bug
smribet Oct 8, 2023
d6f4799
update CUDA source file location in setup.py
sezelt Oct 9, 2023
74c60d4
update cupy import try statements
sezelt Oct 9, 2023
7c3a0d8
adding tilt to propagators
smribet Oct 10, 2023
23204aa
single slice crop patterns
smribet Oct 12, 2023
84a2067
tv_denoise typo
gvarnavi Oct 13, 2023
0978c4b
revisting casting inconsistencies
gvarnavi Oct 13, 2023
41069fd
Merge remote-tracking branch 'origin/phase_contrast' into phase_contrast
smribet Oct 14, 2023
c9ac5db
crop pattern option for all classes
smribet Oct 14, 2023
00991c9
fix for gpu
smribet Oct 14, 2023
31af429
cleaned up parallax descan
gvarnavi Oct 16, 2023
43289e3
added support for float upsampling
gvarnavi Oct 16, 2023
35d076f
making descan correction the default
gvarnavi Oct 16, 2023
d2a198e
Merge remote-tracking branch 'origin/phase_contrast' into phase_contrast
smribet Oct 16, 2023
2e25fe1
Merge remote-tracking branch 'origin/phase_contrast' into phase_contrast
smribet Oct 16, 2023
c06ca46
removing redundant if statement
gvarnavi Oct 16, 2023
8d5b2e0
Merge pull request #532 from sezelt/cudakern_relocate
bsavitzky Oct 16, 2023
e8305e7
Merge pull request #533 from sezelt/cp-import
bsavitzky Oct 16, 2023
9be2e9a
removed separate ctf corrections and other subpixel improvements
gvarnavi Oct 16, 2023
ab76946
added read-write functionality to parralax
gvarnavi Oct 16, 2023
7be77be
Apply suggestions from code review
sezelt Oct 16, 2023
c7ad07e
format with black
sezelt Oct 16, 2023
4cf1e30
Merge remote-tracking branch 'origin/dev' into moire
sezelt Oct 16, 2023
5de83bf
clean up moire
sezelt Oct 16, 2023
7c653fe
Fix for plotting bug
cophus Oct 16, 2023
ce351d8
Merge pull request #535 from cophus/dev
bsavitzky Oct 16, 2023
06e1837
Starting on CTF fitting
cophus Oct 16, 2023
593f07d
Adding more parts of parallax CTF fitting
cophus Oct 17, 2023
e5d7425
added chroma_boost for show_complex
gvarnavi Oct 17, 2023
62c4cae
Working on CTF
cophus Oct 17, 2023
ea070f8
It works!
cophus Oct 17, 2023
b2cbede
Updating outputs
cophus Oct 17, 2023
2705514
Adding outputs, plotting
cophus Oct 17, 2023
2e2690c
Merge pull request #536 from cophus/phase_contrast
gvarnavi Oct 18, 2023
7eae948
finally works
gvarnavi Oct 19, 2023
d1f6efb
some support for aberration correct
gvarnavi Oct 19, 2023
de75b51
small bug fixes
gvarnavi Oct 19, 2023
52ee427
cleaned up parallax
gvarnavi Oct 20, 2023
54d5859
ptycho new aberration formalism
gvarnavi Oct 20, 2023
9865f39
adding chroma_boost defaults
gvarnavi Oct 20, 2023
020e170
formatted, linted, isorted
gvarnavi Oct 20, 2023
f9ae5e1
fixed some manual conflicts
gvarnavi Oct 20, 2023
9806e27
fixing radial order accounting
gvarnavi Oct 20, 2023
2eca4b7
make lint happy I hope!
smribet Oct 20, 2023
71b8f6d
fix extent for ms depth sectioning
smribet Oct 21, 2023
dfc312b
small fixes
smribet Oct 21, 2023
b0e2c42
fix for ptycho aberration fit
smribet Oct 21, 2023
17dd9a2
black format
smribet Oct 21, 2023
ada4d4d
fixed ptycho fitting, added transpose flag in parallax
gvarnavi Oct 22, 2023
faac2b2
versions emdfile
bsavitzky Oct 22, 2023
f18aaf9
Merge pull request #541 from bsavitzky/array_repr_bugfix
bsavitzky Oct 22, 2023
9529945
added force_transpose option for other two aberration fit methods
gvarnavi Oct 22, 2023
43220d0
read-write device bugfix
gvarnavi Oct 22, 2023
6416804
Merge pull request #539 from py4dstem/phase_contrast
smribet Oct 22, 2023
1b9199c
Merge pull request #514 from sezelt/moire
sezelt Oct 22, 2023
2493514
bugfix to update_version.py
bsavitzky Oct 23, 2023
18c1b8c
Manually update version.py
bsavitzky Oct 23, 2023
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
2 changes: 1 addition & 1 deletion .github/scripts/update_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
lines = f.readlines()

line_split = lines[0].split(".")
patch_number = line_split[2].split("'")[0]
patch_number = line_split[2].split("'")[0].split('"')[0]

# Increment patch number
patch_number = str(int(patch_number) + 1) + "'"
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/check_install_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
runs-on: [ubuntu-latest]
architecture: [x86_64]
python-version: ["3.9", "3.10", "3.11",]
include:
- python-version: "3.12.0-beta.4"
runs-on: ubuntu-latest
allow_failure: true
# include:
# - python-version: "3.12.0-beta.4"
# runs-on: ubuntu-latest
# allow_failure: true
# Currently no public runners available for this but this or arm64 should work next time
# include:
# - python-version: "3.10"
Expand Down
30 changes: 19 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,42 +46,50 @@ First, download and install Anaconda: www.anaconda.com/download.
If you prefer a more lightweight conda client, you can instead install Miniconda: https://docs.conda.io/en/latest/miniconda.html.
Then open a conda terminal and run one of the following sets of commands to ensure everything is up-to-date and create a new environment for your py4DSTEM installation:


```
conda update conda
conda create -n py4dstem
conda activate py4dstem
conda install -c conda-forge py4dstem pymatgen jupyterlab
```

Next, install py4DSTEM. To simultaneously install py4DSTEM with `pymatgen` (used in some crystal structure workflows) and `jupyterlab` (providing an interface for running Python notebooks like those provided in the [py4DSTEM tutorials repository](https://github.com/py4dstem/py4DSTEM_tutorials)) run:
In order, these commands
- ensure your installation of anaconda is up-to-date
- make a virtual environment (see below)
- enter the environment
- install py4DSTEM, as well as pymatgen (used for crystal structure calculations) and JupyterLab (an interface for running Python notebooks like those in the [py4DSTEM tutorials repository](https://github.com/py4dstem/py4DSTEM_tutorials))


We've had some recent reports install of `conda` getting stuck trying to solve the environment using the above installation. If you run into this problem, you can install py4DSTEM using `pip` instead of `conda` by running:

```
conda install -c conda-forge py4dstem pymatgen jupyterlab
conda update conda
conda create -n py4dstem python=3.10
conda activate py4dstem
pip install py4dstem pymatgen
```

Or if you would prefer to install only the base modules of **py4DSTEM**, you can instead run:
Both `conda` and `pip` are programs which manage package installations, i.e. make sure different codes you're installing which depend on one another are using mutually compatible versions. Each has advantages and disadvantages; `pip` is a little more bare-bones, and we've seen this install work when `conda` doesn't. If you also want to use Jupyterlab you can then use either `pip install jupyterlab` or `conda install jupyterlab`.

If you would prefer to install only the base modules of **py4DSTEM**, and skip pymategen and Jupterlab, you can instead run:

```
conda install -c conda-forge py4dstem
```

In Windows you should then also run:
Finally, regardless of which of the above approaches you used, in Windows you should then also run:

```
conda install pywin32
```

In order, these commands
- ensure your installation of anaconda is up-to-date
- make a virtual environment (see below)
- enter the environment
- install py4DSTEM, and optionally also pymatgen and JupyterLab
- on Windows, enable python to talk to the windows API
which enables Python to talk to the Windows API.

Please note that virtual environments are used in the instructions above in order to make sure packages that have different dependencies don't conflict with one another.
Because these directions install py4DSTEM to its own virtual environment, each time you want to use py4DSTEM you'll need to activate this environment.
You can do this in the command line by running `conda activate py4dstem`, or, if you're using the Anaconda Navigator, by clicking on the Environments tab and then clicking on `py4dstem`.

Last - as of the version 0.14.4 update, we've had a few reports of problems upgrading to the newest version. We're not sure what's causing the issue yet, but have found the new version can be installed successfully in these cases using a fresh Anaconda installation.


<a id='legacyinstall'></a>
Expand Down
3 changes: 2 additions & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
emdfile
# py4dstem
sphinx_rtd_theme
# py4dstem
7 changes: 6 additions & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ["sphinx.ext.autodoc", "sphinx.ext.napoleon", "sphinx.ext.intersphinx"]
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"sphinx.ext.intersphinx",
"sphinx_rtd_theme",
]

# Other useful extensions
# sphinx_copybutton
Expand Down
4 changes: 2 additions & 2 deletions py4DSTEM/braggvectors/diskdetection_aiml_cuda.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

try:
import cupy as cp
except:
raise ImportError("Import Error: Please install cupy before proceeding")
except ModuleNotFoundError:
raise ImportError("AIML CUDA Requires cupy")

try:
import tensorflow as tf
Expand Down
4 changes: 2 additions & 2 deletions py4DSTEM/preprocess/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

try:
import cupy as cp
except ImportError:
cp = None
except ModuleNotFoundError:
cp = np


def bin2D(array, factor, dtype=np.float64):
Expand Down
Loading
Loading