mev-4.0.01/source/org/tigr/microarray/mev/cluster/algorithm/impl/SOMMatrix.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2003, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4 */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: SOMMatrix.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.3 $
2 26 Feb 07 jari 8  * $Date: 2005/03/10 15:45:20 $
2 26 Feb 07 jari 9  * $Author: braistedj $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12 package org.tigr.microarray.mev.cluster.algorithm.impl;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.util.ArrayList;
2 26 Feb 07 jari 15
2 26 Feb 07 jari 16 public class SOMMatrix {
2 26 Feb 07 jari 17     
2 26 Feb 07 jari 18     private ArrayList rowArrayList;
2 26 Feb 07 jari 19     
2 26 Feb 07 jari 20     public SOMMatrix(int width, int height, int dimension) {
2 26 Feb 07 jari 21   this.rowArrayList = new ArrayList(height);
2 26 Feb 07 jari 22   ArrayList list1, list2;
2 26 Feb 07 jari 23   for (int i=0; i<height; i++) {
2 26 Feb 07 jari 24       list1 = new ArrayList(width);
2 26 Feb 07 jari 25       for (int j=0; j<width; j++) {
2 26 Feb 07 jari 26     list2 = new ArrayList(dimension);
2 26 Feb 07 jari 27     for (int k=0; k<dimension; k++) {
2 26 Feb 07 jari 28         list2.add(new Float(0));
2 26 Feb 07 jari 29     }
2 26 Feb 07 jari 30     list1.add(list2);
2 26 Feb 07 jari 31       }
2 26 Feb 07 jari 32       this.rowArrayList.add(list1);
2 26 Feb 07 jari 33   }
2 26 Feb 07 jari 34     }
2 26 Feb 07 jari 35     
2 26 Feb 07 jari 36     public void addValue(int x, int y, float value) {
2 26 Feb 07 jari 37   ArrayList list1 = (ArrayList)this.rowArrayList.get(y);
2 26 Feb 07 jari 38   ArrayList list2 = (ArrayList)list1.get(x);
2 26 Feb 07 jari 39   list2.add(new Float(value));
2 26 Feb 07 jari 40     }
2 26 Feb 07 jari 41     
2 26 Feb 07 jari 42     public void insertValue(int x, int y, int index, float value) {
2 26 Feb 07 jari 43   ArrayList list1 = (ArrayList)this.rowArrayList.get(y);
2 26 Feb 07 jari 44   ArrayList list2 = (ArrayList)list1.get(x);
2 26 Feb 07 jari 45   list2.add(index, new Float(value));
2 26 Feb 07 jari 46     }
2 26 Feb 07 jari 47     
2 26 Feb 07 jari 48     public int getDimension(int x, int y) {
2 26 Feb 07 jari 49   ArrayList list1 = (ArrayList)this.rowArrayList.get(y);
2 26 Feb 07 jari 50   ArrayList list2 = (ArrayList)list1.get(x);
2 26 Feb 07 jari 51   return list2.size();
2 26 Feb 07 jari 52     }
2 26 Feb 07 jari 53     
2 26 Feb 07 jari 54     public float getValue(int x, int y, int z) {
2 26 Feb 07 jari 55   ArrayList list1 = (ArrayList)this.rowArrayList.get(y);
2 26 Feb 07 jari 56   ArrayList list2 = (ArrayList)list1.get(x);
2 26 Feb 07 jari 57   return ((Float)list2.get(z)).floatValue();
2 26 Feb 07 jari 58     }
2 26 Feb 07 jari 59     
2 26 Feb 07 jari 60     public ArrayList getArrayList(int x, int y) {
2 26 Feb 07 jari 61   ArrayList list1 = (ArrayList)this.rowArrayList.get(y);
2 26 Feb 07 jari 62   ArrayList list2 = (ArrayList)list1.get(x);
2 26 Feb 07 jari 63   return list2;
2 26 Feb 07 jari 64     }
2 26 Feb 07 jari 65     
2 26 Feb 07 jari 66     public void setValue(int x, int y, int z, float value) {
2 26 Feb 07 jari 67   ArrayList list1 = (ArrayList)this.rowArrayList.get(y);
2 26 Feb 07 jari 68   ArrayList list2 = (ArrayList)list1.get(x);
2 26 Feb 07 jari 69   list2.set(z,new Float(value));
2 26 Feb 07 jari 70     }
2 26 Feb 07 jari 71     
2 26 Feb 07 jari 72     public void printArrayList(int x, int y) {
2 26 Feb 07 jari 73   ArrayList list1 = (ArrayList)this.rowArrayList.get(y);
2 26 Feb 07 jari 74   ArrayList list2 = (ArrayList)list1.get(x);
2 26 Feb 07 jari 75   System.out.println("ArrayList["+x+":"+y+"]="+list2);
2 26 Feb 07 jari 76     }
2 26 Feb 07 jari 77     
2 26 Feb 07 jari 78 }