|
|
|
@ -19,6 +19,7 @@ development.
|
|
|
|
|
\section{File Extensions}
|
|
|
|
|
\label{sec:upload-extensions}
|
|
|
|
|
\index{formats}
|
|
|
|
|
\index{.cal}\index{.cat}\index{.csv}\index{.dat}\index{.fits}\index{.png}
|
|
|
|
|
The following file extensions are in use:
|
|
|
|
|
|
|
|
|
|
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
|
|
|
|
@ -55,6 +56,7 @@ run, files such as below will be generated:
|
|
|
|
|
2022-08-23T04:16:26.633_predict.csv
|
|
|
|
|
2022-08-23T04:16:26.633_threshold.csv
|
|
|
|
|
\end{minted}
|
|
|
|
|
\index{.cal}\index{.cat}\index{.csv}\index{.dat}\index{.fits}\index{.png}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{.fits} FITS Files}
|
|
|
|
@ -64,6 +66,7 @@ the actual image taken with the camera. \gls{FITS} files will be significantly
|
|
|
|
|
larger than the other files, at around 8 to 35 megabytes each, depending
|
|
|
|
|
on sample rate, frame size, and \gls{binning}.
|
|
|
|
|
\index{FITS}\index{acquire}\index{process}
|
|
|
|
|
\index{frame size}\index{sample rate}
|
|
|
|
|
|
|
|
|
|
The \texttt{stvid} program creates it's customized \gls{FITS} format
|
|
|
|
|
file, which is a stack up of multiple images.
|
|
|
|
@ -73,14 +76,16 @@ to the program's author, Cees Bassa:
|
|
|
|
|
\begin{quote}
|
|
|
|
|
With stvid, I typically store 10 seconds worth of video frames, 100 frames at 10 \gls{Hz} frame rate or 250 frames at 25 \gls{Hz} frame rate into a so-called ``four frame''. Here, for each pixel of the initial 100 or 250 frames, the mean, standard deviation, maximum and argmax are stored, each as its own frame. Objects that move will stand out because they will have a high (max - mean) / standard deviation, which allows me to detect trails. Once a trail is detected, the argmax frame tells me the frame number and hence the motion of the trail, and using the timestamps of the individual 100 or 250 frames, I can reconstruct the pixel position as a function of time during the 10 second exposure, using only 4 frames instead of the 100 or 250 individual video frames.
|
|
|
|
|
\end{quote}
|
|
|
|
|
\index{Bassa, Cees}
|
|
|
|
|
\index{Bassa, Cees}\index{stvid}\index{four frame}\index{trail}
|
|
|
|
|
\index{.fits}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{.cal} CAL Files}
|
|
|
|
|
\index{.cal}\index{stvid}
|
|
|
|
|
Example \texttt{.cal} filename:\\
|
|
|
|
|
\texttt{2022-08-23T04:16:26.633.fits.cal}\\
|
|
|
|
|
|
|
|
|
|
Sample data from \texttt{.cat} file, just the top select lines of a 577 line file:
|
|
|
|
|
Sample data from \texttt{.cal} file, just the top select lines of a 577 line file:
|
|
|
|
|
|
|
|
|
|
\begin{minted}{sh}
|
|
|
|
|
1172.876 11.776 7.1775 221.117561 45.185979 6.761
|
|
|
|
@ -98,6 +103,7 @@ Sample data from \texttt{.cat} file, just the top select lines of a 577 line fil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{.cat} CAT Files}
|
|
|
|
|
\index{.cat}\index{stvid}\index{FITS}
|
|
|
|
|
\texttt{stvid} generates \texttt{.cat} files, generated from \gls{FITS} files, such as:\\
|
|
|
|
|
\texttt{2022-08-23T04:16:26.633.fits.cat} \\
|
|
|
|
|
|
|
|
|
@ -127,6 +133,7 @@ Sample data from \texttt{.cat} file, just the top select lines of a 1,033 line f
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{.fits.png} FITS PNG Files}
|
|
|
|
|
\index{FITS}\index{PNG}\index{stvid}
|
|
|
|
|
\index{.fits.png}
|
|
|
|
|
The \texttt{stvid} application can generate multiple \gls{PNG} files,
|
|
|
|
|
depending how many satellites it finds. In every case it creates at
|
|
|
|
|
least one \gls{PNG} file, with a name like:
|
|
|
|
@ -140,13 +147,15 @@ The blue lines are drawn whether no, a few, or many satellites are detected.
|
|
|
|
|
They are generated by taking data from the \gls{plate-solver} about where the picture
|
|
|
|
|
\gls{FOV} is, and overlaying satellite \glspl{orbit} that are calculated from
|
|
|
|
|
\glspl{TLE}.
|
|
|
|
|
\index{detect}\index{plate solver}\index{orbit}\index{TLE}
|
|
|
|
|
|
|
|
|
|
The main blue line is slightly offset from where the satellite is calculated to
|
|
|
|
|
appear.
|
|
|
|
|
The blue line forms a small \texttt{L} shape.
|
|
|
|
|
The smaller segment indicates the area where the satellite may pass.
|
|
|
|
|
Next to the small segment line is the \gls{NORAD ID} for the satellite.
|
|
|
|
|
If it is unknown, it will be given the number 90000 or larger.
|
|
|
|
|
If it is unknown, it will be given the number \texttt{90000} or larger.
|
|
|
|
|
\index{NORAD ID}
|
|
|
|
|
|
|
|
|
|
\begin{figure}[h!]
|
|
|
|
|
\begin{center}
|
|
|
|
@ -156,13 +165,15 @@ If it is unknown, it will be given the number 90000 or larger.
|
|
|
|
|
\index{stvid}\index{PNG}\index{FITS}
|
|
|
|
|
\end{center}
|
|
|
|
|
\end{figure}
|
|
|
|
|
\index{.fits.png}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{catalog.png} catalog PNG Files}
|
|
|
|
|
\index{FITS}\index{PNG}\index{stvid}\index{NORAD ID}
|
|
|
|
|
\index{detect}\index{identify}
|
|
|
|
|
When \texttt{stvid} identifies a satellite, it creates a new \gls{PNG} file for each
|
|
|
|
|
satellite detected in the image. A file name example follows, with satellite
|
|
|
|
|
NORAID ID 48473 detected, also shown in figure
|
|
|
|
|
\gls{NORAD ID} 48473 identified, also shown in figure
|
|
|
|
|
\ref{fig:stvid-png-48473-catalog}, page \pageref{fig:stvid-png-48473-catalog}.
|
|
|
|
|
|
|
|
|
|
\texttt{2022-08-23T04:16:26.633\_48473\_catalog.png}
|
|
|
|
@ -170,11 +181,12 @@ NORAID ID 48473 detected, also shown in figure
|
|
|
|
|
\begin{figure}[h!]
|
|
|
|
|
\begin{center}
|
|
|
|
|
\includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633_48473_catalog.png}
|
|
|
|
|
\caption{\texttt{stvid} PNG of the satellite track of NORAD ID 48473 identified in red.}
|
|
|
|
|
\caption{\texttt{stvid} PNG of the satellite trail of NORAD ID 48473 identified in red.}
|
|
|
|
|
\label{fig:stvid-png-48473-catalog}
|
|
|
|
|
\index{stvid}\index{PNG}\index{FITS}\index{NORAD ID}
|
|
|
|
|
\end{center}
|
|
|
|
|
\end{figure}
|
|
|
|
|
\index{stvid}\index{identify}\index{PNG}
|
|
|
|
|
|
|
|
|
|
If multiple satellites are detected in the image, they will each get a \gls{PNG} file.
|
|
|
|
|
For the example image, a satellite with \gls{NORAD ID} 52718 was also identified.
|
|
|
|
@ -185,30 +197,31 @@ The file name is:
|
|
|
|
|
\begin{figure}[h!]
|
|
|
|
|
\begin{center}
|
|
|
|
|
\includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633_52718_catalog.png}
|
|
|
|
|
\caption{\texttt{stvid} PNG of the satellite track of NORAD ID 52718 identified in red.}
|
|
|
|
|
\caption{\texttt{stvid} PNG of the satellite trail of NORAD ID 52718 identified in red.}
|
|
|
|
|
\label{fig:stvid-png-52718-catalog}
|
|
|
|
|
\index{stvid}\index{PNG}\index{FITS}\index{NORAD ID}
|
|
|
|
|
\index{stvid}\index{PNG}\index{FITS}\index{NORAD ID}\index{identify}
|
|
|
|
|
\end{center}
|
|
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{unid.png} Unidentified PNG Files}
|
|
|
|
|
\index{FITS}\index{PNG}\index{stvid}\index{NORAD ID}
|
|
|
|
|
\index{unidentified}
|
|
|
|
|
As shown previously, \texttt{stvid} will create a new \gls{PNG} with a
|
|
|
|
|
red line when it identifies a satellite.
|
|
|
|
|
When \texttt{stvid} finds a track it can't identify in the
|
|
|
|
|
\gls{TLE} catalogs, it gives it a \gls{NORAD ID} starting with 90000,
|
|
|
|
|
When \texttt{stvid} finds a trail it can't identify in the
|
|
|
|
|
\gls{TLE} catalogs, it gives it a \gls{NORAD ID} starting with \texttt{90000},
|
|
|
|
|
incrementing by one.
|
|
|
|
|
See figure \ref{fig:stvid-png-90000-unid}, page \pageref{fig:stvid-png-90000-unid},
|
|
|
|
|
for an example of \texttt{stvid} marking an unidentified track red.
|
|
|
|
|
In this case, the track was created by an airplane, but \texttt{stvid} would
|
|
|
|
|
do the same with an unknown satellite track.
|
|
|
|
|
for an example of \texttt{stvid} marking an unidentified trail red.
|
|
|
|
|
In this case, the trail was created by an airplane, but \texttt{stvid} would
|
|
|
|
|
do the same with an unidentified satellite trail.
|
|
|
|
|
\index{airplane}
|
|
|
|
|
|
|
|
|
|
\begin{figure}[h!]
|
|
|
|
|
\begin{center}
|
|
|
|
|
\includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633_90000_unid.png}
|
|
|
|
|
\caption{\texttt{stvid} PNG of an unidentified track in red.}
|
|
|
|
|
\caption{\texttt{stvid} PNG of an unidentified trail in red.}
|
|
|
|
|
\label{fig:stvid-png-90000-unid}
|
|
|
|
|
\index{stvid}\index{PNG}\index{FITS}\index{NORAD ID}
|
|
|
|
|
\end{center}
|
|
|
|
@ -216,15 +229,13 @@ do the same with an unknown satellite track.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{.dat} Data Files}
|
|
|
|
|
For each track detected as shown in previous sections, such as for which
|
|
|
|
|
\index{.dat}\index{PNG}
|
|
|
|
|
For each trail detected as shown in previous sections, such as for which
|
|
|
|
|
a \gls{PNG} file was created,
|
|
|
|
|
\texttt{stvid} will output a \texttt{.dat} file. The \texttt{.dat} filenames
|
|
|
|
|
corresponding to the figures at \ref{fig:stvid-png-48473-catalog}, \ref{fig:stvid-png-52718-catalog},
|
|
|
|
|
and \ref{fig:stvid-png-90000-unid} are:
|
|
|
|
|
|
|
|
|
|
%\texttt{2022-08-23T04:16:26.633\_48473\_catalog.dat}
|
|
|
|
|
%\texttt{2022-08-23T04:16:26.633\_52718\_catalog.dat}
|
|
|
|
|
%\texttt{2022-08-23T04:16:26.633\_90000\_unid.dat}
|
|
|
|
|
\begin{minted}{sh}
|
|
|
|
|
2022-08-23T04:16:26.633_48473_catalog.dat
|
|
|
|
|
2022-08-23T04:16:26.633_52718_catalog.dat
|
|
|
|
@ -233,9 +244,10 @@ and \ref{fig:stvid-png-90000-unid} are:
|
|
|
|
|
|
|
|
|
|
Note, there is no \texttt{.dat} file created corresponding to the
|
|
|
|
|
\texttt{2022-08-23T04:16:26.633.fits.png} file, since it doesn't show
|
|
|
|
|
detected tracks.
|
|
|
|
|
detected trails.
|
|
|
|
|
|
|
|
|
|
The \texttt{.dat} file contents look like this, for \gls{NORAD ID} 48473:
|
|
|
|
|
\index{NORAD ID}
|
|
|
|
|
|
|
|
|
|
\begin{minted}{sh}
|
|
|
|
|
48473 21 040AX 9999 G 20220823041631625 17 25 1533406+483563 37 S
|
|
|
|
@ -246,14 +258,15 @@ The first field is the \gls{NORAD ID}. The fourth field looks like COSPAR. XXX
|
|
|
|
|
Large number starting with 2022 is date and time stamp.
|
|
|
|
|
|
|
|
|
|
The \texttt{.dat} file contents look like this, for \gls{NORAD ID} 52718:
|
|
|
|
|
\index{.dat}
|
|
|
|
|
|
|
|
|
|
\begin{minted}{sh}
|
|
|
|
|
52718 22 056C 9999 G 20220823041631625 17 25 1527277+381243 37 S
|
|
|
|
|
\end{minted}
|
|
|
|
|
|
|
|
|
|
The \texttt{.dat} file contents look like this, for the unidentified track
|
|
|
|
|
The \texttt{.dat} file contents look like this, for the unidentified trail
|
|
|
|
|
(the airplane):
|
|
|
|
|
\index{airplane}
|
|
|
|
|
\index{airplane}\index{unidentified}
|
|
|
|
|
|
|
|
|
|
\begin{minted}{sh}
|
|
|
|
|
90000 22 500A 9999 G 20220823041631625 17 25 1457613+535844 37 S
|
|
|
|
@ -261,6 +274,7 @@ The \texttt{.dat} file contents look like this, for the unidentified track
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{\texttt{stvid} \texttt{.csv} Files}
|
|
|
|
|
\index{.csv}\index{stvid}\index{hough}\index{predict}\index{threshold}
|
|
|
|
|
During processing, \texttt{stvid} generates (at least!) three \gls{CSV} files.
|
|
|
|
|
For the observation discussed above, staring with figure \ref{fig:stvid-png},
|
|
|
|
|
the following \gls{CSV} files are generated:
|
|
|
|
@ -273,6 +287,7 @@ the following \gls{CSV} files are generated:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{\texttt{stvid} \texttt{hough.csv} Files}
|
|
|
|
|
\index{.csv}\index{stvid}\index{hough}
|
|
|
|
|
Full contents of the \texttt{2022-08-23T04:16:26.633\_hough.csv} file:
|
|
|
|
|
|
|
|
|
|
\begin{minted}{sh}
|
|
|
|
@ -283,6 +298,7 @@ ax,ay,az,bx,by,bz,n
|
|
|
|
|
\end{minted}
|
|
|
|
|
|
|
|
|
|
\subsubsection{\texttt{stvid} \texttt{predict.csv} Files}
|
|
|
|
|
\index{.csv}\index{stvid}\index{predict}
|
|
|
|
|
The \texttt{2022-08-23T04:16:26.633\_predict.csv} is 3,764 lines long.
|
|
|
|
|
Below is an extract of the lines. I shortened the path, which
|
|
|
|
|
included the full path to my home directory, for clarity:
|
|
|
|
@ -307,9 +323,11 @@ satno,cospar,mjd,ra,dec,state,tlefile,age
|
|
|
|
|
32706,08010A ,59814.17811171,169.564400,+50.077336,sunlit,/data/tle/inttles.tle,0.624
|
|
|
|
|
...
|
|
|
|
|
\end{minted}
|
|
|
|
|
\index{.csv}\index{NORAD ID}\index{COSPAR}\index{TLE}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsubsection{\texttt{stvid} \texttt{threshold.csv} Files}
|
|
|
|
|
\index{.csv}\index{stvid}\index{threshold}
|
|
|
|
|
\texttt{stvid} creates a \texttt{threshold.csv} file with a filename like:
|
|
|
|
|
|
|
|
|
|
\texttt{2022-08-23T04:16:26.633\_threshold.csv}
|
|
|
|
|