Skip to content

Commit

Permalink
opxrd: Updated parsing logging
Browse files Browse the repository at this point in the history
  • Loading branch information
Somerandomguy10111 committed Dec 14, 2024
1 parent c4dec5c commit 20a19a7
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 27 deletions.
23 changes: 5 additions & 18 deletions opxrd/analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,9 @@ def __init__(self, databases : list[PatternDB], output_dirpath : str):
self.output_dirpath : str = output_dirpath
os.makedirs(self.output_dirpath, exist_ok=True)

@staticmethod
def plot_in_single(patterns : list[XrdPattern]):
data = [p.get_pattern_data() for p in patterns]
fig, ax = plt.subplots()
for x, y in data:
ax.plot(x, y, linewidth=0.1)

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_title('Multiple XY Plots')
plt.show()

def plot_databases_in_single(self):
for database in self.databases:
database.show_all(single_plot=True)

def plot_fourier(self, x, y, max_freq=10):
N = len(y) # Number of sample points
Expand Down Expand Up @@ -128,10 +119,6 @@ def get_all_patterns(self) -> list[XrdPattern]:
if __name__ == "__main__":
test_dirpath = '/tmp/opxrd_test'
full_dirpath = '/tmp/opxrd'

opxrd_databases = OpXRD.as_database_list(root_dirpath=full_dirpath)
opxrd_databases = OpXRD.as_database_list(root_dirpath=test_dirpath)
analyser = DatabaseAnalyser(databases=opxrd_databases, output_dirpath='/tmp/opxrd_analysis')

opxrd= OpXRD.load(root_dirpath=test_dirpath)
opxrd.show_histograms(save_fpath=f'/tmp/quantities_hist.png',attach_colorbar=False)

analyser.plot_databases_in_single()
19 changes: 11 additions & 8 deletions opxrd/wrapper/opxrd.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,22 @@
from xrdpattern.pattern import PatternDB
from holytools.userIO import TrackedInt

from xrdpattern.pattern.db import patterdb_logger

# -----------------------------


class OpXRD(PatternDB):
@classmethod
def load(cls, root_dirpath : str, download : bool = True, download_in_situ : bool = False, *args, **kwargs) -> PatternDB:
root_dirpath = os.path.expanduser(root_dirpath)
root_dirpath = os.path.abspath(root_dirpath)
def load(cls, dirpath : str, download : bool = True, download_in_situ : bool = False, *args, **kwargs) -> PatternDB:
dirpath = os.path.expanduser(dirpath)
dirpath = os.path.abspath(dirpath)

if not os.path.isdir(dirpath) and download:
cls._prepare_files(root_dirpath=dirpath, include_in_situ=download_in_situ)

if not os.path.isdir(root_dirpath) and download:
cls._prepare_files(root_dirpath=root_dirpath, include_in_situ=download_in_situ)

print(f'- Loading patterns from local files')
return super().load(dirpath=root_dirpath, strict=True)
return super().load(dirpath=dirpath, strict=True)


@classmethod
Expand Down Expand Up @@ -106,6 +108,7 @@ def merge_databases(dbs : list[PatternDB], common_prefix_length : int = 4) -> li


if __name__ == "__main__":
pass
# opxrd = OpXRD.load(root_dirpath='../data/opxrd')
# print(f'record id = {OpXRD.get_latest_record_id()}')
OpXRD._prepare_files(root_dirpath='/tmp/opxrd')
# OpXRD._prepare_files(root_dirpath='/tmp/opxrd')
2 changes: 1 addition & 1 deletion tests/t_download.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
class TestLoading(Unittest):
def test_dl(self):
dl_dirpath = tempfile.mktemp()
opxrd = OpXRD.load(root_dirpath=dl_dirpath, download=True)
opxrd = OpXRD.load(dirpath=dl_dirpath, download=True)
print(f'- Checking database loading')
#opxrd = OpXRD.load(root_dirpath='/home/daniel/aimat/data/opXRD/final/')
self.assertTrue(os.path.isdir(dl_dirpath))
Expand Down

0 comments on commit 20a19a7

Please sign in to comment.