static void testInput() {
        // otetaan sata ensimmaista, jarjestetaan characterClassin
        // mukaan, ja piirretaan iso kuva, josta voi tarkistaa, etta
        // samat numeroa esittavat kuvat tulevat perakkain.

        Vector<Image> I100 = new Vector<Image>();
        for (int i = 0; i < 100; ++i) {
            I100.addElement(I.elementAt(i));
        }

        Collections.sort(I100);

        BufferedImage bi = new BufferedImage(28 * 100, 28,
                BufferedImage.TYPE_3BYTE_BGR);

        for (int i = 0; i < 100; ++i) {
            for (int y = 0; y < 28; ++y) {
                for (int x = 0; x < 28; ++x) {
                    int ind = y * 28 + x;
                    bi.setRGB(x + i * 28, y,
                            (I100.elementAt(i).vec[ind] > 0.5
                            ? 0 : 0xffffff));
                }
            }
        }
        try {
            ImageIO.write(bi, "BMP", new File("test100.bmp"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }