MCPcopy Create free account
hub / github.com/NSLS2/PyXRF / _sort_eline_list

Method _sort_eline_list

pyxrf/model/parameters.py:982–1007  ·  view source on GitHub ↗

Sort the list of elements

(self, element_list)

Source from the content-addressed store, hash-verified

980 return "other"
981
982 def _sort_eline_list(self, element_list):
983 """
984 Sort the list of elements
985 """
986 names_elines, names_userpeaks, names_pileup_peaks, names_other = [], [], [], []
987 for name in element_list:
988 if self.get_eline_name_category(name) == "eline":
989 try:
990 z = get_element_atomic_number(name.split("_")[0])
991 except Exception:
992 z = 0
993 names_elines.append([name, z])
994 elif self.get_eline_name_category(name) == "userpeak":
995 names_userpeaks.append(name)
996 elif self.get_eline_name_category(name) == "pileup":
997 names_pileup_peaks.append(name)
998 else:
999 names_other.append(name)
1000
1001 names_elines.sort(key=lambda v: int(v[1])) # Sort by Z (atomic number)
1002 names_elines = [_[0] for _ in names_elines] # Get rid of Z
1003 names_userpeaks.sort()
1004 names_pileup_peaks.sort()
1005 names_other.sort()
1006
1007 return names_elines + names_userpeaks + names_pileup_peaks + names_other
1008
1009 def get_sorted_result_dict_names(self):
1010 """

Callers 2

Calls 2

Tested by

no test coverage detected