Halaman ini ditampilkan dalam bahasa Indonesia, bahasa yang diminta peramban Anda.
Kode halaman ini tidak berjalan.
Membuka index.html langsung dari sebuah folder memblokir modul JavaScript, sehingga tidak akan terjadi apa-apa saat Anda memilih beberapa foto. Sajikan folder tersebut lewat http sebagai gantinya:
Terbuka begitu Anda memilih berkas di atas.siap — putuskan koneksi internet dan ini akan tetap berfungsi.tidak tersedia di peramban ini (semua yang lain tetap berfungsi).membutuhkan https:// atau localhost untuk menyimpan cache demi penggunaan luring.penyimpanan cache tidak tersedia di sini, tetapi tidak ada yang diunggah dengan cara apa pun.file Anda tidak pergi ke mana pun. {total} file dimuat, semuanya milik halaman ini sendiri. {platform}sesuatu menghubungi {hosts}, dan itu tidak pernah dilakukan alat ini. Anggap itu layak diselidiki. {platform}Skrip iklan, pengukuran, dan tombol donasi milik halaman ini dimuat dari {hosts} host; tidak satu pun diberi sebuah file atau satu byte darinya.Skrip iklan, pengukuran, dan tombol donasi milik halaman ini dimuat dari {hosts} host; tidak satu pun diberi sebuah file atau satu byte darinya.Ada yang tidak berjalan dengan benar: {detail}. Muat ulang halaman untuk memulai dari awal.Membaca {count} file…Membaca {count} file…Coba sebuah contohMembuat contoh…Peramban ini tidak dapat membuat contoh. Silakan pilih berkas saja.
Penumpuk Gambar — gabungkan sebuah burst, file RAW termasuk
Dua puluh bingkai menjadi satu, tanpa dua puluh unggahan dan tanpa pengubah RAW.
● foto Anda tidak pernah diunggah. Tidak ada server.
Setiap bingkai dibuka, didekodekan, disejajarkan, digabungkan, dan ditulis oleh peramban Anda sendiri, di mesin Anda sendiri. Setumpuk dua puluh file RAW 60 MB adalah sekitar satu gigabita foto, dan tidak satu byte pun darinya berpindah: alatnya tidak punya fitur jaringan dalam bentuk apa pun, dan file-nya dibaca langsung dari disk Anda oleh sebuah worker yang tidak punya tujuan untuk mengirim apa pun.
✗ Tanpa unggah
✗ Tanpa akun
✗ Tanpa tanda air
✓ Membaca RAW
✓ Jalan tanpa internet
✓ Sumber terbuka
Pemeriksaan langsung:memeriksa…
Luring:memeriksa…
Tidak perlu percaya begitu saja: buka DevTools, perhatikan tab Network, lalu tumpuk satu folder file RAW. Tidak satu pun permintaan membawa sebuah foto, gambar mini, nama file, atau model kamera. Atau cabut koneksi internet lalu tetap tumpuk mereka — tidak ada yang berubah tentang alatnya.
Cara memverifikasi klaim privasi ini
Foto Anda tidak punya tujuan ke mana pun. Content-Security-Policy menyebut satu per satu setiap alamat yang boleh dihubungi halaman ini, dan tidak satu pun milik situs ini. Tidak ada titik akhir di sini tempat file Anda bisa dikumpulkan, dan tidak ada kode yang akan mengirimnya seandainya ada — tidak ada fetch, tidak ada XMLHttpRequest, tidak ada sendBeacon, di src/ maupun di workernya.
File RAW-nya dibaca, bukan diunggah — dan nyaris tidak dibaca. Sebuah file RAW kamera sudah memuat sebuah JPEG berukuran penuh yang digambar kameranya ketika ia mengambil bidikannya. Alat ini menemukannya dengan menyusuri beberapa entri direktori lalu meminta satu irisan, dan pada file 60 MB itu biasanya di bawah seratus kilobita. Halamannya menunjukkan angka itu kepada Anda dibandingkan dengan ukuran file Anda sambil Anda bekerja. Data sensornya sama sekali tidak pernah dibaca.
Pekerjaannya terjadi di sebuah Worker di mesin ini, bukan di sebuah server. Inilah satu-satunya alat di sini yang memakai satu, karena penumpukan adalah hitungan bermenit-menit alih-alih berdetik-detik dan halaman yang membeku tidak bisa menampilkan kemajuan atau dibatalkan. Sebuah Worker adalah utas kedua di peramban yang sama ini — lihat src/worker.js. Ia diserahi file-nya sendiri, dan itu gratis, karena sebuah pegangan file bukanlah byte-nya; dan ia punya Content-Security-Policy yang persis sama dengan halamannya, yang artinya tidak punya tujuan untuk mengirimnya.
Tidak ada apa pun tentang kumpulannya yang dilaporkan ke mana pun. Berapa bingkai yang Anda tumpuk, kamera apa yang menulisnya, seberapa jauh masing-masing sudah bergerak, metode mana yang Anda pilih, dan berapa lama waktunya ditahan di memori halaman ini sampai Anda menutupnya. Tidak ada peristiwa analitik khusus di repositori ini yang membawa satu pun darinya, dan satu pertanyaan yang diajukan situs ini setelah sebuah unduhan mengirim sebuah jempol ke atas atau ke bawah dan nama alatnya, tidak lebih.
Jalan tanpa internet. Putuskan koneksi jaringan dan alat ini tidak berubah, karena sejak awal memang tidak ada langkah jaringan di dalamnya. Workernya dan setiap modul yang dimuatnya disinggahkan service worker milik halaman ini sendiri, jadi salinan yang terpasang menumpuk file RAW dengan jaringan tercabut.
Periksa sendiri. Anda tidak perlu memercayai semua ini begitu saja. Halaman ini dihasilkan dari templat dan konfigurasi di repositori oleh skrip build yang bisa Anda baca dan jalankan sendiri, dan hasilnya dikirim ke cabang dist — jadi Anda bisa membandingkan apa yang disajikan dengan apa yang dihasilkan oleh build dari kode sumbernya:
File yang layak dibaca lebih dulu adalah config/site.toml untuk Content-Security-Policy, src/raw.js untuk cara sebuah file RAW dibuka dengan membaca kilobita alih-alih megabita, src/stack.js untuk hitungan setiap metodenya, dan src/plan.js untuk asal angka memori dan pendekodean yang ditampilkan di halamannya — mereka jawaban file itu, bukan perkiraan.
Jika perangkat lunak keamanan kantor Anda memperingatkan soal unggahan. Ia mengawasi saat sebuah berkas dipilih di peramban, dan tidak bisa tahu apakah halaman ini berniat mengirimnya — jadi ia memperingatkan saat pemilihan. Tidak ada yang dikirim dari sini: buka alat pengembang peramban, pindah ke Network, lalu pilih sebuah berkas. Tidak ada permintaan yang membawanya, dan tidak ada permintaan sama sekali selain pratinjau lokal halaman ini. Pemeriksaan yang sama bisa dilakukan tim TI Anda dalam setengah menit.
1 Pilih bingkainya
File RAW dibuka dengan membaca JPEG berukuran penuh yang sudah ditulis kameranya di dalamnya — beberapa kilobita direktori, lalu satu irisan. Data sensornya tidak pernah didekodekan, jadi bingkai 60 MB terbuka kira-kira secepat sebuah JPEG. Apa artinya bagi hasilnya.
Seret sebuah bingkai lewat pegangan ⋮⋮-nya untuk mengurutkan ulang daftar, atau tekan panah atas dan bawah selagi pegangan itu terfokus. Urutannya tetap milik Anda: itu hanya urutan daftar di sini, dan yang lain diluruskan ke bingkai yang bertanda Rujukan.
2 Cara menggabungkannya
Buang di luar Lebih rendah menolak lebih banyak, dan menolak detail yang sungguhan bersamanya. Dua simpangan baku adalah titik mulai yang biasa.
Ketajaman diukur di rentang Lebih besar mengambil wilayah utuh dari satu bingkai; lebih kecil mengikuti detail halus dan bisa mengacak latar yang mulus antar bingkai.
1 bingkai{count} bingkaiBelum ada bingkaiRujukanPakai sebagai rujukanPindahkan {name} — seret, atau pakai panah atas dan bawahBuang{width} × {height}RAW — pratinjau {width} × {height} milik kameranya sendiri{camera} — pratinjau {width} × {height}Tidak ada pratinjau yang bisa ditemukan di dalam file RAW ini{read} dibaca dari {total}Merata-ratakan setiap bingkai. Derau acak sama seringnya tinggi dan rendah, jadi merata-ratakan {count} bingkai memangkasnya kira-kira {factor} kali. Yang dipakai pada kumpulan yang stabil, dan yang akan dirusak satu burung yang lewat.Mengambil nilai tengah setiap piksel. Apa pun yang hanya ada di sebagian bingkainya — seorang turis, sebuah mobil, sebuah pesawat — lenyap. Ia satu-satunya metode yang harus menahan setiap bingkai sekaligus, dan itulah sebabnya ia bisa berpita di bawah.Mempelajari apa biasanya setiap piksel, lalu merata-ratakan hanya nilai yang sepakat. Hasil mediannya dengan pengurangan derau rata-ratanya. Ia membaca bingkainya dua kali.Menyimpan nilai paling terang yang pernah dimiliki setiap piksel. Inilah yang mengubah runtutan pencahayaan pendek menjadi jejak bintang, dan yang merakit sebuah kembang api dari bingkainya sendiri.Menyimpan nilai paling gelap yang pernah dimiliki setiap piksel. Sebuah piksel hanya tetap terang kalau ia terang di setiap bingkainya, jadi pantulan, lampu depan, dan tetes hujan yang tercahayai ikut hilang.Menjumlahkan bingkainya tanpa membagi: apa yang akan dikumpulkan satu pencahayaan {count} kali lebih panjang. Ia terpotong di puncaknya, persis seperti pencahayaan itu. Pakai penggeser pencahayaannya untuk mengembalikannya.Mengambil setiap bagian gambarnya dari bingkai mana pun yang bagian itu terfokus di dalamnya. Foto sebuah subjek kecil di sepanjang cincin fokus dan ini merakit bagian yang tajamnya.Menemukan seberapa jauh setiap bingkai bergeser lalu memindahkannya kembali, sampai sepersekian piksel. Membetulkan goyangan tangan dan pergeseran tripod. Ia tidak bisa membetulkan rotasi.Juga menemukan rotasi dan skalanya. Berbiaya satu pengukuran lagi per bingkai dan sama sekali tidak berbiaya apa pun ketika bingkainya ternyata lurus. Rotasi hanya pernah dipulihkan di dalam setengah putaran.Menumpuk bingkainya persis seperti yang diberikan. Benar untuk tripod terkunci atau runtutan intervalometer, dan keliru untuk apa pun yang dipegang tangan.Setiap bingkai didekodekan pada ukuran ini oleh dekoder milik peramban sendiri, jadi setelan yang lebih kecil berarti pekerjaan yang lebih sedikit sekaligus memori yang lebih sedikit.Dikalikan ke dalam hasilnya di ujung sekali, setelah hitungannya dan sebelum pembulatannya.Menjumlahkan {count} bingkai hampir pasti akan terpotong di puncaknya. Turunkan ini ke sekitar {suggested} untuk melihat apa yang terkumpul.{width} × {height}sekitar {mb} MB{count}, satu untuk setiap bingkai{count} — setiap bingkai, {passes} kali{count} — setiap bingkai, sekali untuk masing-masing {bands} pita{read} dari {total} di diskIni tidak akan muat di memori dalam satu potong, jadi gambarnya dipotong menjadi {bands} pita dan bingkainya dibaca lagi untuk masing-masingnya. Memilih {suggested} sebagai gantinya akan menjadikannya satu jalan.Ini tidak akan muat di memori dalam satu potong, jadi gambarnya dipotong menjadi {bands} pita dan bingkainya dibaca lagi untuk masing-masingnya. Lebih sedikit bingkai, atau resolusi kerja yang lebih kecil, akan menjadikannya satu jalan.Melihat ke dalam {name}…Membaca {name}…Mengukur seberapa jauh {name} bergerak…Menumpuk — {done} dari {total} bingkai terbacaMenumpuk — pita {band} dari {bands}, {done} dari {total} bingkai terbacaMenulis gambarnya…{width} × {height}, {size} — {count} bingkai digabungkan dalam {seconds} detikSetiap bingkai diukur lalu dipindahkan ke tempatnya.{count} dari {total} bingkai tidak bisa diukur dengan yakin dan dibiarkan di tempatnya.Bingkainya ditumpuk persis seperti yang diberikan.{count} bingkai melaporkan rotasi yang terlalu besar untuk sebuah burst, dan dibetulkan dengan pergeseran saja.Memindahkan mereka saling menjauh meninggalkan tepi yang tidak dicapai setiap bingkainya, dan tepi itu sudah dirapikan.Tambahkan setidaknya satu gambar dulu.Tidak satu pun file ini bisa dibuka sebagai sebuah gambar.Penumpukan butuh setidaknya dua bingkai.Ada yang tidak beres saat menumpuk. Kalau salah satu file ini tidak biasa, coba ia sendirian.Peramban kehabisan memori. Coba resolusi kerja yang lebih kecil, atau lebih sedikit bingkai.{name} tidak bisa dibuka sebagai sebuah gambar dan ditinggalkan.Tunggu tumpukan ini selesai sebelum menambahkan bingkai lagi, atau batalkan.foto Anda tidak pergi ke mana pun. {total} file dimuat. {platform}sesuatu menghubungi {hosts}, dan itu tidak pernah dilakukan alat ini. {platform}Skrip iklan, pengukuran, dan tombol donasi milik halaman ini dimuat dari {hosts} host; tidak satu pun diberi sebuah foto.Skrip iklan, pengukuran, dan tombol donasi milik halaman ini dimuat dari {hosts} host; tidak satu pun diberi sebuah foto.
Apakah ini berhasil?
Apa yang salah?
Terima kasih — ini membantu.
Hanya jawabannya yang dikirim, dan hanya saat Anda menekan tombol. File Anda, namanya, atau apa pun tentangnya tidak pernah dikirim.
# Penumpuk Gambar — gabungkan sebuah burst, file RAW termasuk
Dua puluh bingkai menjadi satu, tanpa dua puluh unggahan dan tanpa pengubah RAW.
> Gabungkan sebuah burst foto menjadi satu: rata-ratakan untuk membunuh derau, ambil mediannya untuk membuang orang dari sebuah pemandangan, terangkan untuk jejak bintang, atau tumpuk fokus sebuah bidikan makro. Membaca CR2, NEF, ARW, DNG, RAF, dan CR3 dengan menarik keluar pratinjau milik kameranya sendiri. Berjalan sepenuhnya di peramban Anda.
Halaman ini adalah alat interaktif yang berjalan sepenuhnya di peramban Anda, di https://abox.tools/id/tumpuk-gambar/ — tidak ada yang Anda berikan padanya yang diunggah. Berikut ini semua yang dikatakan halaman tentang alat ini dalam kata-kata; untuk memakainya, buka alamat tersebut.
## foto Anda **tidak pernah diunggah**. Tidak ada server.
Setiap bingkai dibuka, didekodekan, disejajarkan, digabungkan, dan ditulis oleh peramban Anda sendiri, di mesin Anda sendiri. Setumpuk dua puluh file RAW 60 MB adalah sekitar satu gigabita foto, dan tidak satu byte pun darinya berpindah: alatnya tidak punya fitur jaringan dalam bentuk apa pun, dan file-nya dibaca langsung dari disk Anda oleh sebuah worker yang tidak punya tujuan untuk mengirim apa pun.
- ✗ Tanpa unggah
- ✗ Tanpa akun
- ✗ Tanpa tanda air
- ✓ Membaca RAW
- ✓ Jalan tanpa internet
- ✓ Sumber terbuka
## Cara menumpuk sekumpulan foto di peramban Anda
1. **Pilih bingkainya.** Sebuah burst, sekumpulan bracket, sebuah runtutan intervalometer, atau satu folder file RAW. Masing-masing dibuka begitu ia tiba dan barisnya memberi tahu Anda apa yang keluar darinya — untuk file RAW, kameranya, ukuran pratinjau yang ditemukan di dalamnya, dan betapa sedikit file-nya yang harus dibaca untuk menemukannya.
2. **Pilih metode yang cocok dengan apa yang ingin Anda hilangkan.** Derau: rata-rata, atau sigma-clip kalau ada yang bergerak. Orang, mobil, atau pesawat yang lewat: median. Langit gelap yang ingin Anda ubah menjadi jejak bintang: terangkan. Bidikan makro yang diambil di sepanjang cincin fokus: penumpukan fokus. Catatan di bawah menunya mengatakan apa yang dilakukan masing-masing pada jumlah bingkai Anda yang tertentu itu.
3. **Putuskan apakah bingkainya perlu disejajarkan.** Dipegang tangan: ya, geser saja. Dipegang tangan dan Anda juga berputar: geser, rotasi, dan skala. Tripod terkunci atau sebuah intervalometer: tidak, dan ia akan lebih cepat. Setiap bingkai diukur terhadap bingkai yang bertanda rujukan, dan itu yang pertama sampai Anda berkata lain: “Pakai sebagai rujukan” memindahkan tandanya dan meninggalkan daftarnya pada urutan yang Anda susun.
4. **Baca keempat angkanya, lalu tekan tombolnya.** Sebelum apa pun berjalan, halamannya mengatakan seberapa besar hasilnya nanti, kira-kira berapa banyak memori yang akan dipakainya, berapa kali bingkainya akan didekodekan, dan berapa banyak file Anda yang dibaca. Kalau kumpulannya tidak akan muat di memori dalam satu potong, ia mengatakannya, dan mengatakan resolusi kerja mana yang akan membereskannya.
## Versi lebih lengkap
[Cara menumpuk foto untuk mengurangi derau, atau membuang orang](https://abox.tools/id/panduan/tumpuk-foto-untuk-mengurangi-derau/): Menumpuk menggabungkan sebuah burst bingkai menjadi satu gambar. Metode mana yang dipakai tergantung apa yang ingin Anda hilangkan: derau, orang yang lewat, atau kedalaman bidang yang tipis pada sebuah bidikan makro. Cara kerja masing-masing, berapa harganya, dan di mana file RAW cocok.
## Juga ada di dalam kotak
- [Penyensor Gambar](https://abox.tools/id/sensor-gambar/): Apa yang Anda tutup dihapus dari file-nya, bukan ditutupi di dalamnya.
- [Penampil dan Penghapus EXIF](https://abox.tools/id/hapus-data-exif/): Lihat apa yang dikatakan sebuah foto tentang Anda. Lalu keluarkan.
- [Penampil DICOM](https://abox.tools/id/penampil-dicom/): CT, MR, rontgen, dan USG, lengkap dengan jendela, headernya, dan pengukurannya.
- [Gambar ke ICO](https://abox.tools/id/buat-favicon/): Satu gambar masuk. Setiap ukuran yang diminta peramban, Windows, atau sebuah Mac, keluar.
## Pertanyaan
### Apakah foto saya diunggah ke suatu tempat?
Tidak. Setiap bingkai dibuka, didekodekan, disejajarkan, ditumpuk, dan ditulis oleh peramban Anda sendiri di perangkat keras Anda sendiri. Alat ini tidak punya fitur jaringan dalam bentuk apa pun — ia tidak pernah mengambil apa pun dan tidak pernah mengirim apa pun — dan `Content-Security-Policy` halaman ini menyebut satu per satu setiap alamat yang boleh dihubunginya, dan tidak satu pun milik situs ini. Muat halamannya sekali, cabut koneksi internet, dan ia tetap bekerja. Itu lebih penting di sini daripada di kebanyakan alat semata karena volumenya: setumpuk dua puluh bingkai RAW adalah sekitar satu gigabita, dan mengunggah satu gigabita foto untuk diambil rata-ratanya adalah hal yang justru ingin dihindari alat ini.
### Format RAW mana saja yang bisa dibacanya, dan bagaimana?
CR2, CR3, NEF, NRW, ARW, SR2, SRF, DNG, ORF, RAF, RW2, PEF, SRW, 3FR, IIQ, DCR, KDC, MRW, MEF, RWL, dan beberapa lagi — dan itu sebagian besar dari apa yang ditulis kamera. Yang dibacanya dari mereka adalah pratinjau JPEG berukuran penuh yang digambar kameranya sendiri ketika ia mengambil bidikannya: gambar di punggung kameranya, dan gambar yang digambar sistem operasi Anda sebagai gambar mininya. Ia ditemukan dengan menyusuri struktur direktori file-nya, yang berbiaya beberapa pembacaan beberapa kilobita masing-masing, lalu mengambil satu irisan. **Ia bukan hasil demosaik data sensornya.** Hasilnya membawa keseimbangan putih dan gaya gambar kameranya pada delapan bit per kanal, alih-alih dua belas atau empat belas bit data sensor linear yang akan diberikan sebuah pengubah RAW kepada Anda.
### Kalau begitu kenapa tidak mendekodekan data sensornya dengan benar?
Karena itu berarti menyertakan LibRaw atau dcraw — sebuah mesin kedua berukuran puluhan megabita, untuk satu keluarga format, yang sebagian besarnya adalah skema kompresi per pabrikan. Pertukaran itu diperdebatkan sampai tuntas di `docs/what-can-be-built-here.md` di sumber situs ini, tempat RAW kamera sudah ada di daftar yang dikesampingkan sejak sebelum alat ini ada. Yang berubah bukan jawaban atas pertanyaan itu melainkan penemuan bahwa penumpukan tidak membutuhkannya: pratinjaunya beresolusi penuh, mereka toh yang akan diberikan kameranya kepada Anda sebagai sebuah JPEG, dan membacanya kira-kira seratus kali lebih cepat daripada mendemosaik. Kalau Anda menginginkan data sensornya, kembangkan bingkainya di sebuah pengubah RAW lebih dulu lalu tumpuk TIFF atau JPEG yang dihasilkannya — alat ini menerima itu juga.
### Berapa banyak bingkai yang bisa ditanganinya, dan seberapa besar?
Enam dari ketujuh metodenya mengalir: mereka menahan satu akumulator lalu membaca setiap bingkai tepat sekali, jadi seratus bingkai berbiaya memori yang sama dengan dua dan satu-satunya yang bertambah adalah waktunya. Mediannya adalah pengecualiannya, karena nilai tengah sebuah kumpulan tidak bisa diketahui sampai Anda punya seluruhnya, jadi ia menahan setiap bingkai sekaligus — dua puluh bingkai 24 megapiksel adalah sekitar 1,4 GB, dan tidak ada peramban yang akan memberikannya kepada Anda. Ketika itu terjadi, gambarnya dipotong menjadi pita mendatar lalu ditumpuk sepita demi sepita, dan itu berbiaya membaca ulang bingkainya untuk setiap pitanya. Halamannya memperhitungkan semua ini sebelum Anda menekan tombolnya lalu menunjukkan angkanya kepada Anda, jadi jalan yang lambat tidak pernah menjadi kejutan.
### Apa sebenarnya yang dilakukan penyejajaran bingkainya?
Ia menemukan seberapa jauh setiap bingkai bergerak relatif terhadap bingkai rujukannya lalu memindahkannya kembali, sampai sepersekian piksel. Metodenya adalah korelasi fase: pergeseran antara dua gambar muncul sebagai perbedaan fase antara spektrumnya, jadi satu transformasi Fourier masing-masing menemukan pergeseran dua ratus piksel semurah pergeseran dua piksel. Setelan yang kedua juga memulihkan rotasi dan skalanya, dengan trik yang sama yang diterapkan pada spektrumnya dalam koordinat log-polar. Semuanya bersifat menyeluruh — satu pergeseran, satu sudut, satu skala untuk seluruh bingkainya — jadi ia membetulkan kamera yang bergerak dan tidak bisa membetulkan subjek yang bergerak, atau foto yang diambil dari satu langkah ke kiri. Satu akibat yang kelihatan: bingkai yang dipindahkan dua puluh piksel ke kiri tidak lagi mencapai tepi kanannya, jadi hasilnya dirapikan ke bagian yang dicakup setiap bingkainya. Itulah sebabnya tumpukan yang disejajarkan kembali sedikit lebih kecil daripada bingkai yang masuk ke dalamnya, dan itu satu-satunya alternatif dari sebuah batas gelap yang terbuat dari bingkai yang tidak ada di sana.
### Metode mana yang sebaiknya saya pakai?
**Rata-rata** untuk derau, pada kumpulan yang tidak ada yang bergerak: ia memangkas derau acak kira-kira sebesar akar jumlah bingkainya. **Median** untuk membuang hal-hal yang hanya ada sebagian waktu — pemakaian klasiknya adalah memotret sebuah alun-alun yang ramai selusin kali lalu mendapatkannya kosong. **Sigma clipping** ketika Anda ingin keduanya: ia mempelajari apa biasanya setiap piksel lalu merata-ratakan hanya nilai yang sepakat, jadi ia punya kekebalan median terhadap mobil yang lewat dan pengurangan derau rata-rata. **Terangkan** untuk jejak bintang, kembang api, dan lukisan cahaya. **Gelapkan** untuk membuang apa pun yang terang yang bergerak. **Tambahkan** untuk meniru satu pencahayaan panjang. **Penumpukan fokus** untuk bidikan makro yang diambil di sepanjang cincin fokus.
### Kenapa hasil saya delapan bit padahal file RAW saya empat belas?
Karena yang ditumpuk adalah pratinjau milik kameranya sendiri, yang berupa sebuah JPEG. Layak dikatakan bahwa penumpukan memulihkan sebagian dari yang dikorbankan itu: merata-ratakan enam belas bingkai delapan bit memberi hasil dengan gradasi yang sungguh lebih halus daripada yang dimiliki satu pun di antaranya, karena derau yang membuat pembulatan setiap bingkai berbeda justru itulah yang membuat rata-ratanya mendarat di antara tingkatannya. Hitungannya di sini dikerjakan dalam bilangan titik-mengambang lalu dibulatkan sekali di ujungnya, jadi tidak ada satu pun dari itu yang dibuang di tengah jalan. Ia tetap tidak sama dengan menumpuk data sensor linear, dan alat ini tidak berpura-pura sebaliknya.
### Bisakah saya menumpuk bingkai yang berbeda ukuran, atau dari kamera berbeda?
Bisa, meski itu biasanya sebuah kekeliruan dan layak diperiksa bahwa Anda memang memaksudkannya. Hasilnya seukuran bingkai terbesarnya, dan setiap bingkai lain diskalakan agar muat lalu diletakkan di tengahnya. Mencampur kamera juga mencampur penggambaran warnanya, jadi rata-rata keduanya adalah rata-rata dua tafsir berbeda atas cahaya yang sama. Tempat ia memang membantu adalah sebuah kumpulan yang dibidik pada dua resolusi, atau sebuah file RAW dan sebuah JPEG dari bingkai yang sama.
### Ia bilang jalannya akan berpita. Apa maksudnya?
Bahwa memori kerja yang dibutuhkan metodenya lebih dari yang bersedia dialokasikan alatnya sekaligus, jadi gambarnya akan dipotong menjadi jalur-jalur mendatar lalu ditumpuk sejalur demi sejalur. Ia tetap menghasilkan hasil yang persis sama; ia hanya membaca bingkainya lagi untuk setiap jalurnya, jadi ia memakan waktu lebih lama, dan halamannya memberi tahu Anda berapa banyak pendekodean itu nanti. Menurunkan resolusi kerjanya satu langkah memangkas memorinya menjadi seperempat, dan itu hampir selalu mengubah jalan yang berpita menjadi satu jalan tunggal — catatannya mengatakan setelan mana yang akan melakukannya.
### Kenapa alat ini memakai sebuah Worker padahal tidak satu pun yang lain?
Karena ia satu-satunya yang pekerjaannya diukur dalam menit. Setiap alat lain di sini melakukan sesuatu yang memakan satu dua detik, dan di sana memindahkan pekerjaannya keluar dari utas utamanya akan menjadi upacara. Menumpuk dua puluh bingkai besar adalah hitungan padat atas ratusan megabita, dan di utas utama itu berarti halaman yang membeku: tidak ada bilah kemajuan yang bergerak, sebuah tombol Batalkan yang tidak menjawab, dan akhirnya sebuah peramban yang menawarkan membunuh tabnya. Workernya adalah utas kedua di peramban yang sama ini, menjalankan sebuah file dari folder yang sama ini, di bawah kebijakan yang sama ini. Ia bukan sebuah server dan ia bukan sebuah fitur jaringan.
### Apakah gratis, dan apakah saya perlu akun?
Gratis; tidak ada akun, tidak ada masuk, tidak ada masa uji coba, dan tidak ada tanda air. Tidak ada batas berapa banyak bingkai yang Anda tumpuk atau seberapa besar mereka juga, karena tidak ada server yang membayarnya — pekerjaannya terjadi di mesin Anda sendiri dan satu-satunya langit-langitnya adalah memori Anda sendiri. Situs ini memasang iklan, dan itulah yang membiayainya; iklan tidak diberi apa pun tentang foto Anda.
## Cara memverifikasi klaim privasi ini
- **Foto Anda tidak punya tujuan ke mana pun.** Content-Security-Policy menyebut satu per satu setiap alamat yang boleh dihubungi halaman ini, dan tidak satu pun milik situs ini. Tidak ada titik akhir di sini tempat file Anda bisa dikumpulkan, dan tidak ada kode yang akan mengirimnya seandainya ada — tidak ada `fetch`, tidak ada `XMLHttpRequest`, tidak ada `sendBeacon`, di `src/` maupun di workernya.
- **File RAW-nya dibaca, bukan diunggah — dan nyaris tidak dibaca.** Sebuah file RAW kamera sudah memuat sebuah JPEG berukuran penuh yang digambar kameranya ketika ia mengambil bidikannya. Alat ini menemukannya dengan menyusuri beberapa entri direktori lalu meminta satu irisan, dan pada file 60 MB itu biasanya di bawah seratus kilobita. Halamannya menunjukkan angka itu kepada Anda dibandingkan dengan ukuran file Anda sambil Anda bekerja. Data sensornya sama sekali tidak pernah dibaca.
- **Pekerjaannya terjadi di sebuah Worker di mesin ini, bukan di sebuah server.** Inilah satu-satunya alat di sini yang memakai satu, karena penumpukan adalah hitungan bermenit-menit alih-alih berdetik-detik dan halaman yang membeku tidak bisa menampilkan kemajuan atau dibatalkan. Sebuah Worker adalah utas kedua di peramban yang sama ini — lihat `src/worker.js`. Ia diserahi file-nya sendiri, dan itu gratis, karena sebuah pegangan file bukanlah byte-nya; dan ia punya Content-Security-Policy yang persis sama dengan halamannya, yang artinya tidak punya tujuan untuk mengirimnya.
- **Tidak ada apa pun tentang kumpulannya yang dilaporkan ke mana pun.** Berapa bingkai yang Anda tumpuk, kamera apa yang menulisnya, seberapa jauh masing-masing sudah bergerak, metode mana yang Anda pilih, dan berapa lama waktunya ditahan di memori halaman ini sampai Anda menutupnya. Tidak ada peristiwa analitik khusus di repositori ini yang membawa satu pun darinya, dan satu pertanyaan yang diajukan situs ini setelah sebuah unduhan mengirim sebuah jempol ke atas atau ke bawah dan nama alatnya, tidak lebih.
- **Jalan tanpa internet.** Putuskan koneksi jaringan dan alat ini tidak berubah, karena sejak awal memang tidak ada langkah jaringan di dalamnya. Workernya dan setiap modul yang dimuatnya disinggahkan service worker milik halaman ini sendiri, jadi salinan yang terpasang menumpuk file RAW dengan jaringan tercabut.
**Periksa sendiri.** Anda tidak perlu memercayai semua ini begitu saja. Halaman ini dihasilkan dari templat dan konfigurasi di repositori oleh skrip build yang bisa Anda baca dan jalankan sendiri, dan hasilnya dikirim ke cabang `dist` — jadi Anda bisa membandingkan apa yang disajikan dengan apa yang dihasilkan oleh build dari kode sumbernya: https://github.com/A-Box-of-Tools/website
File yang layak dibaca lebih dulu adalah `config/site.toml` untuk Content-Security-Policy, `src/raw.js` untuk cara sebuah file RAW dibuka dengan membaca kilobita alih-alih megabita, `src/stack.js` untuk hitungan setiap metodenya, dan `src/plan.js` untuk asal angka memori dan pendekodean yang ditampilkan di halamannya — mereka jawaban file itu, bukan perkiraan.
Cara menumpuk sekumpulan foto di peramban Anda
Pilih bingkainya. Sebuah burst, sekumpulan bracket, sebuah runtutan intervalometer, atau satu folder file RAW. Masing-masing dibuka begitu ia tiba dan barisnya memberi tahu Anda apa yang keluar darinya — untuk file RAW, kameranya, ukuran pratinjau yang ditemukan di dalamnya, dan betapa sedikit file-nya yang harus dibaca untuk menemukannya.
Pilih metode yang cocok dengan apa yang ingin Anda hilangkan. Derau: rata-rata, atau sigma-clip kalau ada yang bergerak. Orang, mobil, atau pesawat yang lewat: median. Langit gelap yang ingin Anda ubah menjadi jejak bintang: terangkan. Bidikan makro yang diambil di sepanjang cincin fokus: penumpukan fokus. Catatan di bawah menunya mengatakan apa yang dilakukan masing-masing pada jumlah bingkai Anda yang tertentu itu.
Putuskan apakah bingkainya perlu disejajarkan. Dipegang tangan: ya, geser saja. Dipegang tangan dan Anda juga berputar: geser, rotasi, dan skala. Tripod terkunci atau sebuah intervalometer: tidak, dan ia akan lebih cepat. Setiap bingkai diukur terhadap bingkai yang bertanda rujukan, dan itu yang pertama sampai Anda berkata lain: “Pakai sebagai rujukan” memindahkan tandanya dan meninggalkan daftarnya pada urutan yang Anda susun.
Baca keempat angkanya, lalu tekan tombolnya. Sebelum apa pun berjalan, halamannya mengatakan seberapa besar hasilnya nanti, kira-kira berapa banyak memori yang akan dipakainya, berapa kali bingkainya akan didekodekan, dan berapa banyak file Anda yang dibaca. Kalau kumpulannya tidak akan muat di memori dalam satu potong, ia mengatakannya, dan mengatakan resolusi kerja mana yang akan membereskannya.
Versi lebih lengkap
Cara menumpuk foto untuk mengurangi derau, atau membuang orangMenumpuk menggabungkan sebuah burst bingkai menjadi satu gambar. Metode mana yang dipakai tergantung apa yang ingin Anda hilangkan: derau, orang yang lewat, atau kedalaman bidang yang tipis pada sebuah bidikan makro. Cara kerja masing-masing, berapa harganya, dan di mana file RAW cocok.
Tidak. Setiap bingkai dibuka, didekodekan, disejajarkan, ditumpuk, dan ditulis oleh peramban Anda sendiri di perangkat keras Anda sendiri. Alat ini tidak punya fitur jaringan dalam bentuk apa pun — ia tidak pernah mengambil apa pun dan tidak pernah mengirim apa pun — dan Content-Security-Policy halaman ini menyebut satu per satu setiap alamat yang boleh dihubunginya, dan tidak satu pun milik situs ini. Muat halamannya sekali, cabut koneksi internet, dan ia tetap bekerja. Itu lebih penting di sini daripada di kebanyakan alat semata karena volumenya: setumpuk dua puluh bingkai RAW adalah sekitar satu gigabita, dan mengunggah satu gigabita foto untuk diambil rata-ratanya adalah hal yang justru ingin dihindari alat ini.
Format RAW mana saja yang bisa dibacanya, dan bagaimana?
CR2, CR3, NEF, NRW, ARW, SR2, SRF, DNG, ORF, RAF, RW2, PEF, SRW, 3FR, IIQ, DCR, KDC, MRW, MEF, RWL, dan beberapa lagi — dan itu sebagian besar dari apa yang ditulis kamera. Yang dibacanya dari mereka adalah pratinjau JPEG berukuran penuh yang digambar kameranya sendiri ketika ia mengambil bidikannya: gambar di punggung kameranya, dan gambar yang digambar sistem operasi Anda sebagai gambar mininya. Ia ditemukan dengan menyusuri struktur direktori file-nya, yang berbiaya beberapa pembacaan beberapa kilobita masing-masing, lalu mengambil satu irisan. Ia bukan hasil demosaik data sensornya. Hasilnya membawa keseimbangan putih dan gaya gambar kameranya pada delapan bit per kanal, alih-alih dua belas atau empat belas bit data sensor linear yang akan diberikan sebuah pengubah RAW kepada Anda.
Kalau begitu kenapa tidak mendekodekan data sensornya dengan benar?
Karena itu berarti menyertakan LibRaw atau dcraw — sebuah mesin kedua berukuran puluhan megabita, untuk satu keluarga format, yang sebagian besarnya adalah skema kompresi per pabrikan. Pertukaran itu diperdebatkan sampai tuntas di docs/what-can-be-built-here.md di sumber situs ini, tempat RAW kamera sudah ada di daftar yang dikesampingkan sejak sebelum alat ini ada. Yang berubah bukan jawaban atas pertanyaan itu melainkan penemuan bahwa penumpukan tidak membutuhkannya: pratinjaunya beresolusi penuh, mereka toh yang akan diberikan kameranya kepada Anda sebagai sebuah JPEG, dan membacanya kira-kira seratus kali lebih cepat daripada mendemosaik. Kalau Anda menginginkan data sensornya, kembangkan bingkainya di sebuah pengubah RAW lebih dulu lalu tumpuk TIFF atau JPEG yang dihasilkannya — alat ini menerima itu juga.
Berapa banyak bingkai yang bisa ditanganinya, dan seberapa besar?
Enam dari ketujuh metodenya mengalir: mereka menahan satu akumulator lalu membaca setiap bingkai tepat sekali, jadi seratus bingkai berbiaya memori yang sama dengan dua dan satu-satunya yang bertambah adalah waktunya. Mediannya adalah pengecualiannya, karena nilai tengah sebuah kumpulan tidak bisa diketahui sampai Anda punya seluruhnya, jadi ia menahan setiap bingkai sekaligus — dua puluh bingkai 24 megapiksel adalah sekitar 1,4 GB, dan tidak ada peramban yang akan memberikannya kepada Anda. Ketika itu terjadi, gambarnya dipotong menjadi pita mendatar lalu ditumpuk sepita demi sepita, dan itu berbiaya membaca ulang bingkainya untuk setiap pitanya. Halamannya memperhitungkan semua ini sebelum Anda menekan tombolnya lalu menunjukkan angkanya kepada Anda, jadi jalan yang lambat tidak pernah menjadi kejutan.
Apa sebenarnya yang dilakukan penyejajaran bingkainya?
Ia menemukan seberapa jauh setiap bingkai bergerak relatif terhadap bingkai rujukannya lalu memindahkannya kembali, sampai sepersekian piksel. Metodenya adalah korelasi fase: pergeseran antara dua gambar muncul sebagai perbedaan fase antara spektrumnya, jadi satu transformasi Fourier masing-masing menemukan pergeseran dua ratus piksel semurah pergeseran dua piksel. Setelan yang kedua juga memulihkan rotasi dan skalanya, dengan trik yang sama yang diterapkan pada spektrumnya dalam koordinat log-polar. Semuanya bersifat menyeluruh — satu pergeseran, satu sudut, satu skala untuk seluruh bingkainya — jadi ia membetulkan kamera yang bergerak dan tidak bisa membetulkan subjek yang bergerak, atau foto yang diambil dari satu langkah ke kiri. Satu akibat yang kelihatan: bingkai yang dipindahkan dua puluh piksel ke kiri tidak lagi mencapai tepi kanannya, jadi hasilnya dirapikan ke bagian yang dicakup setiap bingkainya. Itulah sebabnya tumpukan yang disejajarkan kembali sedikit lebih kecil daripada bingkai yang masuk ke dalamnya, dan itu satu-satunya alternatif dari sebuah batas gelap yang terbuat dari bingkai yang tidak ada di sana.
Metode mana yang sebaiknya saya pakai?
Rata-rata untuk derau, pada kumpulan yang tidak ada yang bergerak: ia memangkas derau acak kira-kira sebesar akar jumlah bingkainya. Median untuk membuang hal-hal yang hanya ada sebagian waktu — pemakaian klasiknya adalah memotret sebuah alun-alun yang ramai selusin kali lalu mendapatkannya kosong. Sigma clipping ketika Anda ingin keduanya: ia mempelajari apa biasanya setiap piksel lalu merata-ratakan hanya nilai yang sepakat, jadi ia punya kekebalan median terhadap mobil yang lewat dan pengurangan derau rata-rata. Terangkan untuk jejak bintang, kembang api, dan lukisan cahaya. Gelapkan untuk membuang apa pun yang terang yang bergerak. Tambahkan untuk meniru satu pencahayaan panjang. Penumpukan fokus untuk bidikan makro yang diambil di sepanjang cincin fokus.
Kenapa hasil saya delapan bit padahal file RAW saya empat belas?
Karena yang ditumpuk adalah pratinjau milik kameranya sendiri, yang berupa sebuah JPEG. Layak dikatakan bahwa penumpukan memulihkan sebagian dari yang dikorbankan itu: merata-ratakan enam belas bingkai delapan bit memberi hasil dengan gradasi yang sungguh lebih halus daripada yang dimiliki satu pun di antaranya, karena derau yang membuat pembulatan setiap bingkai berbeda justru itulah yang membuat rata-ratanya mendarat di antara tingkatannya. Hitungannya di sini dikerjakan dalam bilangan titik-mengambang lalu dibulatkan sekali di ujungnya, jadi tidak ada satu pun dari itu yang dibuang di tengah jalan. Ia tetap tidak sama dengan menumpuk data sensor linear, dan alat ini tidak berpura-pura sebaliknya.
Bisakah saya menumpuk bingkai yang berbeda ukuran, atau dari kamera berbeda?
Bisa, meski itu biasanya sebuah kekeliruan dan layak diperiksa bahwa Anda memang memaksudkannya. Hasilnya seukuran bingkai terbesarnya, dan setiap bingkai lain diskalakan agar muat lalu diletakkan di tengahnya. Mencampur kamera juga mencampur penggambaran warnanya, jadi rata-rata keduanya adalah rata-rata dua tafsir berbeda atas cahaya yang sama. Tempat ia memang membantu adalah sebuah kumpulan yang dibidik pada dua resolusi, atau sebuah file RAW dan sebuah JPEG dari bingkai yang sama.
Ia bilang jalannya akan berpita. Apa maksudnya?
Bahwa memori kerja yang dibutuhkan metodenya lebih dari yang bersedia dialokasikan alatnya sekaligus, jadi gambarnya akan dipotong menjadi jalur-jalur mendatar lalu ditumpuk sejalur demi sejalur. Ia tetap menghasilkan hasil yang persis sama; ia hanya membaca bingkainya lagi untuk setiap jalurnya, jadi ia memakan waktu lebih lama, dan halamannya memberi tahu Anda berapa banyak pendekodean itu nanti. Menurunkan resolusi kerjanya satu langkah memangkas memorinya menjadi seperempat, dan itu hampir selalu mengubah jalan yang berpita menjadi satu jalan tunggal — catatannya mengatakan setelan mana yang akan melakukannya.
Kenapa alat ini memakai sebuah Worker padahal tidak satu pun yang lain?
Karena ia satu-satunya yang pekerjaannya diukur dalam menit. Setiap alat lain di sini melakukan sesuatu yang memakan satu dua detik, dan di sana memindahkan pekerjaannya keluar dari utas utamanya akan menjadi upacara. Menumpuk dua puluh bingkai besar adalah hitungan padat atas ratusan megabita, dan di utas utama itu berarti halaman yang membeku: tidak ada bilah kemajuan yang bergerak, sebuah tombol Batalkan yang tidak menjawab, dan akhirnya sebuah peramban yang menawarkan membunuh tabnya. Workernya adalah utas kedua di peramban yang sama ini, menjalankan sebuah file dari folder yang sama ini, di bawah kebijakan yang sama ini. Ia bukan sebuah server dan ia bukan sebuah fitur jaringan.
Apakah gratis, dan apakah saya perlu akun?
Gratis; tidak ada akun, tidak ada masuk, tidak ada masa uji coba, dan tidak ada tanda air. Tidak ada batas berapa banyak bingkai yang Anda tumpuk atau seberapa besar mereka juga, karena tidak ada server yang membayarnya — pekerjaannya terjadi di mesin Anda sendiri dan satu-satunya langit-langitnya adalah memori Anda sendiri. Situs ini memasang iklan, dan itulah yang membiayainya; iklan tidak diberi apa pun tentang foto Anda.