43 lines
1.1 KiB
Python
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()
|