Tenmon help

Tenmon is intended primarily for viewing astro photos and images. It supports the following formats:

Main windows

The main window shows the currently loaded image. On the left is the Image info panel which displays details about the loaded image. The File system panel shows other images in the same directory as the loaded image. At the top is the main menu and below that is the Stretch panel containing various options for auto-stretching linear image data.

All panels in the interface can be moved around and/or closed. Any closed or non-visible panel can be re-opened through the Docks menu at the top.

At bottom there is status bar that show current lightness or red, green, blue pixel value under mouse cursor then X and Y coordinates and if image contain World Coordinate System metadata it show celestial coordinates.

Opening and saving images

To load an image select File->Open and choose the file. After a file is loaded, it becomes visible in the main image panel, and the File system panel will show the other images in the same directory.

The loaded image can be exported to a different format with File->Save as. Any of the formats JPEG, PNG FITS and XISF can be selected. In the case of saving JPEG or PNG, the stretch function is applied to the saved image. FITS and XISF are saved/converted without applying the stretch. To open an image, you can also drag and drop it to main window.

View

The View menu has options to control the size and scale of displayed images:

Colormap can also be user defined. Place image file named colormap.png into application data directory. On Windows"C:/Users/<USER>/AppData/Roaming/nou/Tenmon" Linux: "~/.local/share/nou/Tenmon/" MacOS: "~/Library/Application Support/nou/Tenmon/" This image should be 256 pixel wide. Each row of image will be used as separate color map and added to Colormap menu.

Stretch toolbar

This panel changes how images are displayed.
Stretch panel

Starting on the left, there is slider scale with three adjustable points to manually control the stretch.

Following the slider are 8 buttons to control image display:

Marking images

Images can be marked in the Select menu. To show a list of only the marked images, use Select->Show marked. This dialog can be useful to clear marks from images. Marked images show a * character in the title bar of the main window. Marked images can be copied or moved to a selected directory with File->Copy/Move marked files. After copying or moving, the list of marked files is cleared. The list of marked files will be remembered after quitting the program.

Another way to mark images is in database view where you can select rows and then select mark or unmark action in context menu. Marked files will be shown with bold text. Third way to mark files is from thumbnails view where you can press press Shift and click with left mouse button and drag across thumbnails to mark them. Holding Ctrl will unmark files.

File system and tree

File system panel contain list of images in current opened directory. You can select file from this list and it will be displayed. It is also possible to use arrow keys to go back (left and up) and forth (right and down) between images.

File tree show file system structure. You can right click to show context menu to perform various actions from File menu. There are also few others

Database of FITS/XISF files

Tenmon can scan a directory of FITS/XISF files and index metadata from FITS headers into it's internal database. This allows searching and sorting images based on that metadata.

To populate the database, select a directory of FITS/XISF files with File->Index directory. After the selected directory is searched, metadata parsed from the images will be stored in the database. To refresh the database, run File->Reindex. This will update any changed metadata and remove any record of deleted files. To index new files, simply run Index directory again.

The database is viewed through a panel which is not visible in the default layout. To add the database panel to the view, toggle Docks->FITS/XISF database. Once visible, database panel shows the database as a table with a column for each property. Below the table is button to select which columns/properties are displayed.

Also at the bottom of the database panel are three combo boxes and text inputs used for filtering. Select the property to filter on with the combo box and in the adjacent text box enter a string to search for in that property. These three combo box contain list of all properties that are found during indexing except first five. First one set searching in file name. Next two "RA pos" and "DEC pos" allow to filter out indexed images that contain point with entered RA/DEC coordinate. Expected format is three number separated by space. In case of "DEC pos" it also accept +- sign. Omitting one or two last number is also valid. Some examples "02 12 32" "-12 43 12" "+45 32" "13". So for RA it means hour, minutes and seconds while for DEC it is degrees, minutes and seconds. Setting both "RA pos" and "DEC pos" can return images that doesn't contain entered point as it search against minimum and maximum RA/DEC coordinates that images contain. "RA range" and "DEC range" filter out images which center coordinate is within entered range. Pressing Enter or clicking on Filter button will filter out database record according to search parameter.

Wildcards:

Filter
This example filters for files where: "Bias" is in the file name, the OBJECT property is "M_42" (where the underscore can be any single character), and the DATE property begins with "2022".

Database tree

This is another view that show indexed database as tree. You can add or remove tree grouping that construct a tree structure from FITS keywords. Each level of tree will be based on this grouping. You can specify one keywords multiple times. When adding a grouping you can also specify aggregation function that is applied to last level. SUM will add up all numbers in that group usefull for example for EXPTIME. COUNT will show how many files are in that group. AVG will show average value, MIN,MAX,MEDIAN will calculate minimum, maximum and media value in that group. So if you select CCD-TEMP as last with AVG it will calculate average temperature. Double click on file in tree view will open that file.

Plate Solving

This module can plate solve images and update FITS header with solution for FITS and XISF images. Profile this set various parameters that affect star extraction and solving. Starting point program will try to automatically determine optimal starting point which helps to speed up solving. You can leave one or both unchecked then it will attempt to do blind solving. If the position or scale is wrong it can actually fail to solve. Solution this section contain resulting solution like RA,DEC coordinates center of image, image field of view, orientation as degrees E of N, image scale in arcseconds per pixel, number of stars extracted and HFR fitting and eccentricity. Then there is log window for debug information from solver.

Then finally there are various action button. Settings button show dialog where you can set path to existing index files or auto download some. Extract button will just extract stars from image and it will show their count, HFR and eccentricity. This action doesn't need index files. Solve button will try to find coordinates of images. Abort button will stop extraction or solving. Update FITS header will update FITS fits keywords with found solution.

In settings dialog you can set path to index files which is by default custom internal one. It also try to locate commonly used path from other programs like KStars for astrometry.net index files.

File Manager

This is simple double panel file manager. It can show columns with selected FITS keywords. Each panel have tabs where it easily switch between multiple directories. You can copy or move files and directories either inside one panel or between two panels by selecting and then dragging. By default files are copies. To move then press Shift key before start dragging. Double click on file will open it in main window if it is image or other file it will open default program that is associated with it this file type. You can also drag file to other programs like from default file explorer programs that are in system or from file explorer to this program.

In menu you can select which FITS keywords will be showed. Temporarilly disable loading FITS header or copy file paths of selected files as text.

Command line options

Tenmon can be executed from command line. It support these command line options.

Batch processing

This module allow to write scripts in JavaScript that process image files. Batch Processing window consist from three main parts. On top is list of input files and directories. You can add directories or individual files to this list. Directories are scanned recursively to find all files even non image files. This list of files is then passed to script in array named files. In script you can then iterate through files like this.

for(file of files)
{
    if(file.suffix() == "fits")
    {
        core.log(file.fileName());
        file.convert(file.relativeFilePath(), "XISF");
    }
}

Bellow this list is output directory. All relative paths passed as arguments into methods like copy(), move() or convert() will be relative to this output directory. If you pass absolute path to methods then this output directory is ignored.

Bellow that is list of scripts. These scripts are located in application data directory. Select script which you want to run by clicking on it. Clicking on Open scripts will open directory with these scripts where you create new and edit them. Location of this directory is on Windows: "C:/Users/<USER>/AppData/Roaming/nou/Tenmon/scripts" Linux: "~/.local/share/nou/Tenmon/scripts" MacOS: "~/Library/Application Support/nou/Tenmon/scripts"

Next is Log windows that contain any messages that come from scripts. Mainly calls to core.log() At bottom there is console that enable run simple script commands and buttons that can start or stop execution of selected scripts.

core

There is global object called core that have these methods.

File

In files array there are instances of type File objects that have these methods.

FITSRecordModify

This class is used to define modify operation FITS header in FITS and XISF files. It can remove update and add records. Order of operation is also remove then update and last add. The keyword names may be up to 8 characters long and can only contain uppercase letters, the digits 0-9, the hyphen, and the underscore character.

let modify = new FITSRecordModify();
modify.updateKeyword("OBJECT", "M42");
modify.updateKeyword("MYTILE", "PART1", "adding custom keyword so WBPP can group it");
modify.removeKeyword("OBJECT");
// doesn't matter that it is specified as last. This will first remove
// existing OBJECT record and then add again OBJECT=M42
for(file in files)
{
    file.modifyFITSRecords(modify);
}

PS: Kanji in icon means astronomy in Japanese