SatNOGS CSVからJPG画像を再構成するためのRubyツール on Linux #2
[目標]
1. 第一段階:候補データを抽出する
欠落している部分に対応しそうなデータを探す
複数の候補を拾い出す (前回,numb1200.htm)
2. 第二段階:候補を整理・評価する
各候補の位置、長さ、前後のデータとのつながりなどを確認
「この候補は有力」 「これは可能性が低い」 などの評価を行う (今回)
3. 第三段階:どの候補を採用するか自動判定する
評価結果を比較して最終的に復元データとして採用する候補
を決定し、最終的なJPGデータを作る (未作)
---------------------------------------------------------------------
[第二段階] 欠落Sequenceを SatNOGS 元CSVから自動検索する [search_missing.rb]
extract72.txt, extract_missing.rb, search_missing.rb, search_missing.rb
この三つのファイルを同じフォルダに置く。 search_missing.rb を実行すると、
61007mar.csv から missing_sequence.txt に記載された欠落sequenceを検索し、
PC_Terminal上に表示し、search_missing_result.txtファイルとして保存する。
$ ruby search_missing.rb と実行する。
今回は、extract_missing.rb と search_missing.rb の実行で、SatNOGSの元CSV
から検索した欠落Sequence数が数個だったので、第三段階を試作する前にそれを
extract72.txt に補完して、extract73.txt と手動で保存した。欠落候補を選定
するには、extract72.txt にできるだけ近い時刻のものを選定することである。
日時が離れると別の画像データを選定してしまうことがある。これが第三段階を
作る時の選定基準として最優先だと思う。
その後は、https://www.asahi-net.or.jp/~ei7m-wkt/numb1191.htm#revision に
従い、one_line75.txt まで進んで手動でJPG画像化ができた。ほとんど真っ黒の
画像であったが、最上部に地球の一部が細く見えた。今度また、SatNOGS に良質
のデータがアップされた時に、次の第三段階(未作)の自動化を試してみたい。
[Marina_JPG 半自動化手順整理]
1. satnogs.csv: SatNOGSサイトからCSVファイル(week or month)をダウンロードして短く改名。
2. extract81.rb: "2026-08-08 23:","2026-08-08 22:","2026-08-08 21:" を含む行を抜粋保存。
3. extract82.txt: Sequence番号の 0000 と 0080 のデータ行には欠損があるので手動補完する。
4. extract83.rb: 各行を検索して、Sequence番号の規則性を維持して(+80h)、順に並べ替える。
5. extract_missing.rb: extract82.txtに実在しない番号を検索し、missing_sequence.txtに出力する。
6. search_missing.rb: satnogs.csvから欠落sequenceを探し、search_missing_result.txtに出力する。
7. extract83.txt: 欠落sequenceデータ行を補完して、extract83.txtとして手動上書き保存する。
8. extract84.rb: 各行の最初と最後の不要部分をカットし、全行の主要データ範囲を抽出する。
9. one_line85.txt: extract84.txtの FFD8~FFD9 を一行に編集し、最後にJPG画像化して完成。
https://www.asahi-net.or.jp/~ei7m-wkt/numb1191.htm#revision
https://www.asahi-net.or.jp/~ei7m-wkt/numb1200.htm
https://www.asahi-net.or.jp/~ei7m-wkt/marirubz.htm
[JPG半自動化手順 Update]
「4.extract83.rb」 と、「5.extract_missing.rb」 のRubyファイルを合体して、一つのRubyファイル:
「extract83+extract_missing.rb」 を作成した。
$ ruby extract83+extract_missing.rb と実行する。
入力ファイルは、extract82.txt の一つ。(rbファイル内で適宜書き換え可能)
出力ファイルは、extract83.txt と missing_sequence.txt の二つ。(同上)
[第三段階] 選定基準(未作)
- 元CSVデータから、時刻差が小さい候補を優先して選定し保管する
- HEXデータの一致度と Sequence の整合性を確認する
- 条件を満たした候補だけを自動選定する
- 判定に迷うものは REVIEW として残す
Back to Top
Back to Revision