All Downloads are FREE. Search and download functionalities are using the official Maven repository.

maltcms.commands.distances.dtwng.NodeBuilder Maven / Gradle / Ivy

Go to download

Similarities for Feature Vectors and Time Series thereof, such as Cosine and Dynamic Time Warping.

The newest version!
/* 
 * Maltcms, modular application toolkit for chromatography-mass spectrometry. 
 * Copyright (C) 2008-2014, The authors of Maltcms. All rights reserved.
 *
 * Project website: http://maltcms.sf.net
 *
 * Maltcms may be used under the terms of either the
 *
 * GNU Lesser General Public License (LGPL)
 * http://www.gnu.org/licenses/lgpl.html
 *
 * or the
 *
 * Eclipse Public License (EPL)
 * http://www.eclipse.org/org/documents/epl-v10.php
 *
 * As a user/recipient of Maltcms, you may choose which license to receive the code 
 * under. Certain files or entire directories may not be covered by this 
 * dual license, but are subject to licenses compatible to both LGPL and EPL.
 * License exceptions are explicitly declared in all relevant files or in a 
 * LICENSE file in the relevant directories.
 *
 * Maltcms is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. Please consult the relevant license documentation
 * for details.
 */
package maltcms.commands.distances.dtwng;

import java.awt.Point;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 

Abstract NodeBuilder class.

* * @author Nils Hoffmann * */ public abstract class NodeBuilder { private List nodes = Collections.emptyList(); /** *

Setter for the field nodes.

* * @param nodes a {@link java.util.List} object. */ public void setNodes(List nodes) { this.nodes = nodes; } /** *

Getter for the field nodes.

* * @return a {@link java.util.List} object. */ public List getNodes() { return nodes; } /** *

eval.

* * @param points a {@link java.util.List} object. * @param polyOrder a int. * @return a {@link java.util.List} object. */ public abstract List eval(List points, int polyOrder); /** *

getNodesByDimension.

* * @param i a int. * @param dim an array of double. * @return an array of double. */ public double[] getNodesByDimension(int i, double[] dim) { double[] dimt = dim == null ? new double[nodes.size()] : dim; for (double[] d : nodes) { dimt[i] = d[i]; } return dimt; } /** *

getPointList.

* * @param points a {@link java.util.List} object. * @return a {@link java.util.List} object. */ public List getPointList(List points) { List l = new ArrayList<>(); for (double[] d : points) { l.add(new Point((int) d[0], (int) d[1])); } return l; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy