...
(Warning: this tutorial uses undocumented Hipsgen parameter)
P.Fernique - 2nd of July 2019 -
1) You need a cartesian map in JPEG, PNG format covering the whole body (or sky)
Rq: if you have it in TIFF see 4
2) You need to generate a World Coordinate System (WCS) solution for you map.
It is a small ASCII file with the same name and the .hhh extension containing the
WCS solution of your image:
ex: Cartesian hhh file content for a 2880x1440 map
NAXIS1 = 2880 // ImageWidth
NAXIS2 = 1440 // ImageHeight
CRPIX1 = 1440 // ImageWidth/2 => central pixel x coord
CRPIX2 = 720 // ImageHeight/2 => central pixel y coord
CRVAL1 = -0.0625 // -(360/imageWidth)/2 => longitude of the central pixel
CRVAL2 = -0.0625 // -(180/imageHeight)/2 => latitude of the central pixel
CTYPE1 = RA---CAR
CTYPE2 = DEC--CAR
CD1_1 = 0.125 // 360/imageWidth => pixel resolution
CD1_2 = 0
CD2_1 = 0
CD2_2 = 0.125 // 180/ImageHeight => pixel resolution
a) you can do that manually via any ASCII editor
b) Or programmatically thanks to Hipsgen.jar itself. In this last case,
just launch this kind of command:
java -jar Hipsgen.jar -hhh="path/FileName widthxheight"
ex: java -jar Hipsgen.jar -hhh="path/Titan.jpg 2880x1440"
Note: if your longitude origin is not localized at the central pixel line of your map, you can add its x coordinate as a third parameter (ex: java -jar Hipsgen.jar -hhh "path/Titan.jpg 2880x1440 0")
3) After that you can generate your HiPS by this kind of command
java -jar Hipsgen.jar in=path out=MyHips id="YourAUTH/P/Titan" color=jpg
Rq: you can also do steps 2 and 3 in one unique Hipsgen command
java -jar Hipsgen.jar -hhh="path/Titan.jpg 2880x1440" in=path out=MyHips id="YourAUTH/P/Titan" color=jpg
4) If your original image is really big, and/or in TIFF format, it is preferable to convert and to split it in a collection of small JPEG subimages before launching Hipsgen process. ImageMagick toolkit (free on Linux) does that magically thanks to this command:
convert srcImage.tif -crop widthCellxheightCell +repage TargetDir/GenericName.jpg
It is better to have subimages with the same size (one divisor factor of the source image)
ex :
convert Lunar_LRO_LROC-WAC_Mosaic_global_100m_June2013.tif -crop 10112x10112 +repage SplitImg/Moon.jpg
And thus, launch Hipsgen.jar with -hhh parameter with one additional parameter as size of subimages
ex:
java -jar Hipsgen.jar -hhh="SplitImg/Moon.jpg 92160x40448 10112x10112"
or in one Hipsgen command like this:
java -jar Hipsgen.jar hhh="SplitImg/Moon.jpg 92160x40448 10112x10112" in="SplitImg" creator_did="XXX/P/Moon/LROC-WA-GLD100-118m" -f color=jpg
5) in order to get the longitude direction right in Aladin, you may have to edit the generated index.html and change the following line :
aladin.setImageSurvey(aladin.createImageSurvey('2019-0712-1456', '2019-0712-1456', hipsDir, 'equatorial', 3, {imgFormat: 'png'}));
to:
aladin.setImageSurvey(aladin.createImageSurvey('2019-0712-1456', '2019-0712-1456', hipsDir, 'equatorial', 3, {imgFormat: 'png' ,longitudeReversed: true}));
MOC use case in Aladin
(updated May 2019)
...