Package ch.akuhn.isomap

Source Code of ch.akuhn.isomap.IsomapSwissRollTest$I

package ch.akuhn.isomap;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import ch.akuhn.org.ggobi.plugins.ggvis.Points;

public class IsomapSwissRollTest {

  private static class I extends Isomap {

    private SwissRoll swiss;

    public I(int n, int k) {
      super(n);
      swiss = new SwissRoll(n);
      this.k = k;
    }
   
     @Override
         protected double dist(int i, int j) {
             return swiss.dist(i,j);
         }
   
  }
 
  @Test
  public void shouldWorkWith1Element() {
    Isomap isomap = new I(1, 3);
    isomap.run();
    Points points = isomap.getPoints();
    assertEquals(1, points.x.length);
  }
 
  @Test
  public void shouldWorkWithLessElementsThanNeighbors() {
    int k = 6, less = 1;
    Isomap isomap = new I(k-less,k);
    isomap.run();
    Points points = isomap.getPoints();
    assertEquals(k-less, points.x.length);
  }

  @Test
  public void shouldWorkWithMoreThanFewElements() {
    int few = 10, more = 2;
    Isomap isomap = new I(few+more, 3);
    isomap.run();
    Points points = isomap.getPoints();
    assertEquals(few+more, points.x.length);
  }
 
  @Test
    public void shouldEmbedSwissroll() throws InterruptedException {
        //Stopwatch.p();
        //Thread.sleep(500);
        //Stopwatch.p();
        Isomap isomap = new I(500, 6);
        isomap.constructNeighborhoodGraph();
        boolean[][] edges = isomap.getEdges();
        isomap.computeShortestPathWithDijkstra();
        isomap.constructDeeDimensionalEmbedding();
        //new Out().put(isomap.getPoints().x);
        //new Out().put(isomap.getPoints().y);
        isomap.getPoints().applyCentering();
        isomap.getPoints().openVisualization(edges);
    }
   
    public static void main(String[] args) throws InterruptedException {
        new IsomapSwissRollTest().shouldEmbedSwissroll();
    }
   
}
TOP

Related Classes of ch.akuhn.isomap.IsomapSwissRollTest$I

TOP
Copyright © 2018 www.massapi.com. 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.