
Taranpreet Singh
Astrophysics student at UIUC, exploring deep sky imaging, data stacking, and the beauty of faint things in the night sky.
Gallery

NGC 4038 / 4039 — Antennae Galaxies
A violent cosmic collision between two spiral galaxies triggering intense starburst regions. The sweeping tidal tails of gas and dust stretched across the frame after a dedicated deep stack.
Exposure: 359 × 20 seconds

NGC 6888 — Crescent Nebula
A massive shell of ionized gas shaped by a Wolf–Rayet star nearing the end of its life. The outer arcs and filamentary structures came through clearly after a long integration.
Exposure: 3,825 × 10 seconds

M16 — Eagle Nebula
One of the most iconic star-forming regions in the Milky Way. You can see the dust pillars rising out of the glow where new stars are being born. This was my first time getting decent color separation in a dim nebula.
Exposure: 1,596 × 10 seconds

NGC 7635 — Bubble Nebula
A wind-blown emission nebula in Cassiopeia, shaped by the intense stellar winds of a massive O-type star. The nearly spherical shell marks a shock front where fast stellar winds collide with denser interstellar gas, while the surrounding filaments reveal turbulence in the larger H II region. This was a great target to practice pulling out faint structure and contrast in a relatively compact nebula.
Exposure: 1,307 × 10 seconds

M42 — Orion Nebula
A bright and chaotic stellar nursery only a little over a thousand light years away. Even with a short session, the Trapezium region and surrounding gas clouds show a lot of structure and color variation.
Exposure: 240 × 10 seconds

Comet C/2023 A3 (Lemmon)
The comet drifting through the night sky with a faint but clean dust tail. I tracked the comet’s motion so the stars trail slightly while the nucleus stays sharp.
Exposure: 210 × 10 seconds

M51 — Whirlpool Galaxy
A classic spiral galaxy interacting with its smaller companion. The tidal bridge and the two well-defined arms came out nicely after stacking over a thousand subs.
Exposure: 1,035 × 10 seconds

Leo Triplet
Three galaxies in one field, each with a different orientation and character. This set always feels like a mini-tour of the local universe, from edge-on dust lanes to tidal interactions.
Exposure: 809 × 10 seconds

M33 — Triangulum Galaxy
A large, nearby spiral rich in HII regions and star-forming knots. Even with a small-aperture telescope, the pink emission areas and spiral structure are visible across the whole frame.
Exposure: 780 × 10 seconds

Total Lunar Eclipse – Phase Composite
A sequence from the March 13–14 total lunar eclipse, showing the Moon moving through Earth’s shadow. Each frame was captured at a different stage and arranged into a clean visual timeline of the whole event.

Total Lunar Eclipse – Artistic Red Moon
A stylized edit from the March 13–14 lunar eclipse that highlights the deep copper tone the Moon takes on during totality. I kept the real surface detail but leaned into the dramatic color and contrast.

High-resolution Moon Close-up
A sharp look at the lunar surface showing crater rims, maria, and the dramatic lighting along the terminator. This was one of my cleaner nights with good seeing.
My Gear
I shoot everything with a ZWO Seestar S50, a smart telescope that’s small enough to throw in a backpack but powerful enough for deep-sky work. Every image on this site was made with it.All of my processing tools are free and open-source. My stack includes:
Siril – for stacking and preprocessing
Starnet++ – for separating stars and the nebula/galaxy
GraXpert – for background extraction and noise work
RStudio + AstroSharp – for deconvolution and fine detail cleanup
GIMP – for the final color and contrast edits
My Workflow
Since I take hundreds or thousands of short exposures over one or more nights, I need to run everything through my processing pipeline to build the final image.Here’s what that usually looks like:
Planning the target: I check visibility, moon phase and how much time I’ll get on the object that night. If I need more exposure time, I’ll shoot again on the next clear night and combine everything later.
Capturing the data: The Seestar takes lots of 10-second exposures. A typical session ranges anywhere from 40 minutes to multiple nights, depending on how faint the target is.
Stacking in Siril: I adapted a Siril script to work specifically with Seestar FITS files. It calibrates the frames, aligns them and produces one clean stacked file that becomes my “master” image.
Star removal: Using Starnet++, I split the image into a starless version (for working on the nebula or galaxy) and a starmask (just the stars). Working on these separately gives me more control later.
Background and stretching: I run both files through GraXpert to remove gradients and fix the background. Then I stretch the image on a logarithmic curve and set the black point for contrast.
Detail work: I load the starless file into RStudio with AstroSharp and run deconvolution to bring out fine structures without blowing up the noise.
Recombining: I merge the stars back into the starless image so I get natural star colors and sharp nebula/galaxy detail.
Final edits: In the last step, I take everything into GIMP for color balancing, curves, saturation, and small touch-ups. This is where the image starts to feel complete.
About me
I’m an astrophysics student at the University of Illinois at Urbana-Champaign, focusing on observational astronomy and image processing. I use the Seestar S50 and university observing nights to capture deep-sky targets, then push the data further through stacking, photometric calibration, and noise reduction.
I love working on problems that mix physics, computation, and curiosity, whether it’s astrophotography, research, or galaxy structure analysis.