import SimpleITK as sitk import argparse import numpy as np parser = argparse.ArgumentParser() parser.add_argument("-i", "--input", help="Input spectrum") parser.add_argument("-o", "--output", help="Output spectrum") parser.add_argument("-f", "--factor", help="Scale factor") args = parser.parse_args() input_name = args.input outname = args.output factor = float(args.factor) imzml = io.open_imzml(input_name) original_spectra = io.get_spectra(imzml) mzs = original_spectra[:, 0, :] spectra = imzmlio.get_full_spectra(imzml) max_x = max(imzml.coordinates, key=lambda item:item[0])[0] max_y = max(imzml.coordinates, key=lambda item:item[1])[1] max_z = max(imzml.coordinates, key=lambda item:item[2])[2] image = imzmlio.get_images_from_spectra(spectra, (max_x, max_y, max_z)) itk_image = sitk.GetImageFromArray(image) size = image.shape[:2] new_size = [d*factor for d in size] new_size = new_size[::-1] resized_itk = utils.resize(itk_image, new_size)
import esmraldi.spectraprocessing as sp import numpy as np from scipy.stats import pearsonr parser = argparse.ArgumentParser() parser.add_argument("-i", "--input", help="Input MALDI imzML") parser.add_argument("-p", "--prominence", help="Prominence factor for peak selection") args = parser.parse_args() inputname = args.input prominence = float(args.prominence) p = io.open_imzml(inputname) spectra = io.get_spectra(p) mz, I = spectra[0] min_diff = mz[1] - mz[0] wlen = max(10, int(50.0 / min_diff)) indices_mzs = sp.spectra_peak_indices_adaptative(spectra, factor=prominence, wlen=wlen) width_peak_indices = 10 tic = [] medians = [] sic = [] sic_comp = []
parser.add_argument("-f", "--factor", help="Multiplicative factor for peak detection", default=150) parser.add_argument("-l", "--level", help="Noise level", default=2) parser.add_argument("-n", "--nbpeaks", help="Number of occurrence of peaks across all the spectra for the realignment", default=1) parser.add_argument("-s", "--step", help="Tolerance step to realign peaks (in m/z)", default=0.02) args = parser.parse_args() input_name = args.input outname = args.output factor = int(args.factor) noise_level = float(args.level) nb_peaks = int(args.nbpeaks) step_mz = float(args.step) imzml = io.open_imzml(input_name) spectra = io.get_spectra(imzml) peaks = sp.spectra_peak_mzs_adaptative_noiselevel(spectra, factor=factor, noise_level=noise_level, wlen=100) realigned_spectra = sp.realign_mzs(spectra, peaks, reference="median", nb_occurrence=nb_peaks, step=step_mz) print(realigned_spectra.shape) av = sp.spectra_mean(realigned_spectra) mzs = realigned_spectra[0, 0, :] plt.plot(mzs, av) plt.show() mzs = []