@Override public <P extends Point, F extends AbstractPointDescriptor<P, F>> ArrayList<ArrayList<PointMatch>> createCandidates( final AbstractPointDescriptor<P, F> pd1, final AbstractPointDescriptor<P, F> pd2) { final ArrayList<PointMatch> matches = new ArrayList<PointMatch>(numNeighbors); for (int i = 0; i < numNeighbors; ++i) { final PointMatch pointMatch = new PointMatch(pd1.getDescriptorPoint(i), pd2.getDescriptorPoint(i)); matches.add(pointMatch); } final ArrayList<ArrayList<PointMatch>> matchesList = new ArrayList<ArrayList<PointMatch>>(); matchesList.add(matches); return matchesList; }
@Override public <P extends Point, F extends AbstractPointDescriptor<P, F>> ArrayList<ArrayList<PointMatch>> createCandidates( final AbstractPointDescriptor<P, F> pd1, final AbstractPointDescriptor<P, F> pd2) { final ArrayList<ArrayList<PointMatch>> matchesList = new ArrayList<ArrayList<PointMatch>>(); for (int a = 0; a < numCombinations; ++a) for (int b = 0; b < numCombinations; ++b) { final ArrayList<PointMatch> matches = new ArrayList<PointMatch>(subsetSize); for (int i = 0; i < subsetSize; ++i) { final PointMatch pointMatch = new PointMatch( pd1.getDescriptorPoint(neighbors[a][i]), pd2.getDescriptorPoint(neighbors[b][i])); matches.add(pointMatch); } matchesList.add(matches); } return matchesList; }