Dateien nach "ILP" hochladen

This commit is contained in:
kilian 2026-06-25 11:38:24 +02:00
parent e60a87b1bd
commit a2259f14ae

View File

@ -266,8 +266,8 @@ def define_border_values(spectraref, spectranew, bin_width):
shifts.append(shift[0])
for _,(shift,_) in spectranew.items():
shifts.append(shift[0])
highest_ppm = math.ceil(max(shifts))
lowest_ppm = math.floor(min(shifts))
highest_ppm = math.ceil(max(shifts)) + bin_width
lowest_ppm = math.floor(min(shifts)) - bin_width
#lowest_ppm = min(shifts) - bin_width/2 #Worse result. None of the previously wrong (except 0.6) become right
return (lowest_ppm, highest_ppm)
@ -294,15 +294,16 @@ def correction(spectra, corretionppm):
return newspectra
def main():
spectrumref = CCAFFEINE2
spectrumref = CNMR3
#spectra = [HXANTHINE, H1XANTHINE, H3XANTHINE, H7XANTHINE, H1XANTHINE, H17XANTHINE, H37XANTHINE, H137XANTHINE]
spectra = [CXANTHINE, C1XANTHINE, C3XANTHINE, C7XANTHINE, C1XANTHINE, C17XANTHINE, C37XANTHINE, C137XANTHINE]
spectranames = ["CXANTHINE", "C1XANTHINE", "C3XANTHINE", "C7XANTHINE", "C1XANTHINE", "C17XANTHINE", "C37XANTHINE", "C137XANTHINE"]
spectranames = ["XANTHINE", "1XANTHINE", "3XANTHINE", "7XANTHINE", "1XANTHINE", "17XANTHINE", "37XANTHINE", "137XANTHINE"]
likelihood = []
for spectrumtrue in spectra:
#errorlist = {}
#errorlist = []
similaritybycorrection = []
correctionvalues = range(8, 16) #also tested 8.4, 8.37, 11, 9.4 (for CNMR3)
correctionvalues = [9.87] #for C tested np.arange(8.0, 16.1, 0.1) range(8, 12) 8.4, 8.37, 11, 9.4 (for CNMR3), 9.87 (true for all ref, 8.37 + 1.5 for the precision), np.arange(6.13, 9.86, 0.01) (only for first), for H 0.66 (not good), np.arange(0.4, 1.0, 0.01), 0.6 for first, second never first either 17 or caf higher np.arange(0.51, 0.82, 0.01) good measure
for correctionvalue in correctionvalues:
spectrumrefcorrected = correction(spectrumref, correctionvalue) #CCAFFEINE 11 (klappt hier sehr gut) CCAFFEINE2 12 CPARAXANTHINE 10 CNMR1 9, 10 o 11 (sehr gut) CNMR2 10 o 11
#Likelihood by number of higher similarity than all others.
@ -333,14 +334,17 @@ def main():
#Likelihood by mean similarity
#This method demonstrates the same problems as the other likelihood method
similaritylist = []
for i in np.arange(0.1, 3.9, 0.1):
binwidthlist = np.arange(0.1, 3.9, 0.1) #np.arange(0.1, 3.9, 0.1)
for i in binwidthlist:
similaritylist.append(similarity_nmr(spectrumtrue, spectrumrefcorrected, i))
similaritymean = sum(similaritylist) / len(similaritylist)
similaritybycorrection.append(similaritymean)
name = spectranames[spectra.index(spectrumtrue)]
correctionindex = max(range(len(similaritybycorrection)), key=similaritybycorrection.__getitem__)
print(f'{name}: {correctionindex} = {correctionvalues[correctionindex]}')
likelihood.append(round(max(similaritybycorrection), 2))
#Maybe not the best but a mean instead?
likelihood.append(round(sum(similaritybycorrection)/len(similaritybycorrection), 2))
#likelihood.append(round(max(similaritybycorrection), 2))
print(likelihood)
'''for i in np.arange(0.01, 0.07, 0.01):
print(f'Increment i: {i}')