001    /*
002     * MatrixSerialization
003     * 
004     * Copyright (c) 2001, 2002 Marco Schmidt <marcoschmidt@users.sourceforge.net>
005     * All rights reserved.
006     */
007    
008    package net.sourceforge.jiu.color.io;
009    
010    import java.io.PrintStream;
011    import net.sourceforge.jiu.color.data.CoOccurrenceMatrix;
012    import net.sourceforge.jiu.color.data.CoOccurrenceFrequencyMatrix;
013    
014    /**
015     * Write co-occurrence and co-occurrence frequency matrices to text files.
016     *
017     * @author Marco Schmidt
018     * @since 0.6.0
019     */
020    public class MatrixSerialization
021    {
022            private MatrixSerialization()
023            {
024            }
025    
026            public static void save(CoOccurrenceMatrix matrix, PrintStream out)
027            {
028                    if (matrix == null || out == null)
029                    {
030                            return;
031                    }
032                    int dim = matrix.getDimension();
033                    out.println(Integer.toString(dim));
034                    for (int i = 0; i < dim; i++)
035                    {
036                            StringBuffer sb = new StringBuffer();
037                            for (int j = 0; j < dim; j++)
038                            {
039                                    sb.append(matrix.getValue(i, j));
040                                    sb.append(' ');
041                            }
042                            out.println(sb.toString());
043                    }
044            }
045    
046            public static void save(CoOccurrenceFrequencyMatrix matrix, PrintStream out)
047            {
048                    if (matrix == null || out == null)
049                    {
050                            return;
051                    }
052                    int dim = matrix.getDimension();
053                    out.println(Integer.toString(dim));
054                    for (int i = 0; i < dim; i++)
055                    {
056                            StringBuffer sb = new StringBuffer();
057                            for (int j = 0; j < dim; j++)
058                            {
059                                    sb.append(matrix.getValue(i, j));
060                                    sb.append(' ');
061                            }
062                            out.println(sb.toString());
063                    }
064            }
065    }