@Override public synchronized void setActiveAlgorithm(int indexFamily, String name, Object cookie) { if( !hasImage ) return; if( indexFamily == 0 ) { det = (InterestPointScaleSpacePyramid<T>)cookie; if( ss == null ) return; } else { double scales[] = new double[]{1,1.5,2,3,4,8,12,16,24}; if( ((Number)cookie).intValue() == 0 ) ss = FactoryPyramid.scaleSpacePyramid(scales, imageType); else ss = FactoryPyramid.scaleSpace(scales, imageType); if( workImage != null ) ss.process(workImage); panel.setSs(ss); if( det == null ) return; } det.detect(ss); panel.setPoints(det.getInterestPoints()); panel.repaint(); panel.requestFocusInWindow(); }