<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>S50 &amp;mdash; Marcin Modest Trzaska</title>
    <link>https://blog.argilus.online/czach/tag:S50</link>
    <description>Piszę, co mi przyjdzie do głowy. Na tematy różne.</description>
    <pubDate>Fri, 11 Sep 2026 05:19:34 +0200</pubDate>
    <item>
      <title>Rekin po raz drugi</title>
      <link>https://blog.argilus.online/czach/rekin-po-raz-drugi</link>
      <description>&lt;![CDATA[Próbuję po raz drugi ogarnąć Dark Shark Nebula, tym razem na szerzej, to znaczy w trybie mozaiki x2 (czyli pole widzenia Seestara S50 x 4).&#xA;&#xA;Pokrycie fragmentu nieba&#xA;&#xA;Ciekawi mnie, jak to wyjdzie. Na razie za malo materiału, żeby cokolwiek zobaczyć.&#xA;&#xA;Tak przy okazji — na dysku pojawiła się nowa wersja skryptu a tak wygląda wynik jego pracy:&#xA;Pokrycie fragmentu nieba&#xA;&#xA;!/usr/bin/env python3&#xA;&#34;&#34;&#34;&#xA;seestarmosaiccoverage.py&#xA;&#xA;Wczytuje pliki FIT (Seestar, tryb mozaiki) z podanego folderu i rysuje&#xA;mape pokrycia nieba: kolorem pokazuje, ile klatek pokrywa dany fragment.&#xA;&#34;&#34;&#34;&#xA;&#xA;import argparse&#xA;import glob&#xA;import os&#xA;import sys&#xA;&#xA;import numpy as np&#xA;from astropy.io import fits&#xA;from astropy.wcs import WCS&#xA;import matplotlib.pyplot as plt&#xA;from matplotlib.path import Path as MplPath&#xA;from matplotlib.ticker import MaxNLocator&#xA;&#xA;---------- odczyt naglowkow ----------&#xA;&#xA;RAKEYS = [&#34;RA&#34;, &#34;OBJCTRA&#34;, &#34;CRVAL1&#34;]&#xA;DECKEYS = [&#34;DEC&#34;, &#34;OBJCTDEC&#34;, &#34;CRVAL2&#34;]&#xA;ROTKEYS = [&#34;ROTATION&#34;, &#34;PA&#34;, &#34;ROTATANG&#34;, &#34;ORIENTAT&#34;, &#34;ROT&#34;]&#xA;&#xA;def firstpresent(header, keys):&#xA;    for k in keys:&#xA;        if k in header:&#xA;            return header[k]&#xA;    return None&#xA;&#xA;def todecimalra(val):&#xA;    if isinstance(val, (int, float)):&#xA;        return float(val)&#xA;    val = str(val).strip()&#xA;    if &#34;:&#34; in val:&#xA;        h, m, s = [float(x) for x in val.split(&#34;:&#34;)]&#xA;        return (h + m / 60 + s / 3600)  15.0&#xA;    return float(val)&#xA;&#xA;def todecimaldec(val):&#xA;    if isinstance(val, (int, float)):&#xA;        return float(val)&#xA;    val = str(val).strip()&#xA;    sign = -1.0 if val.startswith(&#34;-&#34;) else 1.0&#xA;    val = val.lstrip(&#34;+-&#34;)&#xA;    if &#34;:&#34; in val:&#xA;        d, m, s = [float(x) for x in val.split(&#34;:&#34;)]&#xA;        return sign  (d + m / 60 + s / 3600)&#xA;    return float(val)  sign&#xA;&#xA;def readframepointing(path):&#xA;    header = fits.getheader(path)&#xA;    if &#34;CTYPE1&#34; in header and &#34;CRVAL1&#34; in header:&#xA;        try:&#xA;            wcs = WCS(header)&#xA;            footprint = wcs.calcfootprint(header=header)&#xA;            rac, decc = footprint.mean(axis=0)&#xA;            return rac, decc, 0.0, footprint&#xA;        except Exception:&#xA;            pass&#xA;&#xA;    raraw = firstpresent(header, RAKEYS)&#xA;    decraw = firstpresent(header, DECKEYS)&#xA;    if raraw is None or decraw is None:&#xA;        raise ValueError(&#34;brak RA/DEC w naglowku&#34;)&#xA;&#xA;    radeg = todecimalra(raraw)&#xA;    decdeg = todecimaldec(decraw)&#xA;    rotraw = firstpresent(header, ROTKEYS)&#xA;    rotdeg = float(rotraw) if rotraw is not None else 0.0&#xA;&#xA;    return radeg, decdeg, rotdeg, None&#xA;&#xA;---------- projekcja i footprinty ----------&#xA;&#xA;def gnomonic(radeg, decdeg, ra0deg, dec0deg):&#xA;    ra, dec = np.radians(radeg), np.radians(decdeg)&#xA;    ra0, dec0 = np.radians(ra0deg), np.radians(dec0deg)&#xA;    dra = ra - ra0&#xA;    denom = np.sin(dec0)  np.sin(dec) + np.cos(dec0)  np.cos(dec)  np.cos(dra)&#xA;    x = np.cos(dec)  np.sin(dra) / denom&#xA;    y = (np.cos(dec0)  np.sin(dec) - np.sin(dec0)  np.cos(dec)  np.cos(dra)) / denom&#xA;    return np.degrees(x), np.degrees(y)&#xA;&#xA;def framecornerstangent(rac, decc, rotdeg, fovw, fovh, ra0, dec0):&#xA;    xc, yc = gnomonic(rac, decc, ra0, dec0)&#xA;    hw, hh = fovw / 2, fovh / 2&#xA;    local = np.array([(-hw, -hh), (hw, -hh), (hw, hh), (-hw, hh)])&#xA;    theta = np.radians(rotdeg)&#xA;    rot = np.array([[np.cos(theta), -np.sin(theta)],&#xA;                    [np.sin(theta), np.cos(theta)]])&#xA;    rotated = local @ rot.T&#xA;    return rotated + np.array([xc, yc])&#xA;&#xA;def wcscornerstangent(footprintradec, ra0, dec0):&#xA;    x, y = gnomonic(footprintradec[:, 0], footprintradec[:, 1], ra0, dec0)&#xA;    return np.columnstack([x, y])&#xA;&#xA;---------- glowna logika ----------&#xA;&#xA;def buildcoverage(folder, fovw, fovh, gridn):&#xA;    files = sorted(glob.glob(os.path.join(folder, &#34;.fit&#34;)) +&#xA;                   glob.glob(os.path.join(folder, &#34;.fits&#34;)))&#xA;    if not files:&#xA;        sys.exit(f&#34;Nie znaleziono plikow .fit/.fits w: {folder}&#34;)&#xA;&#xA;    raw = []&#xA;    for f in files:&#xA;        try:&#xA;            rac, decc, rot, footprint = readframepointing(f)&#xA;            raw.append((f, rac, decc, rot, footprint))&#xA;        except Exception as e:&#xA;            print(f&#34;[pomijam] {os.path.basename(f)}: {e}&#34;)&#xA;&#xA;    if not raw:&#xA;        sys.exit(&#34;Nie udalo sie odczytac zadnej klatki.&#34;)&#xA;&#xA;    ra0 = float(np.mean([r[1] for r in raw]))&#xA;    dec0 = float(np.mean([r[2] for r in raw]))&#xA;&#xA;    polygons = []&#xA;    for f, rac, decc, rot, footprint in raw:&#xA;        if footprint is not None:&#xA;            corners = wcscornerstangent(footprint, ra0, dec0)&#xA;        else:&#xA;            corners = framecornerstangent(rac, decc, rot, fovw, fovh, ra0, dec0)&#xA;        polygons.append(corners)&#xA;&#xA;    allpts = np.vstack(polygons)&#xA;    pad = 0.15 * max(fovw, fovh)&#xA;    xmin, ymin = allpts.min(axis=0) - pad&#xA;    xmax, ymax = allpts.max(axis=0) + pad&#xA;&#xA;    xs = np.linspace(xmin, xmax, gridn)&#xA;    ys = np.linspace(ymin, ymax, gridn)&#xA;    XX, YY = np.meshgrid(xs, ys)&#xA;    pts = np.columnstack([XX.ravel(), YY.ravel()])&#xA;&#xA;    count = np.zeros(pts.shape[0], dtype=int)&#xA;    for corners in polygons:&#xA;        path = MplPath(corners)&#xA;        count += path.containspoints(pts)&#xA;&#xA;    count = count.reshape(XX.shape)&#xA;    return XX, YY, count, polygons, len(raw), ra0, dec0&#xA;&#xA;def plotcoverage(XX, YY, count, polygons, nframes, ra0, dec0, outpath):&#xA;    # Ciemny motyw pasuje do astronomii i poprawia kontrast&#xA;    plt.style.use(&#39;darkbackground&#39;)&#xA;    fig, ax = plt.subplots(figsize=(10, 9))&#xA;&#xA;    # Maskowanie obszarów gdzie count == 0, żeby tło było czyste&#xA;    countmasked = np.ma.maskedequal(count, 0)&#xA;&#xA;    maxcount = max(1, int(count.max()))&#xA;    &#xA;    # Użycie palety &#39;plasma&#39; lub &#39;magma&#39; – są bardziej czytelne niż viridis na czarnym tle&#xA;    mesh = ax.pcolormesh(XX, YY, countmasked, shading=&#34;auto&#34;,&#xA;                         cmap=&#34;plasma&#34;, vmin=1, vmax=maxcount)&#xA;    &#xA;    cbar = fig.colorbar(mesh, ax=ax, boundaries=np.arange(0.5, maxcount + 1.5, 1))&#xA;    cbar.setlabel(&#34;Liczba nakładających się klatek&#34;, color=&#39;white&#39;)&#xA;    cbar.locator = MaxNLocator(integer=True)&#xA;    cbar.updateticks()&#xA;&#xA;    # Rysowanie klatek tylko wtedy, gdy jest ich rozsądna liczba, &#xA;    # żeby nie zrobić z wykresu białej plamy&#xA;    if len(polygons) &lt;= 150:&#xA;        for corners in polygons:&#xA;            closed = np.vstack([corners, corners[0]])&#xA;            ax.plot(closed[:, 0], closed[:, 1], color=&#34;cyan&#34;, linewidth=0.3, alpha=0.4)&#xA;&#xA;    ax.setxlabel(f&#34;Odsunięcie ΔRA [deg] względem RA={ra0:.3f}°&#34;, fontsize=11)&#xA;    ax.setylabel(f&#34;Odsunięcie ΔDec [deg] względem Dec={dec0:.3f}°&#34;, fontsize=11)&#xA;    ax.settitle(f&#34;Mapa pokrycia mozaiki ({nframes} klatek)&#34;, fontsize=13, pad=12)&#xA;    &#xA;    ax.invertxaxis()  # Konwencja astronomiczna: RA rośnie w lewo&#xA;    ax.setaspect(&#34;equal&#34;)&#xA;    ax.grid(True, color=&#39;gray&#39;, linestyle=&#39;--&#39;, linewidth=0.5, alpha=0.3)&#xA;&#xA;    fig.tightlayout()&#xA;    fig.savefig(outpath, dpi=200, facecolor=fig.getfacecolor(), edgecolor=&#39;none&#39;)&#xA;    print(f&#34;Zapisano ulepszoną mapę: {outpath}&#34;)&#xA;    plt.show()&#xA;&#xA;def main():&#xA;    ap = argparse.ArgumentParser(description=&#34;Mapa pokrycia mozaiki Seestar z plikow FIT.&#34;)&#xA;    ap.addargument(&#34;folder&#34;, help=&#34;Folder z plikami .fit/.fits&#34;)&#xA;    ap.addargument(&#34;--fov-w&#34;, type=float, default=0.75, help=&#34;Szerokość FOV w stopniach&#34;)&#xA;    ap.addargument(&#34;--fov-h&#34;, type=float, default=1.33, help=&#34;Wysokość FOV w stopniach&#34;)&#xA;    ap.addargument(&#34;--grid&#34;, type=int, default=500, help=&#34;Rozdzielczość siatki (domyślnie 500 dla wyższej gładkości)&#34;)&#xA;    ap.addargument(&#34;--out&#34;, default=&#34;coverageimproved.png&#34;, help=&#34;Plik wyjściowy PNG&#34;)&#xA;    args = ap.parseargs()&#xA;&#xA;    XX, YY, count, polygons, n, ra0, dec0 = buildcoverage(&#xA;        args.folder, args.fovw, args.fovh, args.grid&#xA;    )&#xA;    plot_coverage(XX, YY, count, polygons, n, ra0, dec0, args.out)&#xA;&#xA;if name == &#34;main&#34;:&#xA;    main()&#xA;&#xA;#Seestar #S50 #astrofotografia&#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Próbuję po raz drugi ogarnąć <em>Dark Shark Nebula</em>, tym razem na szerzej, to znaczy w trybie mozaiki x2 (czyli pole widzenia Seestara S50 x 4).</p>

<p><img src="https://blgpht.argilus.online/api/files/134/original/coverage_VdB-150.png" alt="Pokrycie fragmentu nieba"></p>

<p>Ciekawi mnie, jak to wyjdzie. Na razie za malo materiału, żeby cokolwiek zobaczyć.</p>

<p>Tak przy okazji — na dysku pojawiła się nowa wersja skryptu a tak wygląda wynik jego pracy:
<img src="https://blgpht.argilus.online/api/files/135/original/coverage_improved_VdB-150.png" alt="Pokrycie fragmentu nieba"></p>

<pre><code class="language-python">#!/usr/bin/env python3
&#34;&#34;&#34;
seestar_mosaic_coverage.py

Wczytuje pliki FIT (Seestar, tryb mozaiki) z podanego folderu i rysuje
mape pokrycia nieba: kolorem pokazuje, ile klatek pokrywa dany fragment.
&#34;&#34;&#34;

import argparse
import glob
import os
import sys

import numpy as np
from astropy.io import fits
from astropy.wcs import WCS
import matplotlib.pyplot as plt
from matplotlib.path import Path as MplPath
from matplotlib.ticker import MaxNLocator

# ---------- odczyt naglowkow ----------

RA_KEYS = [&#34;RA&#34;, &#34;OBJCTRA&#34;, &#34;CRVAL1&#34;]
DEC_KEYS = [&#34;DEC&#34;, &#34;OBJCTDEC&#34;, &#34;CRVAL2&#34;]
ROT_KEYS = [&#34;ROTATION&#34;, &#34;PA&#34;, &#34;ROTATANG&#34;, &#34;ORIENTAT&#34;, &#34;ROT&#34;]


def _first_present(header, keys):
    for k in keys:
        if k in header:
            return header[k]
    return None


def _to_decimal_ra(val):
    if isinstance(val, (int, float)):
        return float(val)
    val = str(val).strip()
    if &#34;:&#34; in val:
        h, m, s = [float(x) for x in val.split(&#34;:&#34;)]
        return (h + m / 60 + s / 3600) * 15.0
    return float(val)


def _to_decimal_dec(val):
    if isinstance(val, (int, float)):
        return float(val)
    val = str(val).strip()
    sign = -1.0 if val.startswith(&#34;-&#34;) else 1.0
    val = val.lstrip(&#34;+-&#34;)
    if &#34;:&#34; in val:
        d, m, s = [float(x) for x in val.split(&#34;:&#34;)]
        return sign * (d + m / 60 + s / 3600)
    return float(val) * sign


def read_frame_pointing(path):
    header = fits.getheader(path)
    if &#34;CTYPE1&#34; in header and &#34;CRVAL1&#34; in header:
        try:
            wcs = WCS(header)
            footprint = wcs.calc_footprint(header=header)
            ra_c, dec_c = footprint.mean(axis=0)
            return ra_c, dec_c, 0.0, footprint
        except Exception:
            pass

    ra_raw = _first_present(header, RA_KEYS)
    dec_raw = _first_present(header, DEC_KEYS)
    if ra_raw is None or dec_raw is None:
        raise ValueError(&#34;brak RA/DEC w naglowku&#34;)

    ra_deg = _to_decimal_ra(ra_raw)
    dec_deg = _to_decimal_dec(dec_raw)
    rot_raw = _first_present(header, ROT_KEYS)
    rot_deg = float(rot_raw) if rot_raw is not None else 0.0

    return ra_deg, dec_deg, rot_deg, None


# ---------- projekcja i footprinty ----------

def gnomonic(ra_deg, dec_deg, ra0_deg, dec0_deg):
    ra, dec = np.radians(ra_deg), np.radians(dec_deg)
    ra0, dec0 = np.radians(ra0_deg), np.radians(dec0_deg)
    dra = ra - ra0
    denom = np.sin(dec0) * np.sin(dec) + np.cos(dec0) * np.cos(dec) * np.cos(dra)
    x = np.cos(dec) * np.sin(dra) / denom
    y = (np.cos(dec0) * np.sin(dec) - np.sin(dec0) * np.cos(dec) * np.cos(dra)) / denom
    return np.degrees(x), np.degrees(y)


def frame_corners_tangent(ra_c, dec_c, rot_deg, fov_w, fov_h, ra0, dec0):
    xc, yc = gnomonic(ra_c, dec_c, ra0, dec0)
    hw, hh = fov_w / 2, fov_h / 2
    local = np.array([(-hw, -hh), (hw, -hh), (hw, hh), (-hw, hh)])
    theta = np.radians(rot_deg)
    rot = np.array([[np.cos(theta), -np.sin(theta)],
                    [np.sin(theta), np.cos(theta)]])
    rotated = local @ rot.T
    return rotated + np.array([xc, yc])


def wcs_corners_tangent(footprint_radec, ra0, dec0):
    x, y = gnomonic(footprint_radec[:, 0], footprint_radec[:, 1], ra0, dec0)
    return np.column_stack([x, y])


# ---------- glowna logika ----------

def build_coverage(folder, fov_w, fov_h, grid_n):
    files = sorted(glob.glob(os.path.join(folder, &#34;*.fit&#34;)) +
                   glob.glob(os.path.join(folder, &#34;*.fits&#34;)))
    if not files:
        sys.exit(f&#34;Nie znaleziono plikow .fit/.fits w: {folder}&#34;)

    raw = []
    for f in files:
        try:
            ra_c, dec_c, rot, footprint = read_frame_pointing(f)
            raw.append((f, ra_c, dec_c, rot, footprint))
        except Exception as e:
            print(f&#34;[pomijam] {os.path.basename(f)}: {e}&#34;)

    if not raw:
        sys.exit(&#34;Nie udalo sie odczytac zadnej klatki.&#34;)

    ra0 = float(np.mean([r[1] for r in raw]))
    dec0 = float(np.mean([r[2] for r in raw]))

    polygons = []
    for f, ra_c, dec_c, rot, footprint in raw:
        if footprint is not None:
            corners = wcs_corners_tangent(footprint, ra0, dec0)
        else:
            corners = frame_corners_tangent(ra_c, dec_c, rot, fov_w, fov_h, ra0, dec0)
        polygons.append(corners)

    all_pts = np.vstack(polygons)
    pad = 0.15 * max(fov_w, fov_h)
    xmin, ymin = all_pts.min(axis=0) - pad
    xmax, ymax = all_pts.max(axis=0) + pad

    xs = np.linspace(xmin, xmax, grid_n)
    ys = np.linspace(ymin, ymax, grid_n)
    XX, YY = np.meshgrid(xs, ys)
    pts = np.column_stack([XX.ravel(), YY.ravel()])

    count = np.zeros(pts.shape[0], dtype=int)
    for corners in polygons:
        path = MplPath(corners)
        count += path.contains_points(pts)

    count = count.reshape(XX.shape)
    return XX, YY, count, polygons, len(raw), ra0, dec0


def plot_coverage(XX, YY, count, polygons, n_frames, ra0, dec0, out_path):
    # Ciemny motyw pasuje do astronomii i poprawia kontrast
    plt.style.use(&#39;dark_background&#39;)
    fig, ax = plt.subplots(figsize=(10, 9))

    # Maskowanie obszarów gdzie count == 0, żeby tło było czyste
    count_masked = np.ma.masked_equal(count, 0)

    max_count = max(1, int(count.max()))
    
    # Użycie palety &#39;plasma&#39; lub &#39;magma&#39; – są bardziej czytelne niż viridis na czarnym tle
    mesh = ax.pcolormesh(XX, YY, count_masked, shading=&#34;auto&#34;,
                         cmap=&#34;plasma&#34;, vmin=1, vmax=max_count)
    
    cbar = fig.colorbar(mesh, ax=ax, boundaries=np.arange(0.5, max_count + 1.5, 1))
    cbar.set_label(&#34;Liczba nakładających się klatek&#34;, color=&#39;white&#39;)
    cbar.locator = MaxNLocator(integer=True)
    cbar.update_ticks()

    # Rysowanie klatek tylko wtedy, gdy jest ich rozsądna liczba, 
    # żeby nie zrobić z wykresu białej plamy
    if len(polygons) &lt;= 150:
        for corners in polygons:
            closed = np.vstack([corners, corners[0]])
            ax.plot(closed[:, 0], closed[:, 1], color=&#34;cyan&#34;, linewidth=0.3, alpha=0.4)

    ax.set_xlabel(f&#34;Odsunięcie ΔRA [deg] względem RA={ra0:.3f}°&#34;, fontsize=11)
    ax.set_ylabel(f&#34;Odsunięcie ΔDec [deg] względem Dec={dec0:.3f}°&#34;, fontsize=11)
    ax.set_title(f&#34;Mapa pokrycia mozaiki ({n_frames} klatek)&#34;, fontsize=13, pad=12)
    
    ax.invert_xaxis()  # Konwencja astronomiczna: RA rośnie w lewo
    ax.set_aspect(&#34;equal&#34;)
    ax.grid(True, color=&#39;gray&#39;, linestyle=&#39;--&#39;, linewidth=0.5, alpha=0.3)

    fig.tight_layout()
    fig.savefig(out_path, dpi=200, facecolor=fig.get_facecolor(), edgecolor=&#39;none&#39;)
    print(f&#34;Zapisano ulepszoną mapę: {out_path}&#34;)
    plt.show()


def main():
    ap = argparse.ArgumentParser(description=&#34;Mapa pokrycia mozaiki Seestar z plikow FIT.&#34;)
    ap.add_argument(&#34;folder&#34;, help=&#34;Folder z plikami .fit/.fits&#34;)
    ap.add_argument(&#34;--fov-w&#34;, type=float, default=0.75, help=&#34;Szerokość FOV w stopniach&#34;)
    ap.add_argument(&#34;--fov-h&#34;, type=float, default=1.33, help=&#34;Wysokość FOV w stopniach&#34;)
    ap.add_argument(&#34;--grid&#34;, type=int, default=500, help=&#34;Rozdzielczość siatki (domyślnie 500 dla wyższej gładkości)&#34;)
    ap.add_argument(&#34;--out&#34;, default=&#34;coverage_improved.png&#34;, help=&#34;Plik wyjściowy PNG&#34;)
    args = ap.parse_args()

    XX, YY, count, polygons, n, ra0, dec0 = build_coverage(
        args.folder, args.fov_w, args.fov_h, args.grid
    )
    plot_coverage(XX, YY, count, polygons, n, ra0, dec0, args.out)


if __name__ == &#34;__main__&#34;:
    main()
</code></pre>

<p><a href="/czach/tag:Seestar" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Seestar</span></a> <a href="/czach/tag:S50" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">S50</span></a> <a href="/czach/tag:astrofotografia" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">astrofotografia</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/rekin-po-raz-drugi</guid>
      <pubDate>Mon, 07 Sep 2026 08:01:14 +0000</pubDate>
    </item>
    <item>
      <title>Plamy na Słońcu</title>
      <link>https://blog.argilus.online/czach/plamy-na-sloncu</link>
      <description>&lt;![CDATA[Chciałem zrobić/sprawdzić plamy na Słońcu. Jakieś tam zdjęcia zrobiłem a później coś sprawdziłem i okazało się, że szkło w teleskopie jest brudne jak… Generalnie różnice temperatur w nocy, kurz, mgła itp zrobiły swoje i zrobiła się taka skorupa. Może dlatego moje zdjęcia są takie kiepskie.&#xA;&#xA;IMG 3479&#xA;&#xA;IMG 3480&#xA;&#xA;IMG 3481&#xA;&#xA;div style=&#34;background: linear-gradient(135deg, #090a0f 0%, #1f0c24 50%, #2b0c0c 100%); border: 1px solid rgba(255, 107, 0, 0.4); border-radius: 16px; padding: 30px; color: #ffffff; font-family: system-ui, -apple-system, sans-serif; box-shadow: 0 12px 35px rgba(0,0,0,0.7), inset 0 0 25px rgba(255, 69, 0, 0.1); max-width: 650px; margin: 20px auto; box-sizing: border-box;&#34;&#xA;  &#xA;  !-- Górny pasek z odznaką --&#xA;  div style=&#34;display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;&#34;&#xA;    span style=&#34;background: rgba(255,69,0,0.15); color: #ff8c00; padding: 4px 10px; border-radius: 20px; font-weight: 600; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; border: 1px solid rgba(255,140,0,0.3);&#34;☀️ Solar Track/span&#xA;    span style=&#34;letter-spacing: 3px; font-size: 16px;&#34;💽 🎸 🔭/span&#xA;  /div&#xA;  &#xA;  !-- Blok cytatu --&#xA;  blockquote style=&#34;margin: 0 0 20px 0; padding: 0; text-align: center;&#34;&#xA;    p style=&#34;font-size: 24px; font-weight: 800; font-style: italic; color: #ffeb3b; text-shadow: 0 0 15px rgba(255, 235, 59, 0.4); margin: 0 0 12px 0; line-height: 1.3;&#34;&#xA;      🎼Plamy na Słońcu, upał w okolicybr&#xA;      Cierpi tu z gorąca niemal pół dzielnicy🎶&#xA;    /p&#xA;  /blockquote&#xA;&#xA;  !-- Podpis po prawej stronie --&#xA;  div style=&#34;text-align: right; margin-bottom: 25px; padding-right: 5px;&#34;&#xA;    span style=&#34;font-size: 14px; font-weight: 600; color: #cbd5e1; font-style: italic; letter-spacing: 0.5px;&#34;&#xA;      &amp;mdash; Kult, span style=&#34;color: #ff8c00; font-weight: 700;&#34;Plamy na Słońcu/span&#xA;    /span&#xA;  /div&#xA;&#xA;  !-- Stopka z parametrami --&#xA;  div style=&#34;display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 15px; font-size: 12px; color: #94a3b8;&#34;&#xA;    span🔥 Flare Level: X-Class/span&#xA;    span🎧 132 BPM/span&#xA;  /div&#xA;&#xA;/div&#xA;&#xA;#Seestar #S50 #BlackHoleSun #SunSpots #astrophotography&#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Chciałem zrobić/sprawdzić plamy na Słońcu. Jakieś tam zdjęcia zrobiłem a później coś sprawdziłem i okazało się, że szkło w teleskopie jest brudne jak… Generalnie różnice temperatur w nocy, kurz, mgła itp zrobiły swoje i zrobiła się taka skorupa. Może dlatego moje zdjęcia są takie kiepskie.</p>

<p><a href="https://blgpht.argilus.online/api/files/106/original/IMG_3479.JPG" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/106/variants/ffmpeg-1280x1280-in/IMG_3479.JPG" alt="IMG 3479"></a></p>

<p><a href="https://blgpht.argilus.online/api/files/104/original/IMG_3480.JPG" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/104/variants/ffmpeg-1280x1280-in/IMG_3480.JPG" alt="IMG 3480"></a></p>

<p><a href="https://blgpht.argilus.online/api/files/105/original/IMG_3481.JPG" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/105/variants/ffmpeg-1280x1280-in/IMG_3481.JPG" alt="IMG 3481"></a></p>

<div style="background: linear-gradient(135deg, #090a0f 0%, #1f0c24 50%, #2b0c0c 100%); border: 1px solid rgba(255, 107, 0, 0.4); border-radius: 16px; padding: 30px; color: #ffffff; font-family: system-ui, -apple-system, sans-serif; box-shadow: 0 12px 35px rgba(0,0,0,0.7), inset 0 0 25px rgba(255, 69, 0, 0.1); max-width: 650px; margin: 20px auto; box-sizing: border-box;">
  
  
  <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;">
    <span style="background: rgba(255,69,0,0.15); color: #ff8c00; padding: 4px 10px; border-radius: 20px; font-weight: 600; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; border: 1px solid rgba(255,140,0,0.3);">☀️ Solar Track</span>
    <span style="letter-spacing: 3px; font-size: 16px;">💽 🎸 🔭</span>
  </div>
  

<p>  
  <blockquote style="margin: 0 0 20px 0; padding: 0; text-align: center;">
    <p style="font-size: 24px; font-weight: 800; font-style: italic; color: #ffeb3b; text-shadow: 0 0 15px rgba(255, 235, 59, 0.4); margin: 0 0 12px 0; line-height: 1.3;">
      🎼Plamy na Słońcu, upał w okolicy<br>
      Cierpi tu z gorąca niemal pół dzielnicy🎶
    </p>
  </blockquote></p>

<p>  
  <div style="text-align: right; margin-bottom: 25px; padding-right: 5px;">
    <span style="font-size: 14px; font-weight: 600; color: #cbd5e1; font-style: italic; letter-spacing: 0.5px;">
      — Kult, <span style="color: #ff8c00; font-weight: 700;">Plamy na Słońcu</span>
    </span>
  </div></p>

<p>  
  <div style="display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 15px; font-size: 12px; color: #94a3b8;">
    <span>🔥 Flare Level: X-Class</span>
    <span>🎧 132 BPM</span>
  </div></p>

<p></div></p>

<p><a href="/czach/tag:Seestar" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Seestar</span></a> <a href="/czach/tag:S50" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">S50</span></a> <a href="/czach/tag:BlackHoleSun" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">BlackHoleSun</span></a> <a href="/czach/tag:SunSpots" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">SunSpots</span></a> <a href="/czach/tag:astrophotography" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">astrophotography</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/plamy-na-sloncu</guid>
      <pubDate>Sat, 29 Aug 2026 16:06:18 +0000</pubDate>
    </item>
    <item>
      <title>Fajerwerk i Czarodziej</title>
      <link>https://blog.argilus.online/czach/galaktyka-fajerwerk-i-mglawica-czarodzieja</link>
      <description>&lt;![CDATA[Kolejne obiekty astrofoto trafiły na tapet. &#xA;Galaktyka Fajerwerk&#xA;Mgławica Czarodzieja&#xA;&#xA;Poprzednie wersje, są… Nie dość dobre, więc zbieram material od nowa.&#xA;Po pierwszej nocy wygląda to tak:&#xA;&#xA;Galaktyka Fajerwerk&#xA;div style=&#34;text-align: center;&#34;noc pierwsza: 228x30 sek = 1h46min/div&#xA;&#xA;Mgławica Czarodzieja&#xA;div style=&#34;text-align: center;&#34;noc pierwsza: 500x30 sek = 4h10min/div&#xA;&#xA;Niestety, prognozy pogody nie są optymistyczne. Następna sesja może w pierwszą noc września. Zobaczymy.&#xA;&#xA;#astrofotografia #astrophotography #Seestar #S50 #FireworksGalaxy #WizardNebula&#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Kolejne obiekty astrofoto trafiły na tapet.
* <a href="https://pl.wikipedia.org/wiki/NGC_6946" rel="nofollow"><em>Galaktyka Fajerwerk</em></a>
* <a href="https://pl.wikipedia.org/wiki/NGC_7380" rel="nofollow"><em>Mgławica Czarodzieja</em></a></p>

<p>Poprzednie wersje, są… Nie dość dobre, więc zbieram material od nowa.
Po pierwszej nocy wygląda to tak:</p>

<p><img src="https://blgpht.argilus.online/api/files/102/original/NGC_6946_228x30sec.jpg" alt="*Galaktyka Fajerwerk*" title="Galaktyka Fajerwerk">
<div style="text-align: center;"><em>noc pierwsza: 228x30 sek = 1h46min</em></div></p>

<p><img src="https://blgpht.argilus.online/api/files/103/original/NGC_7380_500x30sec.jpg" alt="*Mgławica Czarodzieja*" title="Mgławica Czarodzieja">
<div style="text-align: center;"><em>noc pierwsza: 500x30 sek = 4h10min</em></div></p>

<p>Niestety, prognozy pogody nie są optymistyczne. Następna sesja może w pierwszą noc września. Zobaczymy.</p>

<p><a href="/czach/tag:astrofotografia" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">astrofotografia</span></a> <a href="/czach/tag:astrophotography" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">astrophotography</span></a> <a href="/czach/tag:Seestar" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Seestar</span></a> <a href="/czach/tag:S50" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">S50</span></a> <a href="/czach/tag:FireworksGalaxy" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">FireworksGalaxy</span></a> <a href="/czach/tag:WizardNebula" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">WizardNebula</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/galaktyka-fajerwerk-i-mglawica-czarodzieja</guid>
      <pubDate>Fri, 28 Aug 2026 09:04:16 +0000</pubDate>
    </item>
    <item>
      <title>Mgławica Pelikan, część trzecia</title>
      <link>https://blog.argilus.online/czach/mglawica-pelikan-czesc-trzecia</link>
      <description>&lt;![CDATA[Trzecia noc z Pelikanem. Wczoraj zacząłem wcześniej, bo przed 23:00, i skończyłem ok. 4:40.&#xA;&#xA;Łącznie zebrałem 11h11 minut materiału (1342x30 sekund) z czego do stackowania wybranych zostało 1161 najlepszych.&#xA;&#xA;Poniższy obraz to wynik złożenia 901 klatek (część została odrzucona).&#xA;Tym razem odpuściłem sobie jedną czynność (SPCC — Spectrophotometric Color Calibration) i wydaje mi się, że wygląda to atrakcyjniej.&#xA;&#xA;Mgławica Pelikan&#xA;div style=&#34;text-align: center;&#34;901x30 sek = 7h30min/div&#xA;nav class=&#34;series-nav&#34;&#xA;    a href=&#34;https://blog.argilus.online/czach/mglawica-pelikan-czesc-druga&#34; class=&#34;series-nav-item prev&#34;&#xA;        span class=&#34;series-nav-direction&#34;← Poprzedni w serii/span&#xA;        span class=&#34;series-nav-title&#34;Mgławica Pelikan, część druga/span&#xA;    /a&#xA;/nav&#xA;&#xA;: I chyba ostatnia&#xA;&#xA;#astrofotografia #Seestar #S50 #IC5070 #MgławicaPelikan &#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Trzecia noc[^1] z <em>Pelikanem</em>. Wczoraj zacząłem wcześniej, bo przed 23:00, i skończyłem ok. 4:40.</p>

<p>Łącznie zebrałem 11h11 minut materiału (1342x30 sekund) z czego do stackowania wybranych zostało 1161 najlepszych.</p>

<p>Poniższy obraz to wynik złożenia 901 klatek (część została odrzucona).
Tym razem odpuściłem sobie jedną czynność (SPCC — <em>Spectrophotometric Color Calibration</em>) i wydaje mi się, że wygląda to atrakcyjniej.</p>

<p><img src="https://blgpht.argilus.online/api/files/101/original/IC_5070_901x30s.jpg" alt="Mgławica Pelikan" title="Mgławica Pelikan - IC 5070">
<div style="text-align: center;"><em>901x30 sek = 7h30min</em></div>

    <a href="https://blog.argilus.online/czach/mglawica-pelikan-czesc-druga" class="series-nav-item prev" rel="nofollow">
        <span class="series-nav-direction">← Poprzedni w serii</span>
        <span class="series-nav-title">Mgławica Pelikan, część druga</span>
    </a>
</p>

<p>[^1]: I chyba ostatnia</p>

<p><a href="/czach/tag:astrofotografia" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">astrofotografia</span></a> <a href="/czach/tag:Seestar" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Seestar</span></a> <a href="/czach/tag:S50" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">S50</span></a> <a href="/czach/tag:IC5070" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">IC5070</span></a> <a href="/czach/tag:Mg%C5%82awicaPelikan" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">MgławicaPelikan</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/mglawica-pelikan-czesc-trzecia</guid>
      <pubDate>Tue, 25 Aug 2026 06:37:45 +0000</pubDate>
    </item>
    <item>
      <title>Mgławica Pelikan, część druga</title>
      <link>https://blog.argilus.online/czach/mglawica-pelikan-czesc-druga</link>
      <description>&lt;![CDATA[Kolejna noc, więcej materiału.&#xA;Dziś będzie krótko, bez rozpisywania się.&#xA;Zebrany materiał po dwóch nocach — 574 lub 562 klatki po 30 sekund&#xA;&#xA;Wybrałem dwie różne ścieżki stackowania (składania) materiału i mam trzy pliki wynikowe.&#xA;&#xA;Najpierw zdjęcie po pierwszej nocy a później trzy z różnym podejściem do stackowania i strechingu.&#xA;&#xA;Wczorajszy plik&#xA;[122x30s / 2026 (2026-08-23)](https://photoz.argilus.online/api/v1/t/e432983ee&#xA;9d05fb5ba2c1c3f6bf4b3c46ea560f53/7qi9iqgg/fit2048)&#xA;div style=&#34;text-align: center;&#34;122x30 sek = 1h1min/div&#xA;&#xA;Dwa zdjęcia — stackowanie za pomocą skryptu w Pythonie&#xA;[562x30s / 2026 (2026-08-23)](https://photoz.argilus.online/api/v1/t/6b0d915bb&#xA;0c28435b22005b06e222dab0e3b92aed/7qi9iqgg/fit2048)&#xA;&#xA;[562x30s / 2026 (2026-08-23)](https://photoz.argilus.online/api/v1/t/798641e22&#xA;51d536b5321fa71e95dc636576573956/7qi9iqgg/fit2048)&#xA;div style=&#34;text-align: center;&#34;562x30 sek = 4h51min/div&#xA;&#xA;Stackowanie za pomocą skryptu Sirila&#xA;[574x30s Obi / 2026 (2026-08-23)](https://photoz.argilus.online/api/v1/t/40477&#xA;07b4ae51c073022b9683562857af9ed806ef/7qi9iqgg/fit2048)&#xA;div style=&#34;text-align: center;&#34;574x30 sek = 4h57mindiv&#xA;&#xA;nav class=&#34;series-nav&#34;&#xA;    a href=&#34;https://blog.argilus.online/czach/mglawica-pelikan-cz&#34; class=&#34;series-nav-item prev&#34;&#xA;        span class=&#34;series-nav-direction&#34;← Poprzedni w serii/span&#xA;        span class=&#34;series-nav-title&#34;Mgławica Pelikan, część pierwsza/span&#xA;    /a&#xA;  a href=&#34;https://blog.argilus.online/czach/mglawica-pelikan-czesc-trzecia&#34; class=&#34;series-nav-item next&#34;&#xA;        span class=&#34;series-nav-direction&#34;Następny w serii →/span&#xA;        span class=&#34;series-nav-title&#34;Mgławica Pelikan, część trzecia (ostatnia)/span&#xA;    /a&#xA;/nav&#xA;&#xA;#astrofotografia #Seestar #S50 #MgławicaPelikan #IC5070 &#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Kolejna noc, więcej materiału.
Dziś będzie krótko, bez rozpisywania się.
Zebrany materiał po dwóch nocach — 574 lub 562 klatki po 30 sekund</p>

<p>Wybrałem dwie różne ścieżki stackowania (składania) materiału i mam trzy pliki wynikowe.</p>

<p>Najpierw zdjęcie po pierwszej nocy a później trzy z różnym podejściem do stackowania i strechingu.</p>

<p>Wczorajszy plik
<img src="https://photoz.argilus.online/api/v1/t/e432983e9d05fb5ba2c1c3f6bf4b3c46ea560f53/7qi9iqgg/fit_1280" alt="122x30s / 2026 (2026-08-23)">
<div style="text-align: center;"><em>122x30 sek = 1h1min</em></div></p>

<p>Dwa zdjęcia — stackowanie za pomocą skryptu w Pythonie
<img src="https://photoz.argilus.online/api/v1/t/6b0d915b0c28435b22005b06e222dab0e3b92aed/7qi9iqgg/fit_1280" alt="562x30s / 2026 (2026-08-23)"></p>

<p><img src="https://photoz.argilus.online/api/v1/t/798641e251d536b5321fa71e95dc636576573956/7qi9iqgg/fit_1280" alt="562x30s / 2026 (2026-08-23)">
<div style="text-align: center;"><em>562x30 sek = 4h51min</em></div></p>

<p>Stackowanie za pomocą skryptu Sirila
<img src="https://photoz.argilus.online/api/v1/t/404707b4ae51c073022b9683562857af9ed806ef/7qi9iqgg/fit_1280" alt="574x30s Obi / 2026 (2026-08-23)">
<div style="text-align: center;"><em>574x30 sek = 4h57min</em><div></p>


    <a href="https://blog.argilus.online/czach/mglawica-pelikan-cz" class="series-nav-item prev" rel="nofollow">
        <span class="series-nav-direction">← Poprzedni w serii</span>
        <span class="series-nav-title">Mgławica Pelikan, część pierwsza</span>
    </a>
  <a href="https://blog.argilus.online/czach/mglawica-pelikan-czesc-trzecia" class="series-nav-item next" rel="nofollow">
        <span class="series-nav-direction">Następny w serii →</span>
        <span class="series-nav-title">Mgławica Pelikan, część trzecia (ostatnia)</span>
    </a>


<p><a href="/czach/tag:astrofotografia" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">astrofotografia</span></a> <a href="/czach/tag:Seestar" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Seestar</span></a> <a href="/czach/tag:S50" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">S50</span></a> <a href="/czach/tag:Mg%C5%82awicaPelikan" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">MgławicaPelikan</span></a> <a href="/czach/tag:IC5070" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">IC5070</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/mglawica-pelikan-czesc-druga</guid>
      <pubDate>Mon, 24 Aug 2026 09:11:29 +0000</pubDate>
    </item>
    <item>
      <title>Mgławica Pelikan, część pierwsza</title>
      <link>https://blog.argilus.online/czach/mglawica-pelikan-cz</link>
      <description>&lt;![CDATA[Od dziś, przez kilka następnych dni, będę prezentować, jak będzie się zmieniać obraz Mgławicy Pelikan w zależności od zebranego materiału.&#xA;&#xA;Od czegoś trzeba zacząć&#xA;&#xA;Obudziłem się w nocy około godziny 03:00 i zauważyłem, że niebo jest czyste. No to biorę się za Pelikana.&#xA;Mgławica ta jest dla mnie dostępna od około północy (w sensie godziny) — wcześniej przeszkadza siatka dla kotów. ;-)&#xA;&#xA;Teraz, mniej więcej do około 04:30 mogę coś tam zbierać.&#xA;&#xA;Ustawiłem teleskop i… niech się dzieje magia.&#xA;&#xA;Noc pierwsza&#xA;Zebrałem 171 klatek po 30 sekund każda, z których wybrałem 122 najlepsze.&#xA;&#xA;Stackowanie&#xA;Zdjęcia składałem (ta, ja) za pomocą programu Siril&#xA;Po złożeniu obraz jest ciemny a po włączeniu opcji AutoStretch wyglądał on tak:&#xA;&#xA;PhotoPrism / 2026 (2026-08-23)&#xA;&#xA;GraXpert&#xA;Trochę wyciągania tła, dekonwolucja, odszumianie i obraz wygląda tak&#xA;&#xA;PhotoPrism / 2026 (2026-08-23)&#xA;&#xA;Siril - stretching, Lightroom - kosmetyka&#xA;Pracuję osobno na wersji bez gwiazd…&#xA;&#xA;PhotoPrism / 2026 (2026-08-23)&#xA;&#xA;...i z samymi gwiazdami&#xA;&#xA;PhotoPrism / 2026 (2026-08-23)&#xA;&#xA;Finalnie, po pierwszej nocy obraz wygląda tak:&#xA;122x30s / 2026 (2026-08-23)&#xA;122 klatki po 30 sekund, czyli razem 61 minut.&#xA;&#xA;nav class=&#34;series-nav&#34;&#xA;    a href=&#34;https://blog.argilus.online/czach/mglawica-pelikan-czesc-druga&#34; class=&#34;series-nav-item next&#34;&#xA;        span class=&#34;series-nav-direction&#34;Następny w serii →/span&#xA;        span class=&#34;series-nav-title&#34;Mgławica Pelikan, część druga/span&#xA;    /a&#xA;/nav&#xA;&#xA;#astrofotografia #Seestar #S50 #IC5070 #MgławicaPelikan&#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Od dziś, przez kilka następnych dni, będę prezentować, jak będzie się zmieniać obraz <a href="https://pl.wikipedia.org/wiki/Mg%C5%82awica_Pelikan" rel="nofollow"><em>Mgławicy Pelikan</em></a> w zależności od zebranego materiału.</p>

<h2 id="od-czegoś-trzeba-zacząć">Od czegoś trzeba zacząć</h2>

<p>Obudziłem się w nocy około godziny 03:00 i zauważyłem, że niebo jest czyste. No to biorę się za <em>Pelikana</em>.
Mgławica ta jest dla mnie dostępna od około północy (w sensie godziny) — wcześniej przeszkadza siatka dla kotów. ;–)</p>

<p>Teraz, mniej więcej do około 04:30 mogę coś tam zbierać.</p>

<p>Ustawiłem teleskop i… niech się dzieje magia.</p>

<h2 id="noc-pierwsza">Noc pierwsza</h2>

<p>Zebrałem 171 klatek po 30 sekund każda, z których wybrałem 122 najlepsze.</p>

<h3 id="stackowanie">Stackowanie</h3>

<p>Zdjęcia składałem (ta, ja) za pomocą programu <a href="https://siril.org" rel="nofollow"><em>Siril</em></a>
Po złożeniu obraz jest ciemny a po włączeniu opcji <em>AutoStretch</em> wyglądał on tak:</p>

<p><a href="https://photoz.argilus.online/api/v1/t/382e02985c85b5771381619e893a1ab89e6e34ec/7qi9iqgg/fit_2048" rel="nofollow"><img src="https://photoz.argilus.online/api/v1/t/382e02985c85b5771381619e893a1ab89e6e34ec/7qi9iqgg/fit_1280" alt="PhotoPrism / 2026 (2026-08-23)"></a></p>

<h3 id="graxpert">GraXpert</h3>

<p>Trochę wyciągania tła, dekonwolucja, odszumianie i obraz wygląda tak</p>

<p><a href="https://photoz.argilus.online/api/v1/t/51d382f5516ef6f7c719382f03fabe755343ce39/7qi9iqgg/fit_2048" rel="nofollow"><img src="https://photoz.argilus.online/api/v1/t/51d382f5516ef6f7c719382f03fabe755343ce39/7qi9iqgg/fit_1280" alt="PhotoPrism / 2026 (2026-08-23)"></a></p>

<h3 id="siril-stretching-lightroom-kosmetyka">Siril – stretching, Lightroom – kosmetyka</h3>

<p>Pracuję osobno na wersji bez gwiazd…</p>

<p><a href="https://photoz.argilus.online/api/v1/t/f18d079641000697b5cbc1a32ed6896602556633/7qi9iqgg/fit_2048" rel="nofollow"><img src="https://photoz.argilus.online/api/v1/t/f18d079641000697b5cbc1a32ed6896602556633/7qi9iqgg/fit_1280" alt="PhotoPrism / 2026 (2026-08-23)"></a></p>

<p>...i z samymi gwiazdami</p>

<p><a href="https://photoz.argilus.online/api/v1/t/5c41ff4d1eb68e5cc5f6b7a66ce0a9e16942d51d/7qi9iqgg/fit_2048" rel="nofollow"><img src="https://photoz.argilus.online/api/v1/t/5c41ff4d1eb68e5cc5f6b7a66ce0a9e16942d51d/7qi9iqgg/fit_1280" alt="PhotoPrism / 2026 (2026-08-23)"></a></p>

<p>Finalnie, po pierwszej nocy obraz wygląda tak:
<a href="https://photoz.argilus.online/api/v1/t/e432983e9d05fb5ba2c1c3f6bf4b3c46ea560f53/7qi9iqgg/fit_2048" rel="nofollow"><img src="https://photoz.argilus.online/api/v1/t/e432983e9d05fb5ba2c1c3f6bf4b3c46ea560f53/7qi9iqgg/fit_1280" alt="122x30s / 2026 (2026-08-23)"></a>
122 klatki po 30 sekund, czyli razem <strong>61 minut</strong>.</p>


    <a href="https://blog.argilus.online/czach/mglawica-pelikan-czesc-druga" class="series-nav-item next" rel="nofollow">
        <span class="series-nav-direction">Następny w serii →</span>
        <span class="series-nav-title">Mgławica Pelikan, część druga</span>
    </a>


<p><a href="/czach/tag:astrofotografia" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">astrofotografia</span></a> <a href="/czach/tag:Seestar" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Seestar</span></a> <a href="/czach/tag:S50" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">S50</span></a> <a href="/czach/tag:IC5070" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">IC5070</span></a> <a href="/czach/tag:Mg%C5%82awicaPelikan" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">MgławicaPelikan</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/mglawica-pelikan-cz</guid>
      <pubDate>Sun, 23 Aug 2026 08:22:20 +0000</pubDate>
    </item>
  </channel>
</rss>