Skip to content

Commit

Permalink
hkl angles update
Browse files Browse the repository at this point in the history
  • Loading branch information
BM32ESRF committed Dec 10, 2022
1 parent 7a89a87 commit a7def01
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 29 deletions.
16 changes: 8 additions & 8 deletions lauetoolsnn/lauetoolsneuralnetwork.py
Original file line number Diff line number Diff line change
Expand Up @@ -1291,25 +1291,25 @@ def postprocesstrain(self, emit_dict):
self.symmetry = Symmetry.cubic
self.lattice_material = Lattice.cubic(a)
elif self.input_params["symmetry"] =="monoclinic":
self.crystal = SGLattice(int(self.SG),a, b, c, beta)
self.crystal = SGLattice(int(self.SG), a, b, c, beta)
self.symmetry = Symmetry.monoclinic
self.lattice_material = Lattice.monoclinic(a, b, c, beta)
elif self.input_params["symmetry"] == "hexagonal":
self.crystal = SGLattice(int(self.SG),a, c)
self.crystal = SGLattice(int(self.SG), a, c)
self.symmetry = Symmetry.hexagonal
self.lattice_material = Lattice.hexagonal(a, c)
elif self.input_params["symmetry"] == "orthorhombic":
self.crystal = SGLattice(int(self.SG),a, b, c)
self.crystal = SGLattice(int(self.SG), a, b, c)
self.symmetry = Symmetry.orthorhombic
self.lattice_material = Lattice.orthorhombic(a, b, c)
elif self.input_params["symmetry"] == "tetragonal":
self.crystal = SGLattice(int(self.SG),a, c)
self.crystal = SGLattice(int(self.SG), a, c)
self.symmetry = Symmetry.tetragonal
self.lattice_material = Lattice.tetragonal(a, c)
elif self.input_params["symmetry"] == "trigonal":
self.crystal = SGLattice(int(self.SG),a, alpha)
self.crystal = SGLattice(int(self.SG), a, c)
self.symmetry = Symmetry.trigonal
self.lattice_material = Lattice.rhombohedral(a, alpha)
self.lattice_material = Lattice.hexagonal(a, c)
elif self.input_params["symmetry"] == "triclinic":
self.crystal = SGLattice(int(self.SG),a, b, c, alpha, beta, gamma)
self.symmetry = Symmetry.triclinic
Expand Down Expand Up @@ -1357,9 +1357,9 @@ def postprocesstrain(self, emit_dict):
self.symmetry1 = Symmetry.tetragonal
self.lattice_material1 = Lattice.tetragonal(a1, c1)
elif self.input_params["symmetry1"] == "trigonal":
self.crystal1 = SGLattice(int(self.SG1),a1, alpha1)
self.crystal1 = SGLattice(int(self.SG1), a1, c1)
self.symmetry1 = Symmetry.trigonal
self.lattice_material1 = Lattice.rhombohedral(a1, alpha1)
self.lattice_material1 = Lattice.hexagonal(a1, c1)
elif self.input_params["symmetry1"] == "triclinic":
self.crystal1 = SGLattice(int(self.SG1),a1, b1, c1, alpha1, beta1, gamma1)
self.symmetry1 = Symmetry.triclinic
Expand Down
36 changes: 15 additions & 21 deletions lauetoolsnn/utils_lauenn.py
Original file line number Diff line number Diff line change
Expand Up @@ -1098,13 +1098,17 @@ def write_training_testing_dataMTEX(save_directory,material_, material1_, lattic
def get_material_data(material_="Cu", ang_maxx = 45, step = 0.5, hkl_ref=13, classhkl = None):
a, b, c, alpha, beta, gamma = dictLT.dict_Materials[material_][1]
Gstar = CP.Gstar_from_directlatticeparams(a, b, c, alpha, beta, gamma)
rules = dictLT.dict_Materials[material_][-1]

hkl2 = GT.threeindices_up_to(int(hkl_ref))
hkl2 = CP.ApplyExtinctionrules(hkl2,rules)
hkl2 = hkl2.astype(np.int16)

query_angle = ang_maxx/2.
angle_tol = ang_maxx/2.
metrics = Gstar

hkl1 = np.copy(classhkl)
hkl2 = np.copy(classhkl)
hkl1 = classhkl
H1 = hkl1
n1 = hkl1.shape[0]
H2 = hkl2
Expand All @@ -1120,9 +1124,7 @@ def get_material_data(material_="Cu", ang_maxx = 45, step = 0.5, hkl_ref=13, cla
ratio = np.round(ratio, decimals=7)
tab_angulardist = np.arccos(ratio) / (np.pi / 180.0)
np.putmask(tab_angulardist, np.abs(tab_angulardist) < 0.001, 400)

# self.write_to_console("Calculating Mutual angular distances")
# self.progress.setMaximum(len(tab_angulardist))

closest_angles_values = []
for ang_ in range(len(tab_angulardist)):
tab_angulardist_ = tab_angulardist[ang_,:]
Expand All @@ -1146,25 +1148,17 @@ def get_material_data(material_="Cu", ang_maxx = 45, step = 0.5, hkl_ref=13, cla
condition = array_angledist <= angle_tol
closest_index_in_sorted_angles_raw = np.where(condition)[0]
closest_angles_values.append(np.take(sorted_angles, closest_index_in_sorted_angles_raw))
# self.progress.setValue(ang_+1)
# QApplication.processEvents()

# self.write_to_console("Constructing histograms")
# self.progress.setMaximum(len(closest_angles_values))

codebars = []
angbins = np.arange(0, ang_maxx+step, step)
for i in range(len(closest_angles_values)):
angles = closest_angles_values[i]
fingerprint = np.histogram(angles, bins=angbins)[0]
# fingerprint = histogram1d(angles, range=[min(angbins),max(angbins)], bins=len(angbins)-1)
## Normalize the histogram by its maximum: simple way
## Maybe better normalization is possible.. to be seen
max_codebars = np.max(fingerprint)
fingerprint = fingerprint/ max_codebars
codebars.append(fingerprint)
# self.progress.setValue(i+1)
# QApplication.processEvents()
# self.progress.setValue(0)
return codebars, angbins

def Euler2OrientationMatrix(euler):
Expand Down Expand Up @@ -8085,10 +8079,10 @@ def get_material_detail(material_=None, SG=None, symm_=None,
crystal = SGLattice(int(SG),a, c)
elif symm_ == "trigonal":
symmetry = Symmetry.trigonal
lattice_material = Lattice.rhombohedral(a, alpha)
lattice_material = Lattice.hexagonal(a, c)
if SG == None:
SG = 162
crystal = SGLattice(int(SG),a, alpha)
crystal = SGLattice(int(SG), a, c)
elif symm_ == "triclinic":
symmetry = Symmetry.triclinic
lattice_material = Lattice.triclinic(a, b, c, alpha, beta, gamma)
Expand Down Expand Up @@ -8136,10 +8130,10 @@ def get_material_detail(material_=None, SG=None, symm_=None,
crystal1 = SGLattice(int(SG1),a1, c1)
elif symm1_ == "trigonal":
symmetry1 = Symmetry.trigonal
lattice_material1 = Lattice.rhombohedral(a1, alpha1)
lattice_material1 = Lattice.hexagonal(a1, c1)
if SG1 == None:
SG1 = 162
crystal1 = SGLattice(int(SG1),a1, alpha1)
crystal1 = SGLattice(int(SG1),a1, c1)
elif symm1_ == "triclinic":
symmetry1 = Symmetry.triclinic
lattice_material1 = Lattice.triclinic(a1, b1, c1, alpha1, beta1, gamma1)
Expand Down Expand Up @@ -9233,7 +9227,7 @@ def get_crystal(SG_mat=None, symm_=None, lattice_params=None):
elif symm_ == "tetragonal":
crystal = SGLattice(int(SG_mat),a, c)
elif symm_ == "trigonal":
crystal = SGLattice(int(SG_mat),a, alpha)
crystal = SGLattice(int(SG_mat),a, c)
elif symm_ == "triclinic":
crystal = SGLattice(int(SG_mat),a, b, c, alpha, beta, gamma)
return crystal
Expand Down Expand Up @@ -9296,13 +9290,13 @@ def get_multimaterial_detail(material_=None, SG_mat=None, symm_mat=None):
crystal.append(SGLattice(int(SG_mat[ino]),a, c))
elif symm_ == "trigonal":
symmetry.append(Symmetry.trigonal)
lattice_material.append(Lattice.rhombohedral(a, alpha))
lattice_material.append(Lattice.hexagonal(a, c))
if SG_mat[ino] == None:
SG.append(162)
SG_mat[ino] = 162
else:
SG.append(SG_mat[ino])
crystal.append(SGLattice(int(SG_mat[ino]),a, alpha))
crystal.append(SGLattice(int(SG_mat[ino]),a, c))
elif symm_ == "triclinic":
symmetry.append(Symmetry.triclinic)
lattice_material.append(Lattice.triclinic(a, b, c, alpha, beta, gamma))
Expand Down

0 comments on commit a7def01

Please sign in to comment.