Welcome to the online user manual for the Appreciating Hubble at Hyper-speed visualization tool. For help on a specific topic, select it from the list below. Otherwise, scroll down to start from the beginning.

System Requirements

The following are the minimum system requirements to run the Appreciating Hubble at Hyper-speed application:

We recommend the following for optimal system performance:

Additionally, an internet connection is required if you wish to view extended information about selected galaxies.

Back to Index

Installing and Running the Application

The Appreciating Hubble at Hyper-speed application is distributed as an archive containing a standard executable Java resource file. To install the application, simply download the archive file for your operating system and save it wherever you prefer. Extract the archive wherever you like and then double-click the ahah.jar file to run the program. If you prefer to run from the command line, use java -jar ahah.jar.

Also provided is a configuration file, ahah.conf, that provides several options that you may modify if you want to use custom settings every time you run the program. See the Configuration File section for more information.

Back to Index

Main Screen and User Interface

The main screen represents your primary interface with the application. Besides holding the actual visualization, the screen also provides various forms of information about the simulation and methods to interact with and gain more information about specific galaxies.

Main screen with labeled elements

Main screen with important elements labeled. Click to enlarge.

The numbered user interface elements are as follows:

  1. Position Indicator, showing the camera's x and y position within the coordinate system, as well as the camera's redshift.
  2. Active Geometry Indicator, showing whether the Universe's real geometry is active or a non-physical geometry in which angular sizes are unaffected by the Universe's expansion.
  3. Info Box that shows more information about the selected galaxy, including its HUDF ID, redshift, and comoving radial distance.
  4. Jump Dialog, where you may enter an Object ID or redshift on which to center the camera.
  5. Speed Indicator. Used to remind you that the speeds represented in the application (when moving) are not physically attainable.
Back to Index

Moving the Camera

You may move the camera using either the mouse or keyboard, or with a combination of both. We recommend that most users navigate with the mouse, though advanced users may find the precision movement afforded by the keyboard useful in some situations.

To navigate using the mouse, simply click and hold the left mouse button anywhere within the Main Screen. Moving the mouse will then move the camera left, right, up, and down. To move forward and backward, either scroll the mouse wheel up and down, or click and hold the mouse wheel or middle mouse button, then move the mouse forward and backward. You may also move forward and backward by holding shift while clicking and holding the left mouse button.

To navigate using the keyboard, simply use the arrow keys to move left, right, up, and down. To move forward and backward, hold shift and use the up and down arrow keys. Holding control while using keyboard navigation will move the camera at 10x the normal speed.

In addition to direct navigation, you may double left-click on any galaxy to initiate an automatic move to it. This will move the camera at a moderate pace along the line (geodesic) between the camera and the galaxy. The automatic move can be cancelled at any time by performing most other actions, such as attempting to move the camera or selecting a galaxy. Note that toggling the spatial geometry mode will not cancel an automatic movement.

Back to Index

Hotkeys and Special Functions

The application contains a number of additional features besides moving the camera, most of which are accessed using hotkeys. The following table contains an overview of these additional features and their hotkeys:

Program Feature Hotkey
Select a galaxy and open its Info Box Left-click galaxy
Toggle spatial geometry mode G
Open Jump Dialog to travel to a specific galaxy or redshift J
Reset the simulation and move the camera to the origin R or F5
Open the Help and Options Dialog H or F1

Info Box

The Info Box contains various information about the selected galaxy:

Info box for a sample galaxy

Example Info Box. Click to enlarge.

Spatial Geometry Mode

Toggling the spatial geometry mode changes between the Universe's actual geometry and a geometry where angular sizes are unaffected by the expansion of the Universe. This second geometry does not have a physical analogue - it does not represent what the Universe would look like if it were not expanding, or any other such set of circumstances. Instead, it is provided simply to convey visually that observed angular sizes have been affected by the scale factor.

Jump Dialog

The Jump Dialog is a way to quickly move to a specific location. If you enter an Object ID number then the simulation will move the camera to a position centered on that object. This is useful for labs that require students to examine a number of specific galaxies. If no Object ID is entered then the simulation will move the camera to the specified redshift, leaving the x and y coordinates fixed.


Using the reset function will reset the simulation, exactly as if the application had been newly opened. This includes reloading all galaxies - both images and position data - as well as recalculating all distances and moving the camera to the origin. It also resets the graphics rendering thread, so may be used in the event that images fail to update.

Help and Options Dialog

The Help and Options Dialog gives you basic information about running the application, such as movement controls, as well as allowing you to modify some of the simulation's configuration parameters at runtime. It is discussed in detail in the next section. Additionally, the license for the software is also provided in this dialog.

Application help and options dialog

Help pane of the help and options dialog. Click to enlarge.

Back to Index

Changing Options and Settings

There are two primary ways of changing options and settings for the application. These are the Configuration File, which will be covered in the next section, and the options pane of the Help and Options Dialog. The options pane contains two primary sections, Cosmology Parameters and Program Performance.

Cosmology Parameters

The Cosmology Parameters section allows you to modify certain constants of the displayed cosmology. There are currently four parameters that may be modified at runtime:

The curvature parameter, ΩK is derived from these supplied parameters internally as ΩK = 1 - (ΩM + ΩΛ + ΩR). Most changes to these parameters will result in rather subtle visual effects - they will manifest primarily as changes to the comoving radial distance in a galaxy's Info Box. Curvatures that are very large in magnitude (|ΩK| >> 1) may result in more marked visual differences.

Program Performance

The Program Performance section contains one value that may be changed at runtime - the Cull Size. It sets the smallest size in pixels for which a galaxy's image will be displayed - if a galaxy's size is smaller than the Cull Size, the galaxy will be displayed as a single pixel of its averaged color. Modification of this value is provided as a way to adjust the speed at which the application runs. The most CPU-intensive task is resizing and displaying images, so by increasing the Cull Size you may decrease the number of displayed images and thus increase the speed of the simulation. Note that decreasing the Cull Size will provide better visuals but could potentially slow the application down significantly.

Application help and options dialog

Options pane of the help and options dialog. Click to enlarge.

Back to Index

Configuration File and Advanced Options

In addition to runtime options in the Help and Options Dialog, you may create or download an optional configuration file to modify the application's default behavior. This file is simply a specially formatted text file called ahah.conf that must be placed in the same directory as ahah.jar. The options are placed in the file as Key : Value pairs separated by a colon. For example the line OmegaM : 0.237 sets ΩM to 0.237, the currently accepted COBE/WMAP value. Comments within the file are preceded by # and section headings (optional) are placed in brackets, such as [Cosmology Constants]. Keys other than those below will simply be ignored, and giving a key an improper value (such as a floating point number where an integer is required) will cause the application to print an error and then use the default value. The available options are as follows:

Application Operation Options

Options in this section change the default behaviors of how the application runs, including performance tweaks.

Cosmology Constants

Options in this section set the defaults for various cosmology constants. For more detailed explanations, see the descriptions for the parameters in the Options and Settings section above. Like the Cull Size, changing the values at runtime using the Help and Options Dialog will override settings in the configuration file.

Dataset Information

Options in this section give the application information about the original image that the individual stamps come from, as well as specifying where to find the object database. Options from this section should generally not be changed by users - they are provided for future use of the application with different data.

Application Configuration Constants

Options in this section change aspects of the application that users generally do not need to modify, such as the locations of external resources like this documentation. These options are provided primarily as a convenience to website administrators in the event that urls change, etc.

Back to Index

License, Source Code, and Modifications

The Appreciating Hubble at Hyper-speed application is provided under a BSD-like license. In simple terms, this means that virtually any modification or redistribution of the application is permitted, with the following caveats:

Note that there is no requirement that source code be provided with any derivative work or redistribution. We encourage any derivative works to provide source code as well so that others may learn from your modifications, but we leave such decisions to your discretion.

Application Source Code

The application's source code is provided with the standard distribution. Java archives are simply standard ZIP (DEFLATE) archives with a special internal directory structure. Thus, you need only extract the contents of the archive using your favorite ZIP extractor (Using jar you would run jar -xf ahah.jar). The application source code is contained in the src/ directory.

Warning: The ahah.jar file exhibits "tarbomb" behavior, extracting to the current directory instead of its own subdirectory. This is mostly a limitation of the jar format, since the META-INF/ directory must always be in the archive root. We strongly suggest you move the archive to its own directory before extracting it.

To compile the source you simply need to run javac *.java. The compiled binaries will automatically be placed within the directory edu/asu/Ahah/. To run the modified application you then need to create a new jar including the directories edu/, images/, and data/, as well as the files defaults.conf and license.txt, and any source code if you desire. You also need to specify a Manifest file, which must contain at least the line Main-Class: edu.asu.Ahah.Ahah - this tells the Java interpreter where to find the main class when a user runs the jar. An example jar creation command is:

jar -cvfm ahah.jar MANIFEST.MF edu images data src defaults.conf license.txt

Back to Index