FFT/clean_python/test.py

43 lines
1.1 KiB
Python

from extractors import Rect_Evaluator
from plotter import Plotter
import numpy as np
import matplotlib.pyplot as plt
from spin_image import SpinImage
from lattices import SCC_Lattice, VO2_Lattice
import logging
logger = logging.getLogger('fft')
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
logger.addHandler(ch)
def test_scc():
LEN = 40
#scc = SCC_Lattice(LEN, LEN)
scc = VO2_Lattice(LEN, LEN)
phases = scc.get_phases()
logger.info(f"Phases: {phases}")
si = SpinImage(phases)
re = Rect_Evaluator(scc.get_spots())
si.apply_mask(scc.parse_mask(np.ones((LEN, LEN))))
si.gaussian(20)
fft = si.fft()
fft.clean()
re.generate_mask(fft, merge=True)
fig, axs = plt.subplots(3, 2)
plot = Plotter(scc)
plot.plot_spins(si, ax_lin=axs[0, 0])
#plot.plot_fft(fft, ax_lin=axs[1, 0], ax_log=axs[2, 0])
plot.plot_fft(fft, ax_lin=axs[1, 0], ax_log=axs[2, 0], evaluator=re)
plt.show()
test_scc()
plt.show()