@Override public SparseIntFV concatenate(List<SparseIntFV> ins) { SparseIntArray [] insValues = new SparseIntArray[ins.size()]; for (int i=0; i<ins.size(); i++) insValues[i] = ins.get(i).values; SparseIntArray vals = values.concatenate(insValues); return new SparseIntFV(vals); }
@Override public SparseIntFV newInstance() { return new SparseIntFV(length()); } }
@Override public DoubleFV normaliseFV(double p) { return asDoubleFV().normaliseFV(p); }
@Override public DoubleFV normaliseFV(double min, double max) { double [] dvals = asDoubleVector(); for (int i=0; i<dvals.length; i++) { dvals[i] -= min; dvals[i] /= (max-min); if (dvals[i]<0) dvals[i] = 0; if (dvals[i]>1) dvals[i] = 1; } return new DoubleFV(dvals); }
final SparseFloatFV fv2 = new SparseFloatFV(fv.length()); float sum = 0; for (final org.openimaj.util.array.SparseIntArray.Entry i : fv.values.entries()) {
@Override public DoubleFV extractFeature(Record<FImage> object) { final FImage image = object.getImage(); pdsift.analyseImage(image); final BagOfVisualWords<byte[]> bovw = new BagOfVisualWords<byte[]>(assigner); final BlockSpatialAggregator<byte[], SparseIntFV> spatial = new BlockSpatialAggregator<byte[], SparseIntFV>( bovw, 2, 2); // final PyramidSpatialAggregator<byte[], SparseIntFV> spatial = // new PyramidSpatialAggregator<byte[], SparseIntFV>(bovw, 2, 4); return spatial.aggregate(pdsift.getByteKeypoints(0.015f), image.getBounds()).normaliseFV(); } }
out = new Feature[((SparseIntFV) feature).values.used() + extra]; for (final SparseIntArray.Entry entry : ((SparseIntFV) feature).getVector().entries()) { out[i++] = new FeatureNode(entry.index + 1, entry.value);
@Override public DoubleFV asDoubleFV() { return new DoubleFV(asDoubleVector()); }
final SparseFloatFV fv2 = new SparseFloatFV(fv.length()); float sum = 0; for (final org.openimaj.util.array.SparseIntArray.Entry i : fv.values.entries()) {
@Override public SparseIntFV concatenate(SparseIntFV... ins) { SparseIntArray [] insValues = new SparseIntArray[ins.length]; for (int i=0; i<ins.length; i++) insValues[i] = ins[i].values; SparseIntArray vals = values.concatenate(insValues); return new SparseIntFV(vals); }
@Override public SparseIntFV newInstance() { return new SparseIntFV(length()); } }
@Override public DoubleFV normaliseFV() { double [] dvals = asDoubleVector(); double sum = 0; for (int i=0; i<dvals.length; i++) sum += dvals[i]; for (int i=0; i<dvals.length; i++) dvals[i] /= sum; return new DoubleFV(dvals); }
@Override public DoubleFV normaliseFV(double p) { return asDoubleFV().normaliseFV(p); }
@Override public SparseIntFV concatenate(List<SparseIntFV> ins) { SparseIntArray [] insValues = new SparseIntArray[ins.size()]; for (int i=0; i<ins.size(); i++) insValues[i] = ins.get(i).values; SparseIntArray vals = values.concatenate(insValues); return new SparseIntFV(vals); }
@Override public DoubleFV normaliseFV(double [] min, double [] max) { double [] dvals = asDoubleVector(); for (int i=0; i<dvals.length; i++) { dvals[i] -= min[i]; dvals[i] /= (max[i]-min[i]); if (dvals[i]<0) dvals[i] = 0; if (dvals[i]>1) dvals[i] = 1; } return new DoubleFV(dvals); }
@Override public SparseIntFV concatenate(SparseIntFV... ins) { SparseIntArray [] insValues = new SparseIntArray[ins.length]; for (int i=0; i<ins.length; i++) insValues[i] = ins[i].values; SparseIntArray vals = values.concatenate(insValues); return new SparseIntFV(vals); }
@Override public DoubleFV normaliseFV(double [] min, double [] max) { double [] dvals = asDoubleVector(); for (int i=0; i<dvals.length; i++) { dvals[i] -= min[i]; dvals[i] /= (max[i]-min[i]); if (dvals[i]<0) dvals[i] = 0; if (dvals[i]>1) dvals[i] = 1; } return new DoubleFV(dvals); }
/** * Utility method to quickly convert a collection of quantised local * features to a histogram of their corresponding visual word identifiers. * * @param qfeatures * the quantised features. * @param nfeatures * the number of visual words. * @return a histogram of the occurrences of the visual words */ public static <L extends Location> SparseIntFV extractFeatureFromQuantised(Collection<? extends QuantisedLocalFeature<L>> qfeatures, final int nfeatures) { final SparseIntFV fv = new SparseIntFV(nfeatures); for (final QuantisedLocalFeature<L> qf : qfeatures) { fv.values.increment(qf.id, 1); } return fv; }
@Override public DoubleFV normaliseFV() { double [] dvals = asDoubleVector(); double sum = 0; for (int i=0; i<dvals.length; i++) sum += dvals[i]; for (int i=0; i<dvals.length; i++) dvals[i] /= sum; return new DoubleFV(dvals); }
/** * Utility method to quickly convert a collection of quantised local * features to a histogram of their corresponding visual word identifiers. * * @param qfeatures * the quantised features. * @param nfeatures * the number of visual words. * @return a histogram of the occurrences of the visual words */ public static <L extends Location> SparseIntFV extractFeatureFromQuantised(Collection<? extends QuantisedLocalFeature<L>> qfeatures, final int nfeatures) { final SparseIntFV fv = new SparseIntFV(nfeatures); for (final QuantisedLocalFeature<L> qf : qfeatures) { fv.values.increment(qf.id, 1); } return fv; }