Manual Frame Alignment Software
ManualFrameAlignment is a small utility that allows and initial manual alignment (but not very precise one) of the frames of a video. This manual alignment helps other programas like Registax to be able to obtain a much better frame alignment, avoiding in many cases the typical artifacts in very bad aligned videos.
The program is specially prepared to process Moon videos in which weather conditions (wind, bad seeing) makes the frames to be greatly moved one from another, thus not allowing precise automatic aligment. ManualFrameAlignment does not pretend to e a big application but just fulfill its original goal.
Its inner working its quite simple. The frames to be aligned must be in a certain directory (PNG, TIF and JPG formats are allowed) and an output directory must be specified. Then the program present a window in which the user has to select a feature (a creater, for example)from the first frame. Then the program starts showing each one of the frames of the video and the user must follow the feature in each of the frames moving the mouse. Once all the frames have been presented the application will align all the frames according to the movements of the mouse that the user has made.
The following videos show a small Moon clip before and after being processed with ManualFrameAlignment:
Download, Installation and Use
ManualFrameAlignment is programmed in Java language. Thus, it should work on almost any current operating system, including GNU/Linux, Unix, Max and even Windows. To make it work you should have the JRE installed. Please check the official Java webpage to install it in your computer.
This program is free software, and thus, you are allowed to modify it to add any special functions or just to study how it works. Download ManualFrameAlignment from Sourceforge.
To install it you just have to decompress it in any directory, find the ManualFrameAlignment.jar file (int the dist directory) and launch it from the shell with the following command:
> java -jar ManualFrameAlignment.jar inputDir outputDir
where inputDir is the directory where the frames to be aligned are located and outputDir is the directory where the aligned frames will be stored.
You can use a combination of other parameters with the program:
-laLagBetweenFrames
specifies the lag between each frame while the user moves the mouse (expressed in tenths of a second). Its default value is 9. For example:
> java -jar ManualFrameAlignment.jar inputDir outputDir -la8
will change the frame every 0.8 seconds.
-ilInitialLag
specifies the initial lag after the program begins to change the frames (in tenths of a second). Its default value is 40. For example:
> java -jar ManualFrameAlignment.jar inputDir outputDir -il100
will make the program wait 10 seconds before starting to show the frames.
-bBorderSize
specifies a border in pixels. If a frame is moved more than that amount of pixels it will be discarded (it is useful to avoid very moved frames). For example:
> java -jar ManualFrameAlignment.jar inputDir outputDir -b40
will discard all the frames that are moved more than 40 pixels in any direction from the first frame.
-bupperBorder,bottomBorder,leftBorder,rightBorder
The same as the previous but it allows to specify different border sizes for the uper, bottom, left and right sides. For example:
> java -jar ManualFrameAlignment.jar inputDir outputDir -b40,100,30,120
will discard all the frames that are moved more than 40 pixels over the upper border, 100 pixels under the bottom border, 30 over the left border and 120 over the right border.
-spSavePointsFile
the program will store the displacement of each frame in a text file. For example:
> java -jar ManualFrameAlignment.jar inputDir outputDir -sppoints.txt
will store the displacements of each frame in the file named points.txt.
-lpLoadPointsFile
the program will load the displacements of each frame from a file. Thus, the alignment window will not appear as this step should have been executed in a previous run of the program. For example:
> java -jar ManualFrameAlignment.jar inputDir outputDir -lppoints.txt
will load the displacement of the frames from the file points.txt.
Note: During the alignment phase the user can pause the process just clicking the mouse. To resume it, click again.
Questions, Comments, Improvements, Errors:
If you have any question or comment about the program or if you detect any bug in the program you can contact with us.
Please notice that the program does not have any plans to include any big improvements as it just does what it was intended to do. In addition, you should not send us questions about Java or your operating system as we will probably not be able to answer you (or in case of Windows, we will not want to).


