Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
80014dd
update Probe.plot so it sums over summable access instead of position…
tpchuckles Jan 11, 2026
866e2a9
finish 19_decoherence test to use differ
tpchuckles Jan 13, 2026
1afd6bf
finish 19_coherence test with differ
tpchuckles Jan 14, 2026
eba1b59
finish 19_coherence test including differ diffs
tpchuckles Jan 14, 2026
ee5a9c2
Merge pull request #51 from h-walk/TWP
tpchuckles Jan 14, 2026
1ffb4c8
add arbitrary array support for Potential object
tpchuckles Jan 14, 2026
069021b
make sure to initialize Potential._array if not passed
tpchuckles Jan 14, 2026
f8e3972
upload calculateObject tycho precursor
tpchuckles Jan 20, 2026
678e281
add 20_probepositions test and fix plotting flipping but NOT fixing p…
tpchuckles Jan 20, 2026
d1790b5
Merge pull request #53 from h-walk/TWP
tpchuckles Jan 20, 2026
423aa9d
numpy and torchgpu tests pass
Jan 20, 2026
a54fc4b
Add files via upload
tpchuckles Jan 20, 2026
c676067
tacaw.to_sea fails on probe and cache_dir, so manually overriding the…
tpchuckles Jan 20, 2026
4214e0e
tacaw.to_sea should work and should save as a Signal at the top level…
tpchuckles Jan 20, 2026
9c5876c
Delete tests/sea-eco directory
tpchuckles Jan 20, 2026
d365d60
sea-eco expects data in data, not array
tpchuckles Jan 20, 2026
44816f9
data should be populated with array, not wf_array
tpchuckles Jan 20, 2026
0b087d6
finish 16b_sea_eco_reload
tpchuckles Jan 20, 2026
5405a4f
finish and polish 16b test
tpchuckles Jan 21, 2026
4fcaf89
add masking by keyword and preview in tacaw masked_spectrum
tpchuckles Jan 22, 2026
a9021f5
add calculator.preview_probes
tpchuckles Jan 22, 2026
0477104
recomment out spurious prints
tpchuckles Jan 22, 2026
d6a3a1f
fix broken ADF, and make calculator save kxs.npy kys.npy to cache for…
tpchuckles Jan 23, 2026
7da6074
most tests pass torchcpu
tpchuckles Jan 23, 2026
8746f77
also cache off cropped and uncropped kxs
tpchuckles Jan 23, 2026
7957074
ope. need to_cpu for caching kx ky
tpchuckles Jan 23, 2026
225c07a
add trajectory.to_ase and calculator ignores missing frame caches if …
tpchuckles Jan 27, 2026
80e368d
add PySliceSerial mixin for .sea serialization of WFData, TACAWData, …
h-walk Jan 27, 2026
0b42b22
add weights_path option to MDCalculator and fix timestep calculation
h-walk Jan 27, 2026
c412f75
switching to inherit pySEA objects instead of our own
tpchuckles Jan 27, 2026
03c06df
conditional import should be inside pyslice_serial since that has all…
tpchuckles Jan 27, 2026
4e39c14
tacaw and haadf need self.sea_type
tpchuckles Jan 27, 2026
579c1b7
why is tacaw.tosea reimported by test 16b showing data is None
tpchuckles Jan 27, 2026
0e3d80c
make pySEA import in pyslice_serial conditional and create dummy clas…
tpchuckles Jan 27, 2026
00b2729
sea eco integration finalized, reloading via sea in 16b test works
tpchuckles Feb 2, 2026
3081727
Update pyproject.toml to allow python 3.10+, as reflected in readme
tpchuckles Feb 4, 2026
3c8b16e
Update numpy.slurm to use uv venv instead of conda
tpchuckles Feb 4, 2026
6a3cb31
Merge branch 'staging' into main
tpchuckles Feb 4, 2026
0ddb84a
Merge pull request #59 from h-walk/main
tpchuckles Feb 4, 2026
d1b44a9
Revert "copying many recent straight-to-main changes back to staging …
tpchuckles Feb 4, 2026
609972e
Merge pull request #60 from h-walk/revert-59-main
tpchuckles Feb 4, 2026
d7263da
Update multislice.py
tpchuckles Feb 4, 2026
ea69414
Merge pull request #61 from h-walk/main
tpchuckles Feb 4, 2026
b40f582
fix flipped probe coordinates, as was seen in test 20. requires updat…
tpchuckles Feb 4, 2026
8db9be6
Merge pull request #62 from h-walk/staging
tpchuckles Feb 4, 2026
8ce795e
Merge pull request #63 from h-walk/main
tpchuckles Feb 4, 2026
27150a2
Merge pull request #64 from h-walk/staging
tpchuckles Feb 4, 2026
d3c3079
all tests pass
tpchuckles Feb 4, 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ test_results/
!tests/outputs/figs/*.png
*.jpg
*.jpeg
*.sea

# IDE and editor files
.vscode/
Expand Down
2 changes: 2 additions & 0 deletions src/pyslice/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ def asarray(arraylike, dtype=None, device=None):
return array

def zeros(dims, dtype=DEFAULT_FLOAT_DTYPE, device=DEFAULT_DEVICE):
if isinstance(dtype,str):
dtype=DEFAULT_FLOAT_DTYPE if dtype=="float" else DEFAULT_COMPLEX_DTYPE
if xp != np:
array = xp.zeros(dims, dtype=dtype, device=device)
else:
Expand Down
15 changes: 13 additions & 2 deletions src/pyslice/data/signal.py → src/pyslice/data/ALSONOTsignal.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ def to_dict(self,
if deep: value = type(value)([v.to_dict(hidden=hidden, properties=properties, deep=deep) for v in value]) #keep the iterable type and loop it converting each element to a dict\
result[key] = value
else:
#print("TODICT",key,value)
result[key] = value
return result

Expand All @@ -282,6 +283,8 @@ def to_hdf5_group(self, parent_group: File|Group,
"""Save object to SEA formated HDF5 group."""

sea_type = type(self).__name__ # Get the SEA class type
if sea_type in ["TACAWData","WFData"]: # TWP 20260120: sea-eco appears to not know about TACAWData, so let's treat parent classes (not Dimensions and friends) as Signals
sea_type = 'Signal'

# Handle group name: use provided name, fall back to object's name attribute, or default
if name is None:
Expand All @@ -299,8 +302,16 @@ def to_hdf5_group(self, parent_group: File|Group,
exclude_keys=exclude_keys)
to_write = {**{k:v for k,v in to_write.items() if '_' not in str(k)},
**{k:v for k,v in to_write.items() if '_' in str(k)}}
print("to_write.keys()",to_write.keys())
#to_write[ "data" ]=to_write[ "array" ]
storage_name_counts: Dict[str, int] = {}
#print("to_write",to_write.items().keys())
for key, val in to_write.items():
#print("name",name,"key",key,"val",val,"type",type(val))
if key in ["probe","cache_dir"]:
continue
if key == "_array":
key = "data"
if not hasattr(self, key):
continue
storage_key = key[1:] if key.startswith('_') else key
Expand Down Expand Up @@ -339,7 +350,7 @@ def to_sea(self, file_path: str,
file.attrs['file_type'] = 'SEA-eco HDF5 file'.encode('utf-8')
file.attrs['file_version'] = '0.0'.encode('utf-8')
file.attrs['sea_type'] = type(self).__name__.encode('utf-8')

#print("file.attrs",[ (k,file.attrs[k]) for k in file.attrs.keys() ])
self.to_hdf5_group(parent_group=file, force_datasets=force_datasets)

file.close()
Expand Down Expand Up @@ -632,7 +643,7 @@ class Dimension(SEASerializable):
def __init__(self, dimension: Dict|GeneralMetadata|None = None,
name: str = 'Unnamed Dimension',
space: Literal["position", "scattering", "temporal", "spectral"] | None = None,
scale: float|int|Iterable[float|int]|None = None,
scale: float|int|Iterable[float|int]|None = 1,
offset: float|int|Iterable[float|int]|None = None,
size: int|Iterable[int]|None = None,
units: str|Iterable[str] = '',
Expand Down
Loading