public Table read(){
		try{
			CyTable table=network.getDefaultNodeTable();
			Object[] objs = CyTableUtil.getColumnNames(table).toArray();
			int numberOfColumns=0;
			String[] columnNames = new String[objs.length];
			for (int i=0; i<objs.length; i++){
				if ( table.getColumn((String)objs[i]).getType() == Float.class ||table.getColumn((String)objs[i]).getType() == Double.class){
					columnNames[numberOfColumns] = (String)objs[i];
					numberOfColumns++;
				}
			}
			List<CyRow> rowList=table.getAllRows();
			
			if(rowList.size()==0){
				JOptionPane.showMessageDialog(null, "There is no rows in this network");
				return null;
			}
			Long[] SUIDs=new Long[rowList.size()];
			String[] nodeNames=new String[rowList.size()];
			Double[][] valueMatrix=new Double[rowList.size()][numberOfColumns];
			for(int i=0;i<rowList.size();i++){
				SUIDs[i]=rowList.get(i).get("SUID", Long.class);	
				nodeNames[i]=rowList.get(i).get("name", String.class);
				for(int j=0;j<numberOfColumns;j++){
					valueMatrix[i][j]=rowList.get(i).get(columnNames[j], Double.class);
				}		
			}			
			return new Table(columnNames, numberOfColumns, SUIDs,nodeNames,valueMatrix);
		}
		catch(Exception e){
			JOptionPane.showMessageDialog(null, "Choose a network!");
			return null;
		}
	}