#####################################################
#  OrigamiSat-2 Image Creator(OSIC) ver.1.0
#  Windows Console Program written in Python3
#  Released on May 27, 2026
#  (c) 2026- JA3TDW/Fumio Asai All Rights Reserved.
#####################################################

1. What is OrigamiSat-2 Image Creator (OSIC)?
 OSIC is a software for generating CubeSat OrigamiSat-2
images from hexadecimal data(csv file) stored in the
SatNOGS database.Its executable program(osic.exe) is
created from a Python3 script using Nuitka.

2. Operating Environment
 Operation has been confirmed on Windows 11 Home 64-bit
Japanese version.It should also work on other language
versions of Windows.The Python3 execution environment
is not required.

3. How to Use
1)Download OrigamiSat-2 data file(Last week version)
 from SatNOGS DB.
2)Run osic.exe, enter the data file name and the image
 number 00. Results of extraction, analysis and generation
 will be displayed as shown below. If these processes are
 successful, the image data file(image_output.csv) and
 the image file(image_output.jpg) will be generated.
--------------- sample screenshot -----------------------
OrigamiSat-2 Image Creator(OSIC) ver.1.0

Input csv file:input.csv
Press Enter key if csv file name is OK
Enter input csv file name:satnogs_input.csv
Enter image number:00

Found jpeg start marker
Found jpeg end marker
Sequence numbers:00-14
Total number of frames:21
Number of missing frames:0
Missing frames:none
Created image file
OSIC is going to close in 10 seconds...
-------------------------------------------------------

4.Reference information
1)The image number is a temporary image identification
 number. It should always be set to 00.
2)Data contained in the image data file consists of
 hexadecimal strings(hereafter, it will be referred
 to as frame) like '00,05,ABCDEFG...', for example.
 Here, 00 is the image number, 05 is the sequence
 number and ABCDEFG... is the image data respectively.
3)If the input file does not contain the frame with
 the sequence number 00 which includes the jpeg start
 marker(0xFFD8), the image file will not be generated.
 If the frames with sequence numbers such as 01,02 etc
 are missing, the generated image file probably cannot
 be opened.
4)The sample input file(satnogs_input.csv) is an ideal
 data file which contains all image data. Only such
 ideal input file will generate a complete image. 
 By looking at the output file, you can confirm if the
 generated image is complete or not. That is, if the
 sequence numbers start from 00, there are no missing
 frames and the last frame contains the jpeg end marker
 (0xFFD9), then the image is complete.
5)Even if the input file contains multiple image data,
 duplicate frames for the same image will be automatically
 resolved and the suitable image will be generated.
 However, if data for different images are included,
 unsuitable images will be generated. You can check
 whether the generated image is suitable by looking
 at the output file. That is, the image is suitable
 if there is only one frame with a specific sequence
 number.If there are multiple frames, it is unsuitable.
6)If unsuitable images are obtained, you will need to
 manually separate frames of different images. To make
 this task easier, it's a good idea to start with
 extracting only frames uploaded by a specific station
 at a specific date and time.

5. Release Notes
1) 2026/5/27: ver.1.0 released

