Software package for asteroid shape reconstruction from disk-resolved observations
C Python Roff Matlab HTML C++ Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Contours
Hertha
Kissfft
Utils
iniparser
wcstools-3.9.2
135_oct.ini
135_subdiv.ini
135_subdiv_sparse.ini
Calc_FTC.c
Calculate_AO.c
Calculate_AOs.c
Calculate_AOs_fit.c
Calculate_Contours.c
Calculate_HF.c
Calculate_HFs.c
Calculate_RDs.c
Calculate_Radiance.c
Calculate_Range_Doppler.c
Calculate_Temp.c
Contour.ini
FacetsOverHorizon.c
FindActualBlockers.c
Find_Boundary.c
Fit_Contour.c
Fit_Contour2.c
Fit_Occ.c
Hertha.occ
Hertha_Occ.png
Makefile
README.md
README_occultations.txt
SH.c
adam.c
adam.ini
adam.pdf
area_reg.c
calc_image_fft.c
calc_image_fft_sinc.c
calc_image_fft_unnormed.c
calculate_OCs.c
calculate_lcs.c
calculate_lcurve.c
center_of_mass.c
check_fit.c
convex_reg.c
dihedral_angle.c
dihedral_angle_reg.c
find_chord.c
find_edge.c
find_edge_noderiv.c
fit_oct_model_to_LC_AO.c
fit_oct_model_to_LC_AO_QR.c
fit_subdiv_model_to_LC_AO.c
fit_subdiv_model_to_LC_AO_QR.c
generate_sphere.c
globals.h
hapke_brightness.c
herm_cont.obj
is_in_triangle.c
lc_weight_example
lcgen.c
matrix_ops.c
matrix_ops.h
num_of_threads.h
octantoid_reg.c
octantoid_to_trimesh.c
parse_ini.c
phase_function.c
prepare.h
process_ao_images.c
process_rd_images.c
read_contour.c
read_ephm_data.c
read_occ.c
readfits.c
readfits_rd.c
readshape.c
rotate.c
soft_maxdimz.c
sqrt3_subdiv.c
structs.h
thermal.c
triangulate_sphere.c
utils.c
utils.h

README.md

ADAM: All-Data Asteroid Modelling

ADAM is a program for 3D shape reconstruction of asteroids from disk-resolved observations. Current version supports lightcurves, albedo variegation, adaptive optics, occultations, and range-Doppler radar images. Raw images are used directly, boundary extraction is not required. Source code for thermal modelling is also included, but not currently integrated into main program.

Required libraries

KissFFT, Iniparser and Wcstools folders are included for convenience; they come with their own licenses.

How to build

  • Build Iniparser
  • Build Wcstools
  • Change Makefile to reflect installed libraries, i.e. change reflapacke, reflapack, atlas and atlcbas.
  • make adam

This program has been tested on Linux with gcc 5.3.

Usage

ADAM uses ini files to process data. For an example of asteroid Hertha, 135_oct.ini and 135_subdiv.ini (usage: ./adam 135_oct.ini). For all the available config options and short descriptions, see the file Adam.ini. Adam.pdf contains some useful tips. For theoretical background, read Shape reconstruction from generalized projections.

License

This software is licensed under CC Attribution 4.0 international License.

If you use ADAM in your research, please cite Viikinkoski, M; Kaasalainen, M.; Durech, J.: ADAM: a general method for for using various data types in asteroid reconstruction, A&A Vol 576, 2015.

Contact

Bug reports, data, feature suggestions and comments are welcome.

Matti Viikinkoski (matti.viikinkoski@gmail.com)

Updates

10.7.2016

  • Added support for occultation chord offsets
  • Added support for optimizing occultation chord offsets

23.7.2016

  • Added support for calibrated lightcurves

30.7.2016

  • Support for albedo variegation

29.8.2016

  • Documentation expanded
  • Utility program (make thermal) to calculate temperature distribution of an asteroid using FFT. Shadowing effects are taken into account.
  • Makefile for the intel compiler. ICC produces considerably faster code than the GCC.

11.9.2016

  • Occultations: Improved handling of negative chords

29.10.2016

  • Python and Matlab utilities for displaying shapes and plotting projections and occultations. See Readme in the Utils directory.

8.2.2017

  • Support for the Hapke scattering law
  • Stability of the subdivision surface fitting is slightly improved
  • Some minor tweaks and fixes

22.2.2017

  • Support for sparse photometry (See 135_subdiv_sparse.ini)
  • Weighting of individual lightcurves

23.3.2017

  • Support for contour(full or sparse) fitting, see contour.ini for an example

10.12.2017

  • Support for Center-of-Mass regularization (Set COMWeight= in [Optimization])
  • Support for hard thresholding AO data (Set SetZero=20 in [AO?] to zero all the pixels that are smaller than 0.2*max value)
  • A matlab gui for viewing ADAM reconstructed shapes (See install and usage.txt in Utils/matlab/adam_gui)
  • Some minor bugfixes

TODO

  • Integration of thermal modelling stuff into the main program