{"id":1213,"date":"2026-08-08T01:51:29","date_gmt":"2026-08-07T17:51:29","guid":{"rendered":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/?page_id=1213"},"modified":"2026-08-08T01:51:31","modified_gmt":"2026-08-07T17:51:31","slug":"resources","status":"publish","type":"page","link":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/resources\/","title":{"rendered":"Resources"},"content":{"rendered":"\n<ul class=\"link\"><li><a href=\"#segmented\">Segmented-Polynomial-fitting Least Squares (SPLS)<\/a><\/li><li><a href=\"#astroSkyFlow\">AstroSkyFlow<\/a><\/li><li><a href=\"#oumuamua\">Origin of Oumuamua<\/a><\/li><li><a href=\"#encounter\">Stellar encounters<\/a><\/li><li><a href=\"#network\">Habitability network<\/a><\/li><li><a href=\"#OC\">Oort Cloud simulations<\/a><\/li><li><a href=\"#agatha\">Agatha<\/a><\/li><li><a href=\"#astrobridge\">Astrobridge: A software to calibrate astro-images taken by both professionals and amateurs<\/a><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">I have written codes for data reduction and statistical analysis. These are open sources which can be used for free. Please credit relevant publications if you use these resources.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><\/figure>\n\n\n\n<h2 id=\"segmented\" class=\"wp-block-heading\">Segmented-Polynomial-fitting Least Squares (SPLS)<\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"290\" data-id=\"1197\" src=\"http:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/07\/0645ef8b09e49c7a74985b2d57c61dba-1024x290.jpg\" alt=\"\" class=\"wp-image-1197\" srcset=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/07\/0645ef8b09e49c7a74985b2d57c61dba-1024x290.jpg 1024w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/07\/0645ef8b09e49c7a74985b2d57c61dba-300x85.jpg 300w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/07\/0645ef8b09e49c7a74985b2d57c61dba-768x217.jpg 768w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/07\/0645ef8b09e49c7a74985b2d57c61dba-500x141.jpg 500w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/07\/0645ef8b09e49c7a74985b2d57c61dba.jpg 1534w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\"><em>Segmented-Polynomial-fitting Least Squares (SPLS) is a Python package for detecting weak, long-period exoplanet transit signals in photometric time-series data. It simultaneously models transit signals and local background trends using segmented polynomials, reducing the signal distortion that can result from separate detrending and transit-search procedures. The software is available on <a href=\"https:\/\/github.com\/Lu-dandandan\/SPLS\"><strong>GitHub<\/strong><\/a>, and the method is described in <a href=\"https:\/\/doi.org\/10.3847\/1538-3881\/ae2679\"><strong>The Astronomical Journal<\/strong><\/a>.<\/em><\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:59% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"618\" src=\"http:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/08\/\u5fae\u4fe1\u56fe\u7247_20260807142721_126_813-1024x618.png\" alt=\"\" class=\"wp-image-1214 size-full\" srcset=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/08\/\u5fae\u4fe1\u56fe\u7247_20260807142721_126_813-1024x618.png 1024w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/08\/\u5fae\u4fe1\u56fe\u7247_20260807142721_126_813-300x181.png 300w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/08\/\u5fae\u4fe1\u56fe\u7247_20260807142721_126_813-768x463.png 768w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/08\/\u5fae\u4fe1\u56fe\u7247_20260807142721_126_813-497x300.png 497w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2026\/08\/\u5fae\u4fe1\u56fe\u7247_20260807142721_126_813.png 1295w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<h2 id=\"astroSkyFlow\" class=\"wp-block-heading\">AstroSkyFlow<\/h2>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">AstroSkyFlow is a simulator for generating realistic synthetic astronomical images. It simulates catalog-based stars and galaxies, variable sources, moving objects, sky background, atmospheric effects, PSFs, and telescope\u2013camera response. The simulator can support observation planning, data-pipeline validation, and machine-learning dataset generation. AstroSkyFlow is available at <a href=\"https:\/\/github.com\/laomuliubingbing\/AstroSkyFlow\"><strong>https:\/\/github.com\/laomuliubingbing\/AstroSkyFlow<\/strong><\/a>.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><video controls src=\"http:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/orbit_oumuamua_small.mp4\"><\/video><\/figure><div class=\"wp-block-media-text__content\">\n<h2 id=\"oumuamua\" class=\"wp-block-heading\">Origin of Oumuamua<\/h2>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">This animation is to show the motions of stellar encounters relative to the first interstellar visitor `Oumuamua. The five slow encounters of `Oumuamua are shown in green color.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><video controls src=\"http:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/encounter_tiny.mp4\"><\/video><\/figure><div class=\"wp-block-media-text__content\">\n<h2 id=\"encounter\" class=\"wp-block-heading\">Stellar encounters<\/h2>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">The above animation shows the motions of stars which are projected onto the xy, xz, and yz planes in the Galactocentric reference system.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><video controls src=\"http:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/network_tiny1.mp4\"><\/video><\/figure><div class=\"wp-block-media-text__content\">\n<h2 id=\"network\" class=\"wp-block-heading\">Habitability network<\/h2>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">This animation shows the network of habitable worlds in the solar neighborhood (&lt;20pc) in the Galactic coordinates (L and B) if assuming every star has one habitable planet. When two stars is separated by less than 2pc, a line will appear connecting them. If they move away from each other, the line will gradually disappear. The orange dot at the center represents the Sun.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><video controls src=\"http:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/animation_max10Myr_dt0.01Myr_trace_25persec_tiny3-2.mp4\"><\/video><\/figure><div class=\"wp-block-media-text__content\">\n<h2 id=\"OC\" class=\"wp-block-heading\">Oort Cloud simulations<\/h2>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">This movie is created from the results of Oort cloud simulations which are run in the <a href=\"http:\/\/www.amusecode.org\/\"><strong>AMUSE software<\/strong><\/a> environment. Simulation of the Oort Cloud under perturbations from the Galactic tide and stellar encounters over 10 Myr with a time step of 0.01 Myr.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:59% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" src=\"http:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/agatha-1024x791.jpg\" alt=\"\" class=\"wp-image-183 size-full\" srcset=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/agatha-1024x791.jpg 1024w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/agatha-300x232.jpg 300w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/agatha-768x593.jpg 768w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/agatha-1536x1186.jpg 1536w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/agatha-389x300.jpg 389w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/agatha.jpg 1720w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<h2 id=\"agatha\" class=\"wp-block-heading\">Agatha<\/h2>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">Agatha is an online app for the analysis of time series data. It is a framework of red noise periodograms and moving periodograms. The app is available at <strong><a href=\"https:\/\/phillippro.shinyapps.io\/Agatha\/\">https:\/\/phillippro.shinyapps.io\/Agatha\/<\/a><\/strong> and at <a href=\"https:\/\/github.com\/phillippro\/agatha\"><strong>GitHub<\/strong><\/a>.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\"><\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 id=\"astrobridge\" class=\"wp-block-heading\">Astrobridge<\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"794\" height=\"716\" data-id=\"187\" src=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge1-1.png\" alt=\"\" class=\"wp-image-187\" srcset=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge1-1.png 794w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge1-1-300x271.png 300w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge1-1-768x693.png 768w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge1-1-333x300.png 333w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"703\" data-id=\"188\" src=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge2.png\" alt=\"\" class=\"wp-image-188\" srcset=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge2.png 791w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge2-300x267.png 300w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge2-768x683.png 768w, https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-content\/uploads\/sites\/12\/2021\/01\/astrobridge2-338x300.png 338w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\"><em>The above two images are original and calibrated JPG photos of Orion Nebula. Parameters: Nickon D3100; Exp=5s; ISO=Hi2; Semi-Apo D=100mm f\/6<\/em><\/figcaption><\/figure>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<h3 id=\"package\">Required Python packages<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scipy<\/li>\n\n\n\n<li>Numpy<\/li>\n\n\n\n<li>Pyfits<\/li>\n\n\n\n<li>Astropy<\/li>\n\n\n\n<li>Matplotlib<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Download:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>astrobridge_v1.0<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/phillippro\/astrobridge\"><strong>github<\/strong><\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><small>Astrobridge by <a href=\"http:\/\/www.mpia.de\/homes\/ffeng\/\"><strong>Fabo Feng<\/strong><\/a> and Lia Corrales is licensed under a <a href=\"http:\/\/creativecommons.org\/licenses\/by-nc\/4.0\/\"><strong>Creative Commons Attribution-NonCommercial 4.0 International License<\/strong><\/a>.<\/small>Based on a work at <a href=\"https:\/\/github.com\/phillippro\/astrobridge\"><strong>https:\/\/github.com\/phillippro\/astrobridge<\/strong><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Segmented-Polynomial-fitting Least Squar &hellip; <a href=\"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/resources\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1213","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/pages\/1213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/comments?post=1213"}],"version-history":[{"count":1,"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/pages\/1213\/revisions"}],"predecessor-version":[{"id":1215,"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/pages\/1213\/revisions\/1215"}],"wp:attachment":[{"href":"https:\/\/web.tdli.sjtu.edu.cn\/ffeng\/wp-json\/wp\/v2\/media?parent=1213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}