Skip to main content

The LOFAR Local Sky Model Tool

Project description

LSMTool: the LOFAR Sky Model Tool

LSMTool allows the manipulation of LOFAR sky models (in the makesourcedb format).

Author:

  • David Rafferty

Based on contributed scripts by:

  • Bjoern Adebahr
  • Francesco de Gasperin
  • Reinout van Weeren

Contents:

  • docs/: documentation
  • tests/: contains test sky models and scripts useful for validation
  • bin/: contains lsmtool executable
  • lsmtool/: contains the main LSMTool scripts
  • lsmtool/operations/: contains the modules for operations
  • parsets/: some example parsets

The following operations are available:

  • SELECT: Select sources by source or patch properties
  • REMOVE: Remove sources by source or patch properties
  • TRANSFER: Transfer a patch scheme from one sky model to another
  • GROUP: Group sources into patches
  • UNGROUP: Remove patches
  • MOVE: Move a source or patch position
  • MERGE: Merge two or more patches into one
  • CONCATENATE: Concatenate two sky models
  • ADD: Add a source
  • SETPATCHPOSITIONS: Calculate and set patch positions
  • PLOT: Plot the sky model
  • COMPARE: Compare source fluxes and positions of two sky models

For details, please see the full documentation.

Dependencies

LSMTool depends on the following packages:

These packages will normally be installed automatically.

Downloading and Installing

LSMTool uses PyBDSF as default source finder. If you wish, you can use SoFiA-2 instead, which can be installed as extra.

Install the latest release from PyPI

    pip install lsmtool

or with SoFiA-2 as extra:

    pip install lsmtool[sofia]

Install the latest developer version

    pip install git+https://git.astron.nl/RD/LSMTool.git

or with SoFiA-2 as extra:

    pip install lsmtool[sofia] git+https://git.astron.nl/RD/LSMTool.git

Install a faster mean-shift grouping algorithm

If you have a C++11-compliant compiler, you can build a faster version of the mean shift grouping algorithm by compiling it yourself:

    git clone https://git.astron.nl/RD/LSMTool.git
    cd LSMTool
    sed -Ei 's/^(BUILD_EXTENSIONS = ).*/\1"ON"/' pyproject.toml
    pip install .

Note that the C++ version will give slightly different results compared to the Python version, but such differences are not expected to be important in practice.

Testing

If you've cloned the repository, and installed the software from source, you can test that the installation works as expected:

    pip install pytest
    pytest

If no errors occur, LSMTool is installed correctly.

Usage

The LSMTool executable can be used from the command line with a parset that defines the steps to be done. E.g.:

$ lsmtool model.sky lsmtool.parset

The parset follows the usual DP3 format. E.g.:

# Select individual sources with Stokes I fluxes above 1 Jy
LSMTool.Steps.select.Operation = SELECT
LSMTool.Steps.select.FilterExpression = I > 1.0 Jy
LSMTool.Steps.select.OutFile = out_model.sky

LSMTool can also be used in Python scripts by importing the lsmtool module. E.g.:

>>> import lsmtool
>>> skymod = lsmtool.load('model.sky')
>>> skymod.select('I > 1.0 Jy')
>>> skymod.write('out_model.sky')

For further details, please see the full documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lsmtool-1.8.0.tar.gz (7.7 MB view details)

Uploaded Source

File details

Details for the file lsmtool-1.8.0.tar.gz.

File metadata

  • Download URL: lsmtool-1.8.0.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for lsmtool-1.8.0.tar.gz
Algorithm Hash digest
SHA256 f66c8d2394e9b9602a126ccfb185e04e6e26b69b3b70a0a2028374a64684fb4e
MD5 ab6502354b2adb3de96e48a5cd818c40
BLAKE2b-256 6bf866c661610d8ad46dc59c1d66b628f34fca07b20691d889714a60508dfcf9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page