aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim
Commit message (Collapse)AuthorAgeFilesLines
* utils/grid.py: Implement "map_grid_to_healpix()"Aaron LI2016-10-171-9/+29
| | | | | | | | The "map_grid_to_healpix()" maps the generated coordinate grid to a HEALPix map. Note that only effective HEALPix pixels are returned instead of a full HEALPix map. TODO: Try to avoid the explicit for loop to optimize the speed.
* Add utils/grid.py: Make coordinate grids for SNRsAaron LI2016-10-171-0/+157
| | | | | | | * make_coordinate_grid(): Make a Cartesian coordinate grid according to the specified center coordinate, size and grid resolution. * make_grid_ellipse(): Also generate an (rotated) ellipse and place into the coordinate grid.
* galactic: Add new component "galactic/snr": supernova remnantsAaron LI2016-10-172-0/+256
| | | | NOTE: very preliminary, and missing many necessary functions!
* configs: Add new section "[galactic][snr]" for SNRs simulationAaron LI2016-10-171-1/+19
| | | | NOTE: very preliminary and may change at any time!
* Force "DEBUG" log level if env variable "DEBUG_FG21SIM" setAaron LI2016-10-172-2/+10
|
* utils/logging.py: Small updates to the docstrings and commentsAaron LI2016-10-171-14/+16
|
* configs/manager.py: Change __init__() to load user configAaron LI2016-10-171-9/+15
| | | | | | | | Change the "__init__()" method to load the user configurations (i.e., by invoke the "read_userconfig()" method) instead of loading extra general configurations. Method "getn()": also check the validity for the parameter "sep".
* configs/manager.py: Various updates to docstring and comments.Aaron LI2016-10-171-23/+44
| | | | No functional changes.
* utils/draw.py: List the functions taken from "scikit-image"Aaron LI2016-10-171-2/+8
|
* Fix the reStructuredText citation syntaxAaron LI2016-10-172-4/+4
|
* utils/draw.py: Add disclaimer about the license: Modified BSDAaron LI2016-10-151-4/+41
|
* configs: Update get_path() to take care None and non-string valueAaron LI2016-10-151-3/+24
| | | | | | * Return None if specified config is None or not exist * Raise ValueError if specified config is non-string * Update comments
* Add utils/convert.py: Implement brightness temperature conversionAaron LI2016-10-151-0/+63
|
* Add utils/draw.py: draw circles and ellipsesAaron LI2016-10-151-0/+128
| | | | | | | | | These functions will be used to draw the image of a SNR or a radio halo. These functions are copied from the `scikit-image` project. Thanks! scikit-image: http://scikit-image.org/docs/dev/api/skimage.draw.html
* configs: Switch to use `pkg_resources` to access config specsAaron LI2016-10-151-10/+19
| | | | | | | | | After this switch to `pkg_resources`, this package can also be installed as an EGG (a zip archive), which is more generic. References: * http://setuptools.readthedocs.io/en/latest/pkg_resources.html#basic-resource-access * http://setuptools.readthedocs.io/en/latest/setuptools.html#including-data-files
* Add data/snr.py to retrieve Green's Galactic SNRs catalog dataAaron LI2016-10-152-0/+334
| | | | | | Thanks D. A. Green for the Galactic SNRs catalog (294 objects)! http://www.mrao.cam.ac.uk/surveys/snrs/
* Fix an import; Update one pattern and a commentAaron LI2016-10-141-2/+2
|
* configs: Support env variable "DEBUG_FG21SIM" for debuggingAaron LI2016-10-141-0/+3
| | | | | | Since the logging is not avaiable at the moment, we can only use the plain `print` for debugging, if the environment variable "DEBUG_FG21SIM" is defined.
* configs/validate.py: Check component configs only if enabledAaron LI2016-10-121-22/+26
|
* configs/validate.py: Add checker for [galactic][freefree] configsAaron LI2016-10-121-0/+18
|
* Tweak the docstring stylesAaron LI2016-10-112-6/+12
|
* galactic/freefree: Mask regions where absorption is uncertainAaron LI2016-10-111-4/+25
| | | | | | | | | | | | | | * Mask the regions where the dust absorption is too high to well determine the true Halpha absorption. There are regions (e.g., Galactic plane) have too large dust absorption which cause float overflow when applying absorption correction to the Halpha map. * Fix a bug on the wrong parameter passed to "_calc_ratio_a()" method in "_simulate_frequency()" * Move "_correct_dust_absorption()" invokation from "simulate()" to "_simulate_frequency()" Already tested and OK!
* utils: healpix2hpx & hpx2healpix: Remove "header" parameterAaron LI2016-10-111-35/+20
| | | | | | | | * healpix2hpx(), hpx2healpix(): Remove the "header" parameter, thus the "data" parameter can only be either the filename or a HDU; * healpix2hpx(): Remove the check on "ORDERING", since "read_fits_healpix()" always return the HEALPix data in RING ordering; * Small updates to the log messages and comments.
* utils: Update documentations, also fix stylesAaron LI2016-10-112-35/+53
|
* Update bin/fg21sim to support Galactic free-free componentAaron LI2016-10-111-0/+4
| | | | | | | | | * bin/fg21sim: check the "common/components" config to simulate the enabled components; * bin/fg21sim: add Galactic free-free component support; * galactic/freefree.py: fix missing attributes. NOTE: simulated free-free maps are WRONG!! Need check/debug!
* galactic: Add free-free component simulationAaron LI2016-10-113-0/+247
| | | | | | | * New class "galactic.FreeFree" to simulate free-free emission * Add new config section "galactic/freefree" NOTE: current untested
* galactic/synchrotron: Merge up/downgrade Nside to load methodAaron LI2016-10-111-45/+29
| | | | | | | * Merge the upgrade/downgrade resolution w.r.t Nside to the map loading methods; * Update the variable names; * Check the status of smallscales addition.
* configs: Note that input templates should be HEALPix full-sky mapsAaron LI2016-10-101-0/+4
|
* configs: Change default Nside to 1024Aaron LI2016-10-101-2/+2
|
* utils/healpix.py: log that HPX indices calculation may take a while.Aaron LI2016-10-101-0/+1
|
* utils: zea2heapix(): Set value NaN for missing pixelsAaron LI2016-10-101-5/+9
|
* utils: zea2healpix(): Implement inpainting missing pixelsAaron LI2016-10-101-3/+51
| | | | | | | The missing pixels in the reprojected HEALPix map are filled with the averages of their 8 neighboring pixels (excluding the NaN's if any). Also add the "--inpaint" argument to the executable script.
* utils: zea2healpix(): Average the duplicate pixelsAaron LI2016-10-101-2/+4
| | | | Also fix typos
* utils: zea2healpix() also return the mask arrayAaron LI2016-10-101-5/+13
| | | | | | | The mask array has values 0, 1, and 2, which indicate the different statuses of the reprojected HEALPix pixels. Also update the executable script to use the new return results.
* utils/reproject.py: Add more logging and some minor changesAaron LI2016-10-101-1/+22
|
* utils/reproject.py: Implement zea2healpix()Aaron LI2016-10-102-0/+241
| | | | | | | | | | | | | | | | The "zea2healpix()" function reprojects the maps in ZEA (zenithal/azithumal equal area) projection to HEALPix data in Galactic frame with RING ordering. The other two helper functions "_image_to_healpix()" and "_convert_wcs()" are almost copied from the "reproject" project [1]. Thanks! TODO: * Add some more logging * Implement the "inpaint" argument to inpaint the HEALPix map if exists missing pixels [1] reproject: https://github.com/astrofrog/reproject
* utils: Preseve the dtype when read/write FITS filesAaron LI2016-10-102-11/+17
| | | | | | | | * utils/fits.py: hack the dtype to ignore the byteorder (FITS data use big endianness, e.g., dtype(">f4")) * utils/healpix.py: explicit convert the dtype and log the dtype * bin/healpix2hpx, bin/hpx2healpix: remove the --float argument * other minor fixes/updates
* Use newly added "read_fits_healpix()"Aaron LI2016-10-092-15/+8
| | | | Also remove a unused variable in "galactic/synchrotron.py"
* utils/fits.py: read_fits_healpix() also accept HDUAaron LI2016-10-091-4/+9
|
* utils: Add function "read_fits_healpix()"Aaron LI2016-10-092-1/+30
| | | | | | This function wraps on the `healpy.read_map()`, but reset the data array to its original dtype in FITS file, as well as return the FITS header in `astropy.io.fits.Header` object.
* utils/healpix.py: fix logging import; minor style fixesAaron LI2016-10-091-10/+5
|
* Update to use the "write_fits_healpix()" functionAaron LI2016-10-051-5/+4
|
* utils: Add "write_fits_healpix()" to replace "healpy.write_map()"Aaron LI2016-10-052-0/+101
| | | | | | NOTE: This "write_fits_healpix()" function only implements the most common case of the HEALPix FITS style.
* Add bin/fg21sim and some updates to galactic/synchrotronAaron LI2016-10-042-4/+34
| | | | | | | | | | | | * Add new executable "bin/fg21sim" * galactic/synchrotron: update to use "configs.get_path()" * galactic/synchrotron: create output dir if not exists * galactic/synchrotron: add logging support * galactic/synchrotron: append FITS extension to filename * galactic/synchrotron: pass the basic test TODO: * "output()" needs fixes with the FITS header
* Rewrite configs/validate.py to check whole config without breakAaron LI2016-10-041-23/+52
|
* Remove the "common/data_dir" config itemAaron LI2016-10-043-10/+4
|
* Fix wrong config syntax and minor changes to ConfigManagerAaron LI2016-10-042-12/+18
|
* configs/manager.py: Add logging supportAaron LI2016-10-041-2/+6
|
* configs/manager.py: Add method "get_path()"Aaron LI2016-10-041-0/+21
|
* configs/manager.py: Add method "read_userconfig()"Aaron LI2016-10-041-3/+35
| | | | | | | | This "read_userconfig()" method is specifically used to load the user configuration file, and record the absolute path of the configuration file, which allows the use of relative path to specify the input files (e.g., galactic/synchrotron/template) for simulation within the configurations.