
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
sotfinder
Advanced tools
SOTFINDER is an astrophotography analysis tool that expertly identifies and tracks space object trajectories in multi-frame images, while offering photometric analysis and dynamic visualization against a stellar backdrop.
SOTFINDER, short for Space Objects Trajectories Finder, is a tool designed for the analysis of multi-frame astronomical images. It focuses on tracking the movements of space objects and provides tools for photometric analysis. SOTFINDER aims to offer a practical solution for astronomers and researchers who are interested in understanding the dynamics of celestial objects in their imagery.
On Linux, macOS and Windows architectures, the binary wheels can be installed using pip by executing one of the following commands:
pip install sotfinder
pip install sotfinder --upgrade # to upgrade a pre-existing installation
SOTFINDER integrates several external Python libraries and functionalities for its core operations. Here are the key dependencies and their roles within SOTFINDER:
Photutils: This Python package is central to SOTFINDER, used primarily for centroid extraction and photometric measurements in astronomical imaging data. It provides the core functionality for analyzing and processing image data. For more information, visit Photutils Documentation.
Astroalign: A modified version of Astroalign is incorporated directly into SOTFINDER, meaning that Astroalign does not require separate installation.
STAREXTRACTOR: Although STAREXTRACTOR builds upon the capabilities of Photutils, it is an independent package that needs to be installed separately. More details can be found on the STAREXTRACTOR GitHub Repository.
Note: Keeping these dependencies updated is important for the compatibility and optimal performance of SOTFINDER.
The following animation illustrates the motion of space objects relative to the star background, providing a clear visual understanding of their trajectories:
To load multiple frames of images and find the trajectories of moving objects:
>>> from sotfinder import find_moving
>>> image_dir = 'obs/obs_tle_20220524/fits/T1616_S1_1_C6_1/'
>>> traces = find_moving(image_dir)
>>> print(traces)
>>> # <Trace object: RES = (1024, 1024) FWHM ≈ 9.63 REF_INDEX = 9 NUM_FRAMES = 18 NUM_TRACES = 1>
Attributes of traces include:
res: The resolution of the observation image.fwhm: Full Width at Half Maximum (FWHM) values of the image.offset: Coordinates of the image center relative to the original coordinate origin.frames: List of image frames.lineX (e.g., line0, line1, ...): Objects representing detected trajectories.stars: Object containing information about stars in each frame.df: DataFrame with affine transformations, trajectories, and stars details._ref_ind: Index of the reference frame._image: The background-subtracted grayscale image._xy_candis: Candidate coordinates for moving objects._num_frames: Total number of frames._num_traces: Total number of detected trajectories.>>> print(traces.line0)
>>> # <Line object: NUM_POINTS = 18>
>>> print(traces.stars)
>>> # <Stars object: NUM_STARS = 87>
>>> print(traces.df)
The output dataframe contains key information about affine transformations, motion trajectories, and stars:
>>> print(traces.df)
Visualizing the trajectories of moving objects:
>>> traces.show() # Plot trajectories of the moving space objects
Handling HDF5 files with SOTFINDER involves saving, previewing, and loading data.
To save the data from traces into an HDF5 file:
>>> traces.savehdf5('traces.hdf5')
This creates an HDF5 file named 'traces.hdf5' containing all the relevant data from the traces object.
To preview the structure of the HDF5 file:
$ h5dump -H traces.hdf5
This command provides a header-only view of the HDF5 file, showing its structure and layout without loading the entire file content.
To read data from an HDF5 file back into the program:
>>> traces_ = from_hdf5('traces.hdf5')
It reads the data from 'traces.hdf5' and initializes a new Traces object with the loaded data.
We welcome contributions to the SOTFINDER project and are grateful for every bit of help.
This section lists the references and key resources that have contributed to the development and understanding of the methodologies implemented in the SOTFINDER package.
RANSAC Algorithm: For an overview of the RANSAC algorithm, refer to this article by Olli Myllymäki which explains the RANSAC algorithm from scratch.
Sequential RANSAC: This Medium article discusses the recursive or sequential approach to RANSAC for identifying multiple straight lines in an image.
Generalized Hough Transform: For understanding the extension of the Hough transform to detect arbitrary shapes, refer to the seminal work by Ballard, D.H. (1981) in "Generalizing the Hough transform to detect arbitrary shapes", published in Pattern Recognition, 13 (2): 111–122.
Optimal RANSAC: Hast, A., Nysjö, J., & Marchetti, A. (2013) discuss the optimal RANSAC approach in their paper "Optimal RANSAC - towards a repeatable algorithm for finding the optimal set", providing insights into making the RANSAC algorithm more repeatable and reliable.
FAQs
SOTFINDER is an astrophotography analysis tool that expertly identifies and tracks space object trajectories in multi-frame images, while offering photometric analysis and dynamic visualization against a stellar backdrop.
We found that sotfinder demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.