OBJ INT DATE GAIN TEMP
DwarfAstro.com
FITS Studio
BROWSER-BASED FITS PROCESSING FOR STACKED ASTROPHOTOGRAPHY
Process, stretch, and explore stacked FITS files directly in your browser. Background extraction, channel neutralization, and GHS stretching — no installation, no cloud, no account.
🔭
DROP YOUR FITS FILE HERE
or click to browse  ·  stacked-16_*.fits
OR
ABOUT THIS TOOL
I built FITS Studio to learn how to stretch astrophotography images. I wanted something that delivers results comparable to Siril without the learning curve of professional software. I'm not a developer — just a Dwarf 3 owner who enjoys deep-sky imaging from a Bortle 6 backyard in New England. The tool is Dwarf 3 specific for now and is designed around the linear stacked FITS files the scope produces after a session. It does not stack frames — it takes the stack the Dwarf 3 already made and gives you a proper processing pipeline to bring out the detail.
WHAT IT DOES
Background extraction with POLY or TPS-RBF gradient models
Automatic channel neutralization to remove LP colour cast
GHS, Asinh, and MTF stretching with multi-pass history
White balance, 8 palettes, full-resolution PNG export
GPU-accelerated via WebGL2 · runs at full 8.4 MP resolution
WHAT IT NEEDS
DwarfLab Dwarf 3 (IMX678 sensor, 3-plane RGB FITS)
File: stacked-16_*.fits from a completed Mega Stack session
Chrome or Firefox on desktop (WebGL2 required)
No installation · no account · nothing uploaded anywhere

FAQ — FITS Studio for stacked DWARF 3 FITS files

What FITS files does FITS Studio accept?

FITS Studio is designed for the stacked-16_*.fits files produced by the DwarfLab Dwarf 3 after a Mega Stack session. It supports 16-bit native DWARF 3 files and 32-bit float FITS. The file must contain three RGB planes (NAXIS3=3). Single-channel and Bayer RAW files are not supported.

Does FITS Studio stack sub-frames?

No. FITS Studio is a post-processing tool for an already stacked result. It takes the linear stacked FITS file the Dwarf 3 produced after a session and gives you a processing pipeline to bring out the detail. It does not stack individual sub-frames.

Are my FITS files uploaded anywhere?

No. FITS Studio runs entirely in your browser. Your files are never uploaded to a server, cloud service, or external system. No account is required and nothing leaves your device.

Which browsers work best with FITS Studio?

Desktop Chrome or Firefox with WebGL2 support. WebGL2 is required for the GPU-accelerated processing that runs at full 8.4 MP Dwarf 3 resolution.

What is the fastest good workflow in FITS Studio?

Load your FITS file or the built-in M42 sample. Go to the LINEAR tab and run Background Extraction, then let Channel Neutralization and Statistics Refresh complete automatically. Optionally apply Gentle Linear Denoise. Switch to the STRETCH tab, open the HISTOGRAM, place the Stretch Point just left of where the data rises, and raise Stretch D until your target appears. Refine with MTF, Asinh, or GHS. Finish with White Balance and export a full-resolution PNG.

Should I start in the LINEAR tab before stretching?

Yes. Starting in the LINEAR tab and running background extraction before stretching generally produces better results. Correcting gradients and balancing the image on linear data first gives you better stretch placement and more predictable colour behaviour. Stretching first and correcting later makes gradients, noise, and colour casts harder to control.

When should I use POLY-2 instead of TPS-RBF for background extraction?

POLY-2 is the normal starting point and handles most Dwarf 3 gradients, especially under suburban skies. Use TPS-RBF only when the background gradient is unusually complex or comes from multiple directions, such as moonlit sessions with multi-source sky glow.

What stretch tools are included in FITS Studio?

FITS Studio includes three stretch modes: MTF (Midtone Transfer Function) for straightforward contrast shaping, Asinh for smooth highlight compression that tends to preserve star colour well, and GHS (Generalised Hyperbolic Stretch) for precise control over faint detail and highlight protection. All three support multi-pass apply with full undo history. An optional Background Color Noise Reduction control desaturates only the darkest background pixels to reduce red/green/blue speckle after stretching.

FITS Studio v5.22.0 · dwarfastro.com · Free to use
Starting…
APPLYING STRETCH…
DEBUG: STAR MASK
SCROLL TO ZOOM · DRAG TO PAN
SCREEN VIEW · display only
1
Background Extraction
Not applied
Algorithm
POLY-2 handles most Bortle 6 gradients. TPS-RBF for complex multi-source sky glow.
Sample Grid
Rejection Tolerance1.0
Lower = stricter star rejection. 1.0 is a good default.
Green circles = accepted. Red = rejected. Click to toggle. Scroll to zoom · drag to pan.
Calculate Model
Generate sample grid first
Strength & Apply
Strength100%
Real-time preview. Reduce if edges over-darken.
Apply bakes the correction and runs channel neutralization automatically.
2
Channel Neutralization
Automatic
3
Statistics Refresh
Automatic
4
Gentle Linear Denoise
Optional
5
Linear Detail Recovery
Optional
6
Ready for Stretch
Waiting
Stretch
RiskLow LiftNormal ClipNone
Stretch looks controlled.
Stretch Mode
Background Clip?0.000
BG Color Noise Reduction?0%
Midtone (m)?0.490
White Point?1.000
Pass History
PASS 0 OF 0
Bakes current stretch into pixel data and resets sliders to identity. Click any pass in the log to undo back to that point.
Highlights0.00
Power-law compression above midpoint. Reduces blown star cores only.
Star Roll-off0.00
Smooth asymptotic cap. Final star shape control after Highlights.
White Balance
Red1.00
Green1.00
Blue1.00
Adjust R and B until white stars look neutral.
Colour Palette
Reduce Noise
Strength0
Wavelet soft-threshold on display-space noise. Stars and bright cores protected.
Local Contrast
Strength0
Boosts large-scale features (dust lanes, filaments) using wavelet scale 3. Stars protected, deep background untouched.
Quick Preset
AstroClarity Finish
Structure0
Enhances nebula texture, galaxy arms, and dust lanes. Start with 10–25.
Sharpness0
Fine detail sharpening. Use lightly to avoid crunchy stars.
Dehaze / Pop0
Adds broad midtone contrast to washed-out stretched images. Does not replace Background Extraction.
Saturation0
Boosts object color while protecting the dark sky.
Protect stars and background
PASS HISTORY
Use Enhance after stretching. These controls are for final polish only. Small values usually work best.
01 — WHAT FITS STUDIO DOES
A browser-based processor for stacked Dwarf 3 FITS files
FITS Studio is designed for the stacked-16_*.fits files created by the Dwarf 3 after a session or Mega Stack. It does not stack sub-frames. Instead, it takes the linear stacked FITS file the scope already created and gives you a clean processing path: background extraction, channel neutralization, optional linear denoise, stretching, white balance, and PNG export.
For tutorials and first-time use, load the built-in M42 Orion Nebula sample file from the start screen. It is the fastest way to learn the workflow.
02 — THE FASTEST GOOD WORKFLOW
Use this sequence for most images
1) Load your FITS file or the built-in M42 sample.
2) Go to LINEAR and run Background Extraction.
3) Let Channel Neutralization and Statistics Refresh complete automatically.
4) Optionally apply Gentle Linear Denoise.
5) Switch to STRETCH. Open the HISTOGRAM, set the Stretch Point just left of where the data rises, and raise Stretch D until your target becomes visible.
6) Refine with MTF, Asinh, or GHS.
7) Protect bright stars with Highlights or HP in GHS.
8) Finish with White Balance.
9) Export a full-resolution PNG.
The linear cleanup comes first for a reason: a cleaner linear image gives better stretch placement, better colour behaviour, and more predictable results later.
03 — LOAD THE M42 SAMPLE
The best way to learn the app
From the opening screen, click LOAD SAMPLE FILE — M42 Orion Nebula. This loads a Dwarf 3 sample FITS file so you can follow the guide without needing your own data first.
The M42 sample is ideal for tutorials because it shows faint nebula, a bright core, and bright stars — all the things that make the stretch controls meaningful.
04 — START IN LINEAR
Fix the linear image before stretching it
Always begin in the LINEAR tab. Linear data contains the real signal, but it is dim and low-contrast by nature. The goal here is to clean the image before you amplify anything with a stretch.
Stretching first and correcting later usually makes colour cast, background gradients, and noise harder to control.
05 — BACKGROUND EXTRACTION
Use POLY-2 first, then escalate only if needed
Start with POLY-2. It is the best normal starting point for most Dwarf 3 images, especially under suburban skies. Use TPS-RBF only when the background gradient is unusually complex or comes from multiple directions.

Recommended workflow:
• Click GENERATE SAMPLE GRID
• Review accepted and rejected samples
• Click CALCULATE & PREVIEW
• If the correction looks good, click APPLY CORRECTION
If the correction feels too strong near the frame edges, reduce the Strength slider slightly before applying. For most clean examples, 100% is a good first try.
06 — AUTOMATIC LINEAR CLEANUP
Channel Neutralization and Statistics Refresh run for you
After background correction is applied, FITS Studio automatically runs Channel Neutralization and Statistics Refresh.

Channel Neutralization removes residual per-channel sky bias so red, green, and blue share the same background floor before stretching.

Statistics Refresh then recalculates the histogram-based values the STRETCH tab uses.
This is one of the reasons the recommended workflow starts in LINEAR. Stretch placement is more reliable after the linear image has been normalized.
07 — OPTIONAL LINEAR DENOISE
Use it lightly, before stretch
Gentle Linear Denoise is optional. Use it when the background is noisy and you want to take the edge off before stretching amplifies that noise. A light setting is usually best.

Suggested starting point:
20–30% for moderate noise
• Skip it entirely for very deep, clean stacks
The goal is not to blur the image. The goal is to smooth background noise while preserving colour balance and keeping stars under control.
08 — UNDERSTANDING THE HISTOGRAM
Use it as a control surface, not just a graph
The histogram shows the tonal distribution of the image.

General guide:
• Left side = background and dark signal
• Right side = brighter stars and cores
• The main hump near the left is usually normal sky background

The markers represent active control points, depending on the current mode:
BP (orange) = black point / background clip
WP (red) = white point in MTF only
SP (blue dashed) = stretch point in GHS
LP (green) and HP (amber) = lower and highlight protection in GHS — only visible when active
Do not assume the BP marker must always sit fully outside the histogram data. In a conservative stretch, it may sit near the left shoulder of the data to preserve faint structure.
09 — CHOOSING A STRETCH MODE
MTF, Asinh, and GHS are different tools
MTF
Use when you want a simple, straightforward stretch and quick contrast shaping.

Asinh
Use when star colour matters. Asinh is often the safest first stretch for bright-star fields because it tends to preserve star colour better than a harsher stretch.

GHS
Use when you want the most control over faint detail versus highlights. GHS is excellent when you want to shape the stretch more precisely and protect bright cores and stars.
A useful rule: start with Asinh if bright stars are your main concern, and use GHS when you want more fine-grained control.
10 — A SIMPLE M42 WORKFLOW IN ASINH
Great for star colour and a bright core
Recommended sequence for the built-in M42 sample:
1) Clean the image in LINEAR
2) Switch to Asinh
3) Open the HISTOGRAM to watch the data as you work
4) Raise Stretch D gradually
5) Watch the bright core and the stars
6) If stars start to get harsh or pale, use Highlights to tame them
7) Fine-tune the background with BP only if needed
8) Finish with White Balance
The goal is not to make Orion as bright as possible immediately. The goal is to build the image in stages without blowing out the core or whitening the stars too early.
11 — A SIMPLE M42 WORKFLOW IN GHS
Best when you want more control
Recommended sequence:
1) Start from the cleaned linear image
2) Switch to GHS
3) Place SP near the rise of the data
4) Increase Stretch D gently
5) Use HP to protect the bright core and bright stars
6) Use LP only if you want to preserve deeper shadow structure
7) Use Highlights as a finishing control for bright stars
8) Finish with White Balance
In GHS, build the stretch slowly. If the image starts to look harsh, add protection before adding more stretch.
12 — STAR COLOUR AND BRIGHT STARS
Protect highlights before forcing more stretch
Star colour is usually lost because of aggressive highlight handling, not because of a conservative black point.

Best practices:
• Keep BP conservative at first
• Avoid pushing the stretch too hard too early
• In Asinh, use Highlights to tame bright stars
• In GHS, use HP to protect bright stars and the core
• Finish with White Balance using neutral-looking stars as reference
If stars are turning white, do not solve that by pushing BP harder. Reduce the stretch or add more highlight protection instead.
13 — WHITE BALANCE
Do this after the main stretch is close
Use White Balance near the end of the workflow, after the structure and brightness are mostly where you want them.

Practical guide:
• If stars look too orange or yellow, reduce Red slightly or raise Blue
• If stars look too blue, raise Red slightly
• Use neutral-looking stars as your reference
White Balance is a finishing tool. It should not need to rescue a poorly stretched image.
14 — EXPORT
Finish with a full-resolution PNG
When the image looks right, click EXPORT FULL RES PNG. This saves your current processed result as a full-resolution PNG for sharing, archiving, or finishing in another editor.
A good export point is: the structure is visible, the background is clean enough, the stars are controlled, and the colour balance looks believable.
15 — TROUBLESHOOTING
Common issues and what to try next
The image still looks flat
Increase the stretch more gently before pushing BP too far.

The background is too gray
Raise BP slightly, but do it carefully.

Stars are turning white
Stop increasing the main stretch. Use Highlights or HP instead.

The M42 core looks harsh
Back off the stretch slightly and add highlight protection.

The BP marker sits inside the histogram
That can be normal in a conservative stretch. It often means faint signal is being preserved.

The LDR preview looks different from the final stretch
That is expected. The Linear Detail Recovery preview uses its own temporary display stretch so you can see the linear data. Your real stretch settings are untouched and take over after Apply.
When in doubt, make smaller moves. Most overprocessed images come from one or two controls being pushed too hard, too early.
FITS Info
New FITS Studio version available. Reload to use the latest release.