Package net.sf.mzmine.data

Examples of net.sf.mzmine.data.DataPoint


    // If we have best peak candidate, construct a SimpleChromatographicPeak
    if (bestPeakDataPoints != null) {

      double area = 0, height = 0, mz = 0, rt = 0;
      int scanNumbers[] = new int[bestPeakDataPoints.size()];
      DataPoint finalDataPoint[] = new DataPoint[bestPeakDataPoints
          .size()];
      Range finalRTRange = null, finalMZRange = null, finalIntensityRange = null;
      int representativeScan = 0;

      // Process all datapoints
View Full Code Here


  }

  public String getAnnotation(int item) {
    if (annotation == null)
      return null;
    DataPoint itemDataPoint = dataPoints[item];
    for (DataPoint key : annotation.keySet()) {
      if (Math.abs(key.getMZ() - itemDataPoint.getMZ()) < 0.001)
        return annotation.get(key);
    }
    return null;
  }
View Full Code Here

    double noiseLevel = parameters.getParameter(
        CentroidMassDetectorParameters.noiseLevel).getValue();

    ArrayList<DataPoint> mzPeaks = new ArrayList<DataPoint>();

    DataPoint dataPoints[] = scan.getDataPoints();

    // Find possible mzPeaks
    for (int j = 0; j < dataPoints.length; j++) {

      // Is intensity above the noise level?
View Full Code Here

   */
  public @Nonnull
  DataPoint[] getDataPoints() {

    try {
      DataPoint result[] = rawDataFile.readDataPoints(storageID);
      return result;
    } catch (IOException e) {
      logger.severe("Could not read data from temporary file "
          + e.toString());
      return new DataPoint[0];
View Full Code Here

   * @return Returns scan datapoints within a given range
   */
  public @Nonnull
  DataPoint[] getDataPointsByMass(@Nonnull Range mzRange) {

    DataPoint dataPoints[] = getDataPoints();

    int startIndex, endIndex;
    for (startIndex = 0; startIndex < dataPoints.length; startIndex++) {
      if (dataPoints[startIndex].getMZ() >= mzRange.getMin()) {
        break;
      }
    }

    for (endIndex = startIndex; endIndex < dataPoints.length; endIndex++) {
      if (dataPoints[endIndex].getMZ() > mzRange.getMax()) {
        break;
      }
    }

    DataPoint pointsWithinRange[] = new DataPoint[endIndex - startIndex];

    // Copy the relevant points
    System.arraycopy(dataPoints, startIndex, pointsWithinRange, 0, endIndex
        - startIndex);

View Full Code Here

  public Number getX(int series, int index) {
    return dataFile.getScan(scanNumbers[index]).getRetentionTime();
  }

  public Number getY(int series, int index) {
    DataPoint mzPeak = chromatogram.getDataPoint(scanNumbers[index]);
    if (mzPeak == null)
      return 0;
    return mzPeak.getIntensity();
  }
View Full Code Here

    // intensity above baseline level.
    final int scanCount = scanNumbers.length;
    for (int currentRegionStart = 0; currentRegionStart < scanCount; currentRegionStart++) {

      // Find a start of the region.
      final DataPoint startPeak = chromatogram
          .getDataPoint(scanNumbers[currentRegionStart]);
      if (startPeak != null && startPeak.getIntensity() >= baselineLevel) {

        double currentRegionHeight = startPeak.getIntensity();

        // Search for end of the region
        int currentRegionEnd;
        for (currentRegionEnd = currentRegionStart + 1; currentRegionEnd < scanCount; currentRegionEnd++) {

          final DataPoint endPeak = chromatogram
              .getDataPoint(scanNumbers[currentRegionEnd]);
          if (endPeak == null
              || endPeak.getIntensity() < baselineLevel) {

            break;
          }

          currentRegionHeight = Math.max(currentRegionHeight,
              endPeak.getIntensity());
        }

        // Subtract one index, so the end index points at the last data
        // point of current region.
        currentRegionEnd--;
View Full Code Here

              final int[] scanNumbers = peak.getScanNumbers();
              final int numScans = scanNumbers.length;
              final double[] intensities = new double[numScans];
              for (int i = 0; i < numScans; i++) {

                final DataPoint dataPoint = peak
                    .getDataPoint(scanNumbers[i]);
                intensities[i] = dataPoint == null
                    ? 0.0
                    : dataPoint.getIntensity();
              }

              // Smooth peak.
              final double[] smoothed = convolve(intensities,
                  filterWeights);

              // Measure peak (max, ranges, area etc.)
              final RawDataFile dataFile = peak.getDataFile();
              final DataPoint[] newDataPoints = new DataPoint[numScans];
              double maxIntensity = 0.0;
              int maxScanNumber = -1;
              DataPoint maxDataPoint = null;
              Range intensityRange = null;
              double area = 0.0;
              for (int i = 0; i < numScans; i++) {

                final int scanNumber = scanNumbers[i];
                final DataPoint dataPoint = peak
                    .getDataPoint(scanNumber);
                final double intensity = smoothed[i];
                if (dataPoint != null && intensity > 0.0) {

                  // Create a new data point.
                  final double mz = dataPoint.getMZ();
                  final double rt = dataFile.getScan(
                      scanNumber).getRetentionTime();
                  final DataPoint newDataPoint = new SimpleDataPoint(
                      mz, intensity);
                  newDataPoints[i] = newDataPoint;

                  // Track maximum intensity data point.
                  if (intensity > maxIntensity) {

                    maxIntensity = intensity;
                    maxScanNumber = scanNumber;
                    maxDataPoint = newDataPoint;
                  }

                  // Update ranges.
                  if (intensityRange == null) {
                    intensityRange = new Range(intensity);
                  } else {
                    intensityRange.extendRange(intensity);
                  }

                  // Accumulate peak area.
                  if (i != 0) {

                    final DataPoint lastDP = newDataPoints[i - 1];
                    final double lastIntensity = lastDP == null
                        ? 0.0
                        : lastDP.getIntensity();
                    final double lastRT = dataFile.getScan(
                        scanNumbers[i - 1])
                        .getRetentionTime();
                    area += (rt - lastRT)
                        * (intensity + lastIntensity)
View Full Code Here

      // find one datapoint with maximum intensity in each scan
      for (int i = 0; i < scanNumbers.length; i++) {

        double dataPointIntensity = 0;
        DataPoint dataPoint = peak.getDataPoint(scanNumbers[i]);

        if (dataPoint != null)
          dataPointIntensity = dataPoint.getIntensity();

        // get retention time (X value)
        double retentionTime = peak.getDataFile()
            .getScan(scanNumbers[i]).getRetentionTime();
View Full Code Here

    for (endIndex = startIndex; endIndex < dataPoints.length; endIndex++) {
      if (dataPoints[endIndex].getMZ() > mzRange.getMax())
        break;
    }

    DataPoint pointsWithinRange[] = new DataPoint[endIndex - startIndex];

    // Copy the relevant points
    System.arraycopy(dataPoints, startIndex, pointsWithinRange, 0, endIndex
        - startIndex);
View Full Code Here

TOP

Related Classes of net.sf.mzmine.data.DataPoint

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.