private void outputHelper() throws IOException
    {
        miscInfo = new PrintWriter(new FileWriter(JPEGFileName.replace(".JPG", "_miscInfo.txt")));
        outline = new PrintWriter(new FileWriter(JPEGFileName.replace(".JPG", "_outline.txt")));
        controlPoints = new PrintWriter(new FileWriter(JPEGFileName.replace(".JPG", "_controlpoints.txt")));
        squareCorners = new PrintWriter(new FileWriter(JPEGFileName.replace(".JPG", "_corners.txt")));

        miscInfo.println("JPG Filename: " + JPEGFileName);

        miscInfo.println("Image Height, Width: " + pointsImage.getHeight() + ", " 
                + pointsImage.getWidth());
        miscInfo.println("CornerA (X,Y): " + cornerAXText.getText()
                + ", " + cornerAYText.getText());
        miscInfo.println("CornerB (X,Y): " + cornerBXText.getText()
                + ", " + cornerBYText.getText());
        miscInfo.println("CornerC (X,Y): " + cornerCXText.getText()
                + ", " + cornerCYText.getText());
        miscInfo.println("CornerD (X,Y): " + cornerDXText.getText()
                + ", " + cornerDYText.getText());
        
        miscInfo.println("Square Side Length: " + sideLengthText.getText());
        miscInfo.println("HFOV: " + hfovText.getText());

        // Output the four corner coordinates.
        squareCorners.println(cornerAXText.getText() + "," + cornerAYText.getText());
        squareCorners.println(cornerBXText.getText() + "," + cornerBYText.getText());
        squareCorners.println(cornerCXText.getText() + "," + cornerCYText.getText());
        squareCorners.println(cornerDXText.getText() + "," + cornerDYText.getText());

        // Output the control point IDs and coordinates
        for (ImageMarker marker: cornerAndControlMarkers)
        {
            if (marker.getType() == ImageMarker.MarkerType.CONTROL_POINT)
            {
                controlPoints.println(marker.getID() + "," + (marker.getLocation().x + 0.5)
                        + "," + (marker.getLocation().y + 0.5));
            }
        }
        
        // Output the stream outline data
        for (ImageMarker marker: outlineMarkers)
        {
            if(marker.getType() == ImageMarker.MarkerType.OUTLINE_POINT)
            {
                outline.println((marker.getLocation().x + 0.5) + "," + (marker.getLocation().y +0.5));
            }
        }
        miscInfo.close();
        controlPoints.close();
        squareCorners.close();
        outline.close();
    }