Example usage for org.apache.commons.math3.analysis.function Identity Identity

List of usage examples for org.apache.commons.math3.analysis.function Identity Identity

Introduction

In this page you can find the example usage for org.apache.commons.math3.analysis.function Identity Identity.

Prototype

Identity

Source Link

Usage

From source file:de.unijena.bioinf.FragmentationTreeConstruction.computation.recalibration.LeastSquare.java

@Override
public UnivariateFunction recalibrate(MutableSpectrum<Peak> spectrum, Spectrum<Peak> referenceSpectrum) {
    spectrum = new SimpleMutableSpectrum(spectrum);
    SimpleMutableSpectrum refSpectrum = new SimpleMutableSpectrum(referenceSpectrum);
    preprocess(spectrum, refSpectrum);//  w w w .j av  a2 s .  c o  m
    final double[] eps = new double[spectrum.size()];
    for (int k = 0; k < eps.length; ++k)
        eps[k] = this.epsilon.absoluteFor(spectrum.getMzAt(k));
    final double[][] values = MzRecalibration.maxIntervalStabbing(spectrum, refSpectrum, eps, threshold);
    if (values[0].length < minNumberOfPeaks)
        return new Identity();

    if (forceParentPeakIn)
        forceParentPeakInRecalibration(spectrum, referenceSpectrum, values);

    final UnivariateFunction recalibration = MzRecalibration.getLinearRecalibration(values[0], values[1]);
    MzRecalibration.recalibrate(spectrum, recalibration);
    return recalibration;
}

From source file:de.unijena.bioinf.FragmentationTreeConstruction.computation.recalibration.MedianSlope.java

@Override
public UnivariateFunction recalibrate(MutableSpectrum<Peak> spectrum, Spectrum<Peak> referenceSpectrum) {
    spectrum = new SimpleMutableSpectrum(spectrum);
    final SimpleMutableSpectrum ref = new SimpleMutableSpectrum(referenceSpectrum);

    preprocess(spectrum, ref);/*  w  w  w .  ja va  2s.  c om*/
    final double[] eps = new double[spectrum.size()];
    for (int k = 0; k < eps.length; ++k)
        eps[k] = this.epsilon.absoluteFor(spectrum.getMzAt(k));
    final double[][] values = MzRecalibration.maxIntervalStabbing(spectrum, ref, eps, threshold);
    //final double[][] values = getMedianSubset(spectrum, ref);//getMedianSubsetFairDistributed(spectrum, ref);
    // getMedianSubsetFairDistributed(spectrum, ref);
    if (values[0].length < minNumberOfPeaks)
        return new Identity();

    if (forceParentPeakIn)
        forceParentPeakInRecalibration(spectrum, referenceSpectrum, values);

    final UnivariateFunction recalibration = MzRecalibration.getMedianLinearRecalibration(values[0], values[1]);
    MzRecalibration.recalibrate(spectrum, recalibration);
    return recalibration;
}

From source file:de.unijena.bioinf.FragmentationTreeConstruction.computation.recalibration.ExpRek.java

@Override
public UnivariateFunction recalibrate(MutableSpectrum<Peak> spectrum, Spectrum<Peak> referenceSpectrum) {
    final SimpleMutableSpectrum ref = new SimpleMutableSpectrum(referenceSpectrum);
    final SimpleMutableSpectrum mes = new SimpleMutableSpectrum(spectrum);
    final TDoubleList list = new TDoubleArrayList(spectrum.size());
    // 1. allow only peaks with >2.5% intensity for recalibration
    for (int i = 0; i < mes.size(); ++i) {
        if (mes.getIntensityAt(i) <= 0.025) {
            ref.removePeakAt(i);/*  ww  w  .  jav a  2s . com*/
            mes.removePeakAt(i);
            --i;
        } else if (mes.getIntensityAt(i) > 0.04) {
            list.add(mes.getMzAt(i));
        }
    }
    final Deviation dev = new Deviation(4, 1e-3);
    final double[][] values = MzRecalibration.maxIntervalStabbing(mes, ref, new UnivariateFunction() {
        @Override
        public double value(double x) {
            return dev.absoluteFor(x);
        }
    });
    // 2. there have to be at least 6 peaks with > 4% intensity
    int found = 0;
    for (double x : values[0]) {
        if (list.contains(x))
            ++found;
    }

    if (found < 6)
        return new Identity();
    final UnivariateFunction recalibration = MzRecalibration.getLinearRecalibration(values[0], values[1]);
    MzRecalibration.recalibrate(spectrum, recalibration);
    return recalibration;
}

From source file:de.unijena.bioinf.FragmentationTreeConstruction.computation.recalibration.AbstractRecalibrationStrategy.java

@Override
public UnivariateFunction recalibrate(MutableSpectrum<Peak> spectrum, Spectrum<Peak> referenceSpectrum) {
    spectrum = new SimpleMutableSpectrum(spectrum);
    final SimpleMutableSpectrum ref = new SimpleMutableSpectrum(referenceSpectrum);

    preprocess(spectrum, ref);/*from  w ww .j av  a2 s.co  m*/
    final double[][] values = MzRecalibration.maxIntervalStabbing(spectrum, referenceSpectrum,
            new UnivariateFunction() {
                @Override
                public double value(double x) {
                    return epsilon.absoluteFor(x);
                }
            }, threshold);
    if (values[0].length < minNumberOfPeaks)
        return new Identity();
    final UnivariateFunction recalibration = MzRecalibration.getMedianLinearRecalibration(values[0], values[1]);
    MzRecalibration.recalibrate(spectrum, recalibration);
    return recalibration;
}