diff --git a/src/Acquire.tex b/src/Acquire.tex index ead9e60..2583396 100644 --- a/src/Acquire.tex +++ b/src/Acquire.tex @@ -17,7 +17,7 @@ after it has been set up and configured. \section{Setup with \texttt{stvid}} \label{sec:stvid-setup} -\index{stvid}\index{acquire} +\index{acquire} \index{virtualenv} Acquire data with \texttt{acquire.py} from \texttt{\gls{stvid}}. Enter \texttt{virtualenv}, if used: @@ -28,7 +28,7 @@ source env/bin/activate \end{minted} Get the latest \glspl{TLE}: -\index{TLE} + \begin{minted}{sh} ./update_tle.py @@ -41,19 +41,19 @@ Acquire live data from camera. cd stvid/ ./acquire.py \end{minted} -\index{acquire}\index{stvid} +\index{acquire} \begin{sidewaysfigure}[p!] \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid-acquire-0.png} \caption{Satellite images acquired by stvid.} \label{fig:stvid-acquire} - \index{stvid}\index{acquire} + \index{acquire} \end{sidewaysfigure} \section{\texttt{acquire.py} Output} \label{sec:acquire-output} -\index{acquire}\index{stvid}\index{FITS} +\index{acquire} Example output while running \texttt{acquire.py}. diff --git a/src/Detect.tex b/src/Detect.tex index 7cae833..55e6762 100644 --- a/src/Detect.tex +++ b/src/Detect.tex @@ -11,8 +11,8 @@ \section{Satellite Detection with stvid} \label{sec:satellite-detection} -\index{detect}\index{stvid}\index{process}\index{Python} -\index{FITS} +\index{detect}\index{process} + This is a description of \gls{satellite} detection processes. To detect \gls{satellite} in a \gls{FITS} file using the stvid \gls{toolchain}, @@ -24,7 +24,7 @@ will perform both the detection and identification steps. \index{identify} \subsection{\texttt{process\_new.py} Usage} -\index{process}\index{stvid} +\index{process} This assumes you have installed \texttt{stvid} as shown in section \ref{sec:stvid-setup}, page \pageref{sec:stvid-setup}. @@ -37,10 +37,10 @@ cd stvid/ # Process directory ./process_new.py -c config_new.ini -d data/obs/20220825_1/020502/ \end{minted} -\index{stvid}\index{TLE}\index{process} +\index{process} \subsection{\texttt{process.py} Usage} -\index{stvid} + If there is no \texttt{process\_new.py} it has likely been merged into \texttt{process.py}. Or perhaps, to use the ``older'' script it would be run as shown below. Note, the old and new configuration files @@ -51,12 +51,12 @@ script. cd stvid/ ./process.py -c configuration.ini -d data/obs/20220825_1/020502/ \end{minted} -\index{stvid}\index{process} +\index{process} \subsection{\texttt{process\_new.py Example Output}} \label{sec:process-output} -\index{stvid}\index{FITS}\index{process} +\index{process} \begin{minted}{sh} Computing astrometric calibration for /srv/obs/odroid-01/obs/20220902_1/043309/2022-09-02T04:33:09.871.fits @@ -69,12 +69,12 @@ File queue empty, waiting for new files... 90000 22 500A 9999 G 20220902043336020 17 25 1433368+375908 37 S 2022-09-02T04:33:40.315.fits 216.815570 31.756676 206/ 342 10.1 13.1 16.54 +- 0.70 \end{minted} -\index{astometry.net}\index{FITS}\index{process} +\index{astometry.net}\index{process} \section{AstroImageJ} \label{sec:astroimagej} -\index{identify}\index{AstroImageJ}\index{FITS} +\index{identify} Analyze data with applications, such as \gls{AstroImageJ}. @@ -85,13 +85,13 @@ See \ref{fig:astroimagej}, page \pageref{fig:astroimagej}, for a screenshot displaying a \gls{FITS} file generated by \texttt{\gls{stvid}}. -\index{stvid} + \begin{sidewaysfigure}[p!] \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{astroimagej.png} \caption{AstroImageJ screenshot viewing FITS file.} - \index{AstroImageJ}\index{FITS} + \label{fig:astroimagej} \end{center} \end{sidewaysfigure} diff --git a/src/Ground_Stations.tex b/src/Ground_Stations.tex index bc358d5..f007643 100644 --- a/src/Ground_Stations.tex +++ b/src/Ground_Stations.tex @@ -11,15 +11,15 @@ \section{Overview of Ground Stations} \label{sec:overview-groundstations} -\index{ground station}\index{SDR}\index{antenna}\index{camera} +\index{ground station}\index{camera} \index{receiver}\index{embedded system} \Glspl{ground-station} are a setup of equipment such as \glspl{embedded-system}, cameras, \glspl{SDR}, \glspl{antenna}, and receivers, located on Earth, observing space. \section{SatNOGS Ground Stations} -\index{ground station}\index{Libre Space Foundation} -\index{rotator} +\index{ground station} + The \gls{LSF} built the \gls{SatNOGS} network using distributed, volunteer-run, \gls{RF} \glspl{ground-station} using \glspl{SDR}, such as in @@ -29,7 +29,7 @@ It shows a \gls{SatNOGS} \gls{ground-station} with \gls{VHF} (right) and \gls{UH \glspl{antenna} on a \gls{mast} with an \gls{Alt-Az} \gls{rotator}. \glspl{SDR} can be used as \gls{RF} receivers.% \footnote{\cite{Wiki22:softwdefinradiowikipfreeencyc}} -\index{radio}\index{SDR}\index{RF}\index{VHF}\index{UHF}\index{rotator}\index{antenna} +\index{radio} \begin{figure}[p!] \begin{center} @@ -37,7 +37,7 @@ It shows a \gls{SatNOGS} \gls{ground-station} with \gls{VHF} (right) and \gls{UH \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{spacecruft-rotator.png} \caption{SatNOGS ground station with antennas.} \label{fig:spacecruft-rotator} - \index{radio}\index{RF}\index{rotator}\index{antenna}\index{ground station} + \index{radio}\index{ground station} \end{center} \end{figure} @@ -57,13 +57,13 @@ as the example in figure \ref{fig:satnogs-ground-station-web}, page \pageref{fig \section{SatNOGS Optical Ground Stations} -\index{ground station}\index{Libre Space Foundation} +\index{ground station} The \gls{LSF} is developing \gls{SatNOGS-Optical} to add \glspl{optical-ground-station} to the network. Prototype \glspl{optical-ground-station} are being developed. An example setup, using a Sky-Watcher EQ6-R Pro \gls{telescope} tripod and tracking mount, -\index{Sky-Watcher}\index{telescope}\index{tripod}\index{mount}\index{enclosure} +\index{Sky-Watcher}\index{tripod}\index{mount}\index{enclosure} \index{mount}\index{track} can be seen in figure \ref{fig:video-enclosure-mount-tripod}, page \pageref{fig:video-enclosure-mount-tripod}. @@ -74,7 +74,7 @@ can be seen in figure \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{video-enclosure-mount-tripod.png} \caption{SatNOGS Optical ground station prototype.} \label{fig:video-enclosure-mount-tripod} - \index{telescope}\index{tripod}\index{mount}\index{enclosure} + \index{tripod}\index{mount}\index{enclosure} \end{center} \end{figure} diff --git a/src/Hardware.tex b/src/Hardware.tex index 1f51977..5304e80 100644 --- a/src/Hardware.tex +++ b/src/Hardware.tex @@ -52,7 +52,7 @@ Cameras being evaluated: \item The Imaging Source IMX174 based, monochrome. \index{The Imaging Source}\index{IMX174} \item ZWO ASI174MM, monochrome. \index{ZWO ASI} \item ZWO ASI1600MM Pro, monochrome. \index{ZWO ASI} - \item \gls{DSLR} camera. \index{DSLR} + \item \gls{DSLR} camera. \item PiCamera. \index{PiCamera} \end{itemize} \end{mdframed} @@ -61,7 +61,7 @@ Cameras being evaluated: \parbox{\linewidth}{ \textcolor{red}{NOTICE:} \\ ZWO/ASI cameras require proprietary non-\gls{libre} software on host computer and is not \gls{DFSG} compatible. - \index{proprietary}\index{DFSG} + \index{proprietary} } } @@ -138,23 +138,23 @@ A close up of the setup can be seen at showing the Sky-Watcher \gls{telescope} tracking mount, a Bosch \gls{PoE} camera enclosure, and through the glass the camera lens. -\index{Sky-Watcher}\index{telescope}\index{mount}\index{Bosch}\index{PoE}\index{camera} +\index{Sky-Watcher}\index{mount}\index{Bosch}\index{camera} \index{lens} In the background is a white \gls{antenna} for \gls{GNSS} (\gls{GPS}) and a solar power setup. -\index{GNSS}\index{GPS}\index{solar power} +\index{solar power} \begin{figure}[p!] \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{video-enclosure-mount.png} \caption{SatNOGS-Optical ground station prototype.} \label{fig:video-enclosure-mount} - \index{telescope}\index{mount}\index{camera} + \index{mount}\index{camera} \end{center} \end{figure} The camera lens is protected by the enclosure glass, which is \gls{IP67} (XXX) rated. See a close up of the front of the enclosure and camera lens in figure -\index{enclosure}\index{lens}\index{IP67}\index{camera} +\index{enclosure}\index{lens}\index{camera} \ref{fig:video-enclosure-front}, page \pageref{fig:video-enclosure-front}. \begin{figure}[h!] @@ -172,7 +172,7 @@ As seen in figure \ref{fig:video-enclosure-left}, page \pageref{fig:video-enclosure-left}, the left side of the enclosure has a hinge for opening. The bottom white component is part of the telescope mount. -\index{mount}\index{telescope} +\index{mount} \begin{figure}[h!] \begin{framed} @@ -225,23 +225,23 @@ is: \begin{itemize} \item The Imaging Source DMX camera with Sony IMX174 \gls{CMOS}. \index{The Imaging Source}\index{IMX174} \item Kowa 50mm f1.4 C-mount lens.\index{Kowa} - \item Odroid N2 running \gls{Debian} \gls{GNU} \gls{Linux} system. \index{Odroid}\index{Debian}\index{GNU}\index{Linux} + \item Odroid N2 running \gls{Debian} \gls{GNU} \gls{Linux} system. \index{Odroid} \item Odroid N2 plastic enclosure, large half, hole drilled for ad-hoc mounting. \item Blower fan on top, with power cable (came with Bosch enclosure). \index{fan} \item Fan, maybe not so useful, with power cable (came with Bosch enclosure). \item Camera mounting plate (came with Bosch enclosure). \index{camera} \item Camera mounting screws, M6x25 (?). \item Ethernet cable, internal, short white (came with Bosch enclosure). \index{ethernet}\index{Bosch} - \item \gls{PoE} ethernet cable, external, plugged into \gls{PoE} switch for data and power. \index{PoE} + \item \gls{PoE} ethernet cable, external, plugged into \gls{PoE} switch for data and power. \item \gls{USB} 3 cable, internal, way too long, needs replacing, from Odroid to camera. XXX flat connector \item \gls{USB} 3 cable, external, from Odroid to \gls{telescope} mount. XXX large rectangle connector \index{USB} \item ``Custom'' 12\gls{V} \gls{DC} power cable from Bosch \gls{PoE} to Odroid. \item Assorted nuts, bolts, and washers for an ad-hoc standoff height. \end{itemize} \end{mdframed} -\index{camera}\index{Kowa}\index{The Imaging Source}\index{Odroid}\index{Debian} +\index{camera}\index{Kowa}\index{The Imaging Source}\index{Odroid} \index{fan}\index{power cable}\index{mount plate}\index{Bosch} -\index{ethernet}\index{PoE}\index{USB}\index{power cable} +\index{ethernet}\index{USB}\index{power cable} \begin{sidewaysfigure}[p!] \begin{center} @@ -288,9 +288,9 @@ Tripod and similar options include: setups, such as used with a \gls{Raspberry-Pi} PiCamera.\index{tripod} \item [Photography Tripod] --- Using a common camera tripod, of which there is a wide variety, from light to heavy.\index{tripod} - \item [\Gls{telescope} Tripod] --- Similar to photography tripods, but typically heavier weight.\index{tripod}\index{telescope} + \item [\Gls{telescope} Tripod] --- Similar to photography tripods, but typically heavier weight.\index{tripod} \item [\Gls{telescope} Portable Pier] --- Similar to a \gls{telescope} tripod, but much heavier, typically - with a larger center pier post. Still movable, and folds up similar to a photography tripod.\index{pier}\index{telescope} + with a larger center pier post. Still movable, and folds up similar to a photography tripod.\index{pier} \item [\Gls{telescope} Pier] --- A wide variety, such as making a roughly 1.5 meter permanent cement post. \end{description} \end{mdframed} @@ -335,8 +335,8 @@ Tracking mount options to consider include: \item [Misc \gls{PTZ}] --- Other security camera \gls{PTZ} mounts. \end{description} \end{mdframed} -\index{track}\index{mount}\index{Sky-Watcher}\index{INDI}\index{Celestron} -\index{Yaesu}\index{rotator}\index{hamlib}\index{PTZ} +\index{track}\index{mount}\index{Sky-Watcher} +\index{Yaesu}\index{hamlib} \index{iOptron} Tracking mounts aren't widely used, but there is support for them in @@ -344,7 +344,7 @@ Tracking mounts aren't widely used, but there is support for them in The tracking needs to be set up independently of \texttt{stvid}. At present, I use \gls{KStars} with Ekos to control a Sky-Watcher EQ6-R Pro tracking mount. -\index{KStars}\index{Ekos}\index{Sky-Watcher}\index{stvid}\index{track} +\index{Ekos}\index{Sky-Watcher}\index{track} For tracking, there a few different ways to track: @@ -364,7 +364,7 @@ For tracking, there a few different ways to track: \end{mdframed} \subsection{Sidereal Tracking Mounts} -\index{track}\index{Celestron}\index{COTS}\index{GoTo} +\index{track} Sidereal tracking (``telescope tracking'') is what \gls{COTS} tracking ``\gls{GoTo}'' \glspl{telescope} from \gls{Celestron} or Sky-Watcher do, for example. They track the stars, countering the rotation of the Earth to keep the same view @@ -395,7 +395,7 @@ must ``leap frog'' the satellite. At present, my practice is to use a sidereal mount, point at a location with \gls{KStars}, start stvid. Then stop stvid, move to new location using \gls{KStars}, start stvid. -\index{track}\index{KStars}\index{stvid}\index{camera} +\index{track}\index{camera} See Software section \ref{sec:software-tracking}, \pageref{sec:software-tracking} for information on using tracking mounts. @@ -419,7 +419,7 @@ It requires, such as: the equipment needs to be accurately aligned. \end{description} \end{mdframed} -\index{GNSS}\index{TLE}\index{orbit}\index{alignment}\index{track} +\index{alignment}\index{track} Most tracking equipment for \glspl{telescope}, cameras, and \glspl{antenna} usually has just a few speeds, such as a \gls{slew} speed @@ -427,7 +427,7 @@ and a sidereal star tracking speed. Sometimes there will be a few steps of these speeds (e.g. \gls{slew} speeds from 1-9), but not the finely tuned tracking speeds needed to track a satellite. Oftentimes the \gls{telescope} tracking maximum speed will be too slow for satellite tracking. -\index{track}\index{telescope} +\index{track} Variable speed tracking (XXX phrase?) is needed for tracking satellites if the goal is to keep the satellite in the (near) center of the image frame @@ -437,7 +437,7 @@ based upon a recent orbit calcuation, such as from a \gls{TLE}. There are highly skilled amateur astronomers that have captured detailed pictures of artificial satellites, such as the \gls{ISS} and astronauts doing space walks, using hand guided \glspl{telescope} with low cost \gls{CCD} imagers. -\index{CCD}\index{ISS} + % XXX ref There are few options for satellite tracking mounts. @@ -449,8 +449,8 @@ is likely the best option, if a satellite tracking mount is wanted. \section{Future Designs} \label{sec:hardware-future} -\index{RASA}\index{telescope}\index{astrograph} -\index{rotator}\index{antenna}\index{track} + +\index{track} \index{camera} There is some discussion of using much larger ``lenses'', such as diff --git a/src/Identify.tex b/src/Identify.tex index c3ddc4b..beb7dd3 100644 --- a/src/Identify.tex +++ b/src/Identify.tex @@ -11,7 +11,7 @@ \section{Overview of Satellite Identification} \label{sec:overview-identify} -\index{identify}\index{SIDLOC}\index{orbit} +\index{identify}\index{SIDLOC} \index{SSA} The \gls{LSF} is developing a project called \gls{SIDLOC}, @@ -22,7 +22,7 @@ for \gls{SSA}. \section{\texttt{stvid}'s \texttt{process.py} for Identification} \label{sec:process-identify} -\index{identify}\index{FITS}\index{stvid}\index{process} +\index{identify}\index{process} The best tool for identifying \glspl{satellite} from \gls{FITS} files is the \texttt{process.py} @@ -36,8 +36,8 @@ My fork is here: \section{Identifying Satellites with \texttt{satid}} -\index{satid}\index{sattools}\index{identify} -\index{C}\index{Giza} +\index{identify} +\index{Giza} The deprecated \gls{C} application, \texttt{satid} from the \texttt{\gls{sattools}} package can help identify \glspl{satellite}. @@ -56,14 +56,14 @@ My fork is here: \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{satid-giza-3.png} \caption{\texttt{satid} example.} - \index{satid}\index{sattools} + \label{fig:satid-giza-3} \end{center} \end{figure} \section{Identification with stvid} -\index{identify}\index{stvid} +\index{identify} See section \ref{sec:satellite-detection}, page \pageref{sec:satellite-detection} for details on identification with stvid. The detection and identification steps are both done in one script. @@ -72,22 +72,22 @@ See figure \ref{fig:stvid-process}, page \pageref{fig:stvid-process} for an example of from \gls{stvid} automated processing of an input \gls{FITS} file. The output image is in \gls{PNG} format. \gls{stvid} will also output other files with results, such as \gls{CSV} files. -\index{stvid}\index{FITS}\index{PNG}\index{CSV}\index{process} +\index{process} \begin{sidewaysfigure}[p!] \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid/2022-08-23T11:21:34.290.fits.png} \caption{Example satellite image processed by \texttt{stvid}.} \label{fig:stvid-process} - \index{stvid}\index{process} + \index{process} \end{sidewaysfigure} \section{Review of Images} -\index{stvid} + See the following subsections for example output from \gls{stvid}. \subsection{Unidentified Satellites} -\index{unidentified}\index{identify}\index{FITS}\index{stvid} +\index{unidentified}\index{identify} When \gls{stvid} runs the \texttt{process.py} (or new) script and it encounters a satellite it cannot identify, it gives it the \gls{NORAD-ID} \texttt{90000}. If more unidentified satellites are @@ -105,14 +105,14 @@ with \glspl{NORAD-ID} \texttt{90000}, \texttt{90001}, \texttt{90002}. \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{id-new-sats/2022-08-23T11:18:12.531.fits.png} \caption{stvid processed image, with three unidentified satellites.} \label{fig:stvid-unidentified} - \index{stvid}\index{unidentified} + \index{unidentified} \end{sidewaysfigure} \begin{sidewaysfigure}[p!] \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{id-new-sats/2022-08-23T11:18:12.531_90000_unid.png} \caption{stvid processed image, with three unidentified satellites, the first labeled with NORAD ID \texttt{90000}.} \label{fig:stvid-unidentified-90000} - \index{stvid}\index{unidentified} + \index{unidentified} \end{sidewaysfigure} @@ -120,7 +120,7 @@ with \glspl{NORAD-ID} \texttt{90000}, \texttt{90001}, \texttt{90002}. \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{id-new-sats/2022-08-23T11:18:12.531_90001_unid.png} \caption{stvid processed image, with three unidentified satellites, the second labeled with NORAD ID \texttt{90001}.} \label{fig:stvid-unidentified-90001} - \index{stvid}\index{unidentified} + \index{unidentified} \end{sidewaysfigure} @@ -128,12 +128,12 @@ with \glspl{NORAD-ID} \texttt{90000}, \texttt{90001}, \texttt{90002}. \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{id-new-sats/2022-08-23T11:18:12.531_90002_unid.png} \caption{stvid processed image, with three unidentified satellites, the third labeled with NORAD ID \texttt{90002}.} \label{fig:stvid-unidentified-90002} - \index{stvid}\index{unidentified} + \index{unidentified} \end{sidewaysfigure} \subsection{Airplanes} -\index{airplane}\index{FITS}\index{noise}\index{stvid} +\index{airplane}\index{noise} Airplanes are noise in the data. Airplanes will appear not infrequently in images. @@ -151,26 +151,26 @@ airplane solid parallel lights can be seen with blinking lights. \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{airplane/2022-08-23T04:17:27.161.fits.png} \caption{Airplane, bold left side, in stvid processed image.} \label{fig:stvid-airplane1} - \index{stvid}\index{airplane} + \index{airplane} \end{sidewaysfigure} \begin{sidewaysfigure}[p!] \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{airplane/2022-08-24T03:05:30.370.fits.png} \caption{Airplane, blinking, in stvid processed image.} \label{fig:stvid-airplane2} - \index{stvid}\index{airplane} + \index{airplane} \end{sidewaysfigure} \begin{sidewaysfigure}[p!] \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{airplane/2022-08-24T09:18:02.277.fits.png} \caption{Airplane, two solid lights plus blinking, in stvid processed image.} \label{fig:stvid-airplane3} - \index{stvid}\index{airplane} + \index{airplane} \end{sidewaysfigure} \subsection{Configuration and Setup Errors in Images} -\index{stvid}\index{process}\index{identify}\index{FITS} +\index{process}\index{identify} See figure \ref{fig:stvid-misconfigured}, page \pageref{fig:stvid-misconfigured}, for an example of an image processed by a mis-configured system. @@ -180,12 +180,12 @@ This, and similar issues, can be addressed by checking: \begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] \begin{itemize} \item Recent \glspl{TLE} on both the processing workstation and the - \gls{embedded-system}.\index{TLE} + \gls{embedded-system}. \item Correct, \gls{NTP} (or better) synchronized time on on the processing workstation and the \gls{embedded-system}. \item Correct latitude, longitude, and altitude are set in configuration files, typically based on \gls{GNSS} readings. - \index{latitude}\index{longitude}\index{altitude}\index{GNSS} + \index{latitude}\index{longitude}\index{altitude} \end{itemize} \end{mdframed} @@ -194,7 +194,7 @@ This, and similar issues, can be addressed by checking: \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid/2022-08-25T03\:40\:03.853.fits.png} \caption{\texttt{stvid} processed image, showing mis-configured/setup system.} \label{fig:stvid-misconfigured} - \index{stvid}\index{airplane} + \index{airplane} \end{sidewaysfigure} \subsection{Image Processed with Bad TLE} @@ -202,17 +202,17 @@ In figure \ref{fig:stvid-process-bad-tle}, page \pageref{fig:stvid-process-bad-t can be seen a \gls{FITS} file that has been processed by stvid, but with \glspl{TLE} that are around two days old. As can be seen, the satellites don't quite line up where they should. -\index{TLE}\index{FITS}\index{stvid} + \begin{sidewaysfigure}[p!] \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid/2022-09-04T03:40:07.923.fits.png} \caption{\texttt{stvid} processed image, alignment off due to use of old TLE.} \label{fig:stvid-process-bad-tle} - \index{stvid}\index{TLE} + \end{sidewaysfigure} \subsection{Image Acquired During Slew} -\index{acquire}\index{stvid}\index{slew} +\index{acquire} See figured \ref{fig:stvid-process-bad-slew}, page \pageref{fig:stvid-process-bad-slew}, for an example image that is bad due to slewing during acquisition. @@ -221,6 +221,6 @@ for an example image that is bad due to slewing during acquisition. \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid/2022-09-04T04\:56\:37.072.fits.png} \caption{\texttt{stvid} processed image, trails due to slewing during acquire.} \label{fig:stvid-process-bad-slew} - \index{stvid}\index{TLE} + \end{sidewaysfigure} diff --git a/src/Introduction.tex b/src/Introduction.tex index 052c67f..a9dced3 100644 --- a/src/Introduction.tex +++ b/src/Introduction.tex @@ -11,7 +11,7 @@ The SatNOGS Optical Unofficial Guide documents how to set up and run an \gls{optical-ground-station} for the \gls{LSF}'s \gls{SatNOGS} network. -\index{ground station}\index{Libre Space Foundation} +\index{ground station} % https://network.satnogs.org/ \begin{figure}[h!] @@ -20,7 +20,7 @@ The SatNOGS Optical Unofficial Guide documents how to set up and run an \includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{satnogs-network-web.png} \caption{SatNOGS Network.} \label{fig:satnogs-network-web} - \index{SatNOGS} + \end{framed} \end{figure} @@ -34,7 +34,7 @@ images of \glspl{satellite}. Hardware is reviewed, then software to run on it, with many options, including what is best. Finally, what to do with the data (\gls{IDK}!). The chapters that follow are listed below. -\index{RF}\index{ground station} +\index{ground station} % Perhaps more LaTeXy ref XXX \begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] @@ -43,7 +43,7 @@ The chapters that follow are listed below. \item [Ground Stations] --- How Earth talks to \glspl{satellite} and back.\index{ground station} \item [\Gls{toolchain} and Process] --- The big picture of what hardware and software is needed to set up an optical ground station - for use on the network.\index{toolchain} + for use on the network. \item [Hardware] --- Details on appropriate hardware configurations, and example setups. \item [Software] --- A look at the myriad software related to \glspl{satellite}, @@ -68,7 +68,7 @@ The chapters that follow are listed below. \section{Libre Space Foundation} -\index{Libre Space Foundation} + The \gls{LSF} supports ``free and accessible space for all, creating \gls{open-source} space technologies.''% \footnote{\url{https://libre.space}} @@ -80,7 +80,7 @@ The \gls{LSF} supports \includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{lsf-web.png} \caption{Libre Space Foundation Website.} \label{fig:lsf-web} - \index{Libre Space Foundation} + \end{framed} \end{figure} @@ -107,13 +107,13 @@ SatNOGS is the \gls{LSF}'s global network of \gls{satellite} ground stations. \includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{satnogs-web.png} \caption{SatNOGS Website.} \label{fig:satnogs-web} - \index{SatNOGS} + \end{framed} \end{figure} \section{Optical Network Status} -\index{RF} + The SatNOGS \gls{RF} network has been running successfully for years. Adding an optical network is a new development. At present there are zero nodes on the network. @@ -122,5 +122,5 @@ Some software already exists, some is being ported from \gls{C} to \gls{Python}, and other parts remain to be done. There is software available for acquiring optical data of \glspl{satellite}. There is no facility at present for pushing data back to the network. -\index{C}\index{Python} + diff --git a/src/SatNOGS_Optical.tex b/src/SatNOGS_Optical.tex index 20db4a6..497c27b 100644 --- a/src/SatNOGS_Optical.tex +++ b/src/SatNOGS_Optical.tex @@ -21,7 +21,7 @@ software to build an operating optical ground station. \section{Toolchain} \label{sec:toolchain} -\index{toolchain} + See below for a \gls{SatNOGS-Optical} Process Overview.% \footnote{\url{https://spacecruft.org/spacecruft/SNOPO}} @@ -38,8 +38,8 @@ See figure \ref{fig:snopo}, page \pageref{fig:snopo}, described below. \end{description} \end{mdframed} \index{hardware}\index{software}\index{acquire}\index{detect}\index{identify} -\index{embedded system}\index{FITS}\index{camera}\index{plate solver} -\index{TLE} +\index{embedded system}\index{camera}\index{plate solver} + \index{plate solver} \begin{sidewaysfigure}[p!] @@ -80,7 +80,7 @@ Some can be used in multiple setups, most just in one. If available, using motion video cameras will work best for detecting \glspl{satellite} with the developing \gls{SatNOGS} \gls{toolchain}. Examples of motion video camera sources that could be used: -\index{toolchain} + \begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] \begin{description} @@ -99,12 +99,12 @@ Examples of motion video camera sources that could be used: \gls{MIPI} interface. \end{description} \end{mdframed} -\index{The Imaging Source}\index{ZWO ASI}\index{UVC}\index{V4L2}\index{OpenCV} -\index{Odroid}\index{MIPI}\index{DFSG} +\index{The Imaging Source}\index{ZWO ASI} +\index{Odroid} Still cameras can also be used productively. The current \gls{Python} \gls{toolchain} is in very early development and not completely usable yet. -\index{Python} + See the list below for still camera options: @@ -131,9 +131,9 @@ See the list below for still camera options: used with \gls{gPhoto}. \end{description} \end{mdframed} -\index{telescope}\index{INDI}\index{gPhoto}\index{DSLR} -\index{KStars}\index{Ekos}\index{track}\index{mount} -\index{FITS}\index{Linux}\index{Debian} + +\index{Ekos}\index{track}\index{mount} + \index{Canon}\index{Nikon} Considering the hardware options above, they need to be matched with @@ -171,7 +171,7 @@ There are also broader ``paths'' that need to be considered: usage. \end{description} \end{mdframed} -\index{sattools}\index{Python}\index{C}\index{stvid}\index{motion video} +\index{motion video} \index{still camera}\index{allsky}\index{stphot}\index{allsky} \index{plate solver} diff --git a/src/Satellites.tex b/src/Satellites.tex index 3d7c883..929f40e 100644 --- a/src/Satellites.tex +++ b/src/Satellites.tex @@ -11,7 +11,7 @@ \section{Overview of Satellites} \label{sec:overview-satellite} -\index{satellite}\index{RF} + This chapter gives a brief overview of \glspl{satellite}, with particular antention to ones using \gls{amateur-radio} bands. @@ -35,7 +35,7 @@ many of which can be tracked by ground station operators on the \end{figure} Individual \glspl{satellite} can be viewed, such as the RamSat \Gls{cubesat}. -\index{RamSat}\index{CubeSat} +\index{RamSat} % https://db.satnogs.org/satellite/YJWC-7364-7085-7563-0113 \begin{figure}[h!] @@ -50,7 +50,7 @@ Individual \glspl{satellite} can be viewed, such as the RamSat \Gls{cubesat}. For some \glspl{satellite}, \gls{telemetry} is available in a \gls{Grafana} dashboard. See the RamSat \gls{telemetry} dashboard. -\index{RamSat}\index{telemetry}\index{Grafana}\index{dashboard} +\index{RamSat}\index{dashboard} % https://dashboard.satnogs.org/d/XZQTCYznz/ramsat?orgId=1&refresh=30s&var-suid=48850 \begin{sidewaysfigure}[p!] @@ -66,7 +66,7 @@ See the RamSat \gls{telemetry} dashboard. Below are \glspl{satellite} in \gls{orbit}, decayed, or designs on Earth that generally support the \gls{libre} way. These are some select \gls{libre} \glspl{satellite}: -\index{orbit}\index{decay} +\index{decay} \begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] \begin{description} @@ -75,7 +75,7 @@ These are some select \gls{libre} \glspl{satellite}: \url{https://upsat.gr/} \end{description} \end{mdframed} -\index{UPSat}\index{Libre Space Foundation} +\index{UPSat} \begin{figure}[h!] \begin{framed} @@ -91,7 +91,7 @@ These are some select \gls{libre} \glspl{satellite}: See figure \ref{fig:satnogs-obs-list-ramsat-web}, page \pageref{fig:satnogs-obs-list-ramsat-web} for a example list of observations of the RamSat \Gls{cubesat}.% \footnote{\url{https://network.satnogs.org/observations/?future=0&norad=48850&observer=&station=&start=&end=&transmitter_mode=&page=2}} -\index{RamSat}\index{CubeSat}\index{RF}\index{observation}\index{schedule} +\index{RamSat}\index{observation}\index{schedule} \begin{figure}[h!] \begin{framed} @@ -99,27 +99,27 @@ for a example list of observations of the RamSat \Gls{cubesat}.% \includegraphics[keepaspectratio=true,height=0.80\textheight,width=0.80\textwidth,angle=0]{satnogs-obs-list-ramsat-web.png} \caption{List of observations of the RamSat CubeSat, example.} \label{fig:satnogs-obs-list-ramsat-web} - \index{RamSat}\index{observation}\index{CubeSat} + \index{RamSat}\index{observation} \end{framed} \end{figure} Individual \gls{RF} observations are uploaded to the SatNOGS network, as can be seen in the example observation of the RamSat \gls{cubesat} by SatNOGS ground station ``2380 - Piszkesteto \gls{UHF}'' run by volunteer bcsak (username). -\index{RF}\index{RamSat}\index{UHF}\index{bcsak} +\index{RamSat}\index{bcsak} \begin{sidewaysfigure}[p!] \centering \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{satnogs-obs-6401760-web.png} \caption{Sample observation of RamSat CubeSat on SatNOGS website.} \label{fig:satnogs-obs-6401760-web} - \index{RamSat}\index{observation}\index{CubeSat} + \index{RamSat}\index{observation} \end{sidewaysfigure} \section{Satellite Orbits} \label{sec:satellite-orbits} -\index{orbit}\index{SGP}\index{SDP}\index{TLE} + Satellite \glspl{orbit}. See \gls{SGP} and \gls{SDP}. diff --git a/src/Software.tex b/src/Software.tex index efea464..6ff819c 100644 --- a/src/Software.tex +++ b/src/Software.tex @@ -32,7 +32,7 @@ for a diagram with an overview of the software process. % \end{framed} \end{figure} \end{center} -\index{acquire}\index{process}\index{analyz}\index{upload} +\index{acquire}\index{process}\index{analyze}\index{upload} \section{Setup Optical Ground Station Software} \label{sec:software-setup} @@ -46,7 +46,7 @@ For a ``manual'' install, see immediately below. Setup an \gls{embedded-system}, such as a \gls{Raspberry-Pi} or an Odroid N2, with \gls{Debian} stable (11/Bullseye) or testing (Bookworm). -\index{Odroid}\index{Debian} +\index{Odroid} See each \gls{software-repository} for latest documentation. \index{repository} @@ -62,11 +62,11 @@ sudo apt install python3-virtualenv python3-pip python3-dev \ astrometry-data-tycho2-08 astrometry-data-tycho2-09 \ astrometry-data-tycho2-10-19 \end{minted} -\index{Python}\index{virtualenv}\index{PIP}\index{astrometry.net} +\index{virtualenv}\index{astrometry.net} \index{Giza}\index{Source Extractor} Next, install the \texttt{\gls{hough3d-code}} dependency. -\index{hough3d-code} + \begin{minted}{sh} git clone https://gitlab.com/pierros/hough3d-code @@ -78,7 +78,7 @@ sudo cp -p hough3dlines /usr/local/bin/hough3dlines Install \texttt{\gls{satpredict}} from using either the cbassa or spacecruft \gls{software-repository}. -\index{satpredict}\index{repository} +\index{repository} \begin{minted}{sh} cd ../ @@ -93,7 +93,7 @@ sudo make install Now install \texttt{stvid}, the main acquisition and processing application. It is written in \gls{Python}. Either use the spacecruft \texttt{git} \gls{software-repository} or the cbassa one. -\index{stvid}\index{Python}\index{acquire} +\index{acquire} \begin{minted}{sh} cd ../ @@ -103,7 +103,7 @@ git clone https://spacecruft.org/spacecruft/stvid \end{minted} Optionally, set up a \gls{Python} virtual environment and use \gls{PIP}: -\index{Python}\index{virtualenv}\index{PIP} +\index{virtualenv} \begin{minted}{sh} cd stvid @@ -119,7 +119,7 @@ install fails. pip install --upgrade numpy pip install --upgrade -r requirements.txt \end{minted} -\index{numpy}\index{PIP} +\index{numpy} If the system \texttt{python3-numpy} conflicts, you could try installing numpy with \gls{PIP} in the virtualenv thusly: @@ -131,7 +131,7 @@ pip install --upgrade --ignore-installed numpy \gls{Debian} in bug \texttt{\#941466} changed the name of the \texttt{sextractor} dependency to \texttt{source-extractor}, so a symlink is needed for now: -\index{Debian}\index{Source Extractor}\index{SExtractor} +\index{Source Extractor}\index{SExtractor} \begin{minted}{sh} sudo ln -s /usr/bin/source-extractor /usr/local/bin/sextractor @@ -149,7 +149,7 @@ cp -p configuration.ini-dist configuration.ini # Set: vi configuration.ini \end{minted} -\index{stvid}\index{configuration.ini} +\index{configuration.ini} Edit various \texttt{configuration.ini} fields: \begin{minted}{sh} @@ -170,7 +170,7 @@ st-password = bar # Path to source-extractor sex_config = /usr/share/source-extractor/default.sex \end{minted} -\index{Source Extractor}\index{TLE}\index{COSPAR} +\index{Source Extractor}\index{COSPAR} Store downloads here: @@ -180,7 +180,7 @@ mkdir -p ./data/obs ./data/tle ./data/results The \texttt{ST\_DATADIR} variable is still used, from \texttt{sattools}. Maybe set all these in \texttt{\~/.bashrc} (suit to fit directory setup): -\index{bashrc}\index{sattools} +\index{bashrc} \begin{minted}{sh} export ST_DATADIR=$HOME/sattools @@ -188,7 +188,7 @@ export ST_TLEDIR=$HOME/TLE export ST_OBSDIR=$HOME/satobs export ST_LOGIN="identity=foo@no:pass" \end{minted} -\index{sattools}\index{TLE} + Set \texttt{astrometry.net} to run in parallel, assuming you have enough \gls{RAM}: (This doesn't appear to work? Breaks?). @@ -203,7 +203,7 @@ inparallel \section{skymap} \label{sec:skymap} -\index{skymap}\index{orbit}\index{sattools} + Use \gls{skymap} for viewing \gls{satellite} \glspl{orbit} trails projected on a map of of the sky. Skymap is part of \gls{sattools}. @@ -223,7 +223,7 @@ My fork: \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{skymap-giza-21.png} \caption{\texttt{skymap} example screenshot.} - \index{skymap}\index{sattools} + \label{fig:skymap-giza-21} \end{center} \end{sidewaysfigure} @@ -232,7 +232,7 @@ My fork: \parbox{\linewidth}{ \textcolor{red}{NOTICE:} \\ The main upstream \gls{sattools} package requires non-\gls{libre} \texttt{pgplot} on the host computer which is not \gls{DFSG} compatible. - \index{proprietary}\index{DFSG}\index{pgplot} + \index{proprietary}\index{pgplot} } } @@ -241,7 +241,7 @@ Described below is how to build and install my fork of \gls{sattools} to use \gls{skymap} instead of upstream. \Gls{upstream} requires non-\gls{libre} software which also happens to be very difficult for most users to compile. My fork uses the Giza library which replaces pgplot. It is much easier to build. -\index{fork}\index{sattools}\index{skymap}\index{Giza}\index{pgplot} +\index{fork}\index{Giza}\index{pgplot} \begin{minted}{sh} # Install dependencies @@ -272,7 +272,7 @@ sudo make uninstall \end{minted} See below for \gls{skymap} (fork) usage: -\index{TLE}\index{skymap} + \begin{minted}{sh} tleupdate @@ -308,7 +308,7 @@ Visualize satellites on a map of the sky. -B, --latitude manual site latitude (deg) -H, --elevation manual site elevation (m) \end{minted} -\index{TLE} + \section{Tracking Software} @@ -330,7 +330,7 @@ software: \item [Cameras] --- Controlling \gls{PTZ} cameras remotely. \end{description} \end{mdframed} -\index{telescope}\index{antenna}\index{hamlib}\index{PTZ} +\index{hamlib} \index{camera} @@ -349,12 +349,12 @@ Software that can be used with \gls{telescope} tracking mounts: \item [INDIGO] --- Positions itself as a next-generation \gls{INDI} (?). \end{description} \end{mdframed} -\index{telescope}\index{INDI}\index{KStars}\index{Ekos}\index{Stellarium} +\index{Ekos}\index{Stellarium} \index{INDIGO} Using \gls{INDI} with \gls{KStars} and Ekos on a Sky-Watcher or \gls{Celestron} \gls{telescope} mount is a known working solution. -\index{Sky-Watcher}\index{Celestron} +\index{Sky-Watcher} \subsection{Antenna Tracking Software} @@ -362,7 +362,7 @@ At present, for the \gls{SatNOGS} network \gls{RF} \glspl{ground-station}, hamlib is typically used for tracking, if directional \glspl{antenna} are used. Hamlib was originally created for \gls{amateur-radio} equipment, but has expanded to control many more devices. -\index{hamlib}\index{antenna}\index{RF} +\index{hamlib} \begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] \begin{description} @@ -378,7 +378,7 @@ be steady enough. \subsection{Camera Tracking Software} -\index{PTZ} + There are applications for using \gls{PTZ} control of cameras, such as used in ``security'' cameras. @@ -394,8 +394,8 @@ at present. \section{GNSS with \texttt{gpsd}} \label{sec:software-gnss} -\index{GNSS}\index{GPS}\index{Galileo}\index{GLONASS}\index{Beidou} -\index{gpsd} +\index{Galileo}\index{Beidou} + \gls{GNSS} is used for time synchronization and for (somewhat) accurately determining the location of the observation. @@ -403,23 +403,23 @@ accurately determining the location of the observation. \gls{GNSS} collectively includes the USA \gls{GPS}, Europe's Galileo, Russia's \gls{GLONASS}, and China's \gls{BDS}, as well as other regional systems. -\index{GPS}\index{Galileo}\index{GLONASS}\index{Beidou} +\index{Galileo}\index{Beidou} \index{USA}\index{Europe}\index{Russia}\index{China} A basic, widely available \gls{COTS} \gls{USB} \gls{GNSS} device with a basic (or no!) \gls{antenna} plugged into the \gls{embedded-system} can get time and location accurate enough for the purposes here. See various U-Blox devices, for example. -\index{COTS}\index{USB}\index{U-Blox} +\index{USB}\index{U-Blox} In \gls{Debian} \gls{GNSS} service with a \gls{USB} device can be provided by the \texttt{\gls{gpsd}} application. -\index{Debian}\index{GNSS}\index{gpsd} + \begin{minted}{sh} sudo apt install gpsd gpsd-tools \end{minted} -\index{gpsd} + Edit the configuration file, \texttt{/etc/default/gpsd} like: @@ -435,7 +435,7 @@ acquire and process are on different machines). Using the device \texttt{/dev/ttyACM0} can be problematic if there are multiple \texttt{/dev/ttyACM*} devices. Perhaps something like this could be used in that case: -\index{/dev/ttyACM}\index{gpsd} +\index{/dev/ttyACM} \begin{minted}{sh} DEVICES="/dev/serial/by-id/usb-u-blox_AG_-_www.u-blox.com_u-blox_GNSS_receiver-if00" @@ -451,7 +451,7 @@ systemctl edit --full gpsd.socket \index{systemd} And create a \gls{gpsd} configuration like this (I have \gls{IPv6} disabled, in this case): -\index{gpsd} + \begin{minted}{sh} [Unit] @@ -467,14 +467,14 @@ BindIPv6Only=no [Install] WantedBy=sockets.target \end{minted} -\index{GPS}\index{gpsd}\index{systemd} +\index{systemd} (Re)start: \begin{minted}{sh} sudo systemctl restart gpsd.service gpsd.socket \end{minted} -\index{systemctl}\index{gpsd} +\index{systemctl} Test all is good: @@ -483,14 +483,14 @@ gpsmon -n # or cgps -u m \end{minted} -\index{gpsmon}\index{cgps}\index{GPS}\index{gpsd} +\index{gpsmon}\index{cgps} Enable to start on boot: \begin{minted}{sh} sudo systemctl enable gpsd.service gpsd.socket \end{minted} -\index{systemctl}\index{gpsd} +\index{systemctl} See below for sample output from \texttt{cgps}. @@ -520,7 +520,7 @@ See below for sample output from \texttt{cgps}. │ Grid Square: DN70jn26 ││GA 15 315 17.0 232.0 43.0 Y │ └───────────────────────────────────────────┘└More...──────────────────────────┘ \end{minted} -\index{cgps}\index{GPS}\index{gpsd} +\index{cgps} \section{NTP} @@ -532,7 +532,7 @@ The main system on the Internet used for time synchronization is \gls{NTP}. In \gls{Debian} there are a few options for \gls{NTP}. The best is to use a hardware \gls{GNSS} (\gls{GPS}), with \gls{PPS} for improved accuracy. The easiest is to just use \gls{NTP}. -\index{PPS}\index{Debian}\index{GNSS}\index{GPS} + All systems in the \gls{pipeline} need to have the correct time and location. It is best if they all pull from the same \gls{NTP} @@ -566,7 +566,7 @@ sure they all have accurate time or processing will be off. \section{KStars with Tracking Mount} \label{sec:software-kstars} -\index{software}\index{KStars}\index{Debian}\index{track}\index{mount} +\index{software}\index{track}\index{mount} \index{Ekos} \gls{KStars} is an application that has been used for years in the astronomy community. It is well established, well supported and included in \gls{Debian}. @@ -580,14 +580,14 @@ For the purposes here, described below will be using \gls{KStars} with a Sky-Watcher tracking mount with \gls{INDI} and Ekos. See figure \ref{fig:video-enclosure-mount-tripod}, page \pageref{fig:video-enclosure-mount-tripod} for a photo of the setup used with \gls{KStars} below. -\index{INDI}\index{Ekos}\index{KStars} +\index{Ekos} The \gls{telescope} mount will be used in sidereal tracking mode, where the stars will appear as ``points'', and the \glspl{satellite} will appear as trails. The mount is not used in a satellite tracking mode. Sidereal is the ``standard'' tracking mode of \glspl{telescope}. -\index{Sky-Watcher}\index{INDI}\index{Ekos} +\index{Sky-Watcher}\index{Ekos} \gls{KStars} is the ``main'' application, but it depends on other key parts. \gls{INDI} is the protocol that \gls{KStars} uses for \gls{telescope} control. @@ -596,7 +596,7 @@ While \gls{KStars} has the main \gls{sky-chart} and Ekos is launched within it, the actual mount control is done with the Ekos application. While it may sound complex, all of this is set up pretty easily in \gls{Debian}. -\index{INDI}\index{Debian}\index{Ekos}\index{mount} +\index{Ekos}\index{mount} \begin{minted}{sh} # Quick and dirty from memory, something like: @@ -611,13 +611,13 @@ When mount control is functioning, a location on the \gls{sky-chart}, such as a Using this, a \gls{telescope} mount can be used to easily point the camera at a location and track it to observe \glspl{telescope}. It should also provide a superior \gls{FITS} file for extracting data than using a static mount (XXX made up). -\index{KStars}\index{sky-chart}\index{GoTo}\index{mount}\index{track} +\index{sky-chart}\index{mount}\index{track} \index{camera} To use a \gls{telescope} tracking mount for use with \texttt{stvid}, the following steps need to be performed in roughly this order, assuming everything has been configured. An overview of steps: -\index{stvid} + \begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30] \begin{enumerate} @@ -670,16 +670,16 @@ An overview of steps: \item Repeat the last few steps each time a new sky location is desired. \end{enumerate} \end{mdframed} -\index{v4l2-ctl}\index{mount}\index{KStars}\index{telescope}\index{track} -\index{lsusb}\index{cgps}\index{GNSS}\index{NTP}\index{indiserver} -\index{Ekos}\index{Sky-Watcher}\index{V4L2}\index{The Imaging Source} -\index{stvid} +\index{v4l2-ctl}\index{mount}\index{track} +\index{lsusb}\index{cgps}\index{NTP}\index{indiserver} +\index{Ekos}\index{Sky-Watcher}\index{The Imaging Source} + \begin{sidewaysfigure}[p!] \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{kstars-skychart.png} \caption{KStars sky chart, example screenshot.} - \index{KStars} + \label{fig:kstars-skychart} \end{center} \end{sidewaysfigure} @@ -688,7 +688,7 @@ An overview of steps: \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{kstars-profile-edit-v4l2.png} \caption{KStars using V4L2, example screenshot.} - \index{KStars}\index{V4L2} + \label{fig:kstars-profile-edit-v4l2} \end{center} \end{sidewaysfigure} @@ -697,7 +697,7 @@ An overview of steps: \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{kstars-profile-edit-simulator.png} \caption{KStars using simulated CCD, example screenshot.} - \index{KStars}\index{CCD} + \label{fig:kstars-profile-edit-simulator} \end{center} \end{sidewaysfigure} @@ -743,7 +743,7 @@ as two \texttt{/dev/video} devices. \section{\texttt{stvid} with Docker} \label{sec:software-docker} -\index{docker}\index{stvid}\index{Ekman, Daniel} +\index{Ekman, Daniel} Daniel Ekman has created a \gls{Docker} setup for easier installation and configuration. diff --git a/src/Solve.tex b/src/Solve.tex index 3fe4cae..a6cbebc 100644 --- a/src/Solve.tex +++ b/src/Solve.tex @@ -11,7 +11,7 @@ \section{Plate Solver} \label{sec:plate-solver} -\index{plate solver}\index{FITS} +\index{plate solver} A ``\gls{plate-solver}'' will take an image of stars and detect the time and place of the picture. There are two main steps: @@ -21,7 +21,7 @@ of the picture. There are two main steps: \item Extract stars from an image, such as a \gls{FITS} file generated by \texttt{stvid}. \item ``Solve'' the image of the stars in the image against vast databases in a \gls{star-catalogue}. - \index{stvid}\index{FITS} + \end{enumerate} \end{mdframed} @@ -36,7 +36,7 @@ images (e.g. \gls{FITS}). \item \gls{KStars} with Ekos adds \texttt{Builtin method for solver}. \end{itemize} \end{mdframed} -\index{Source Extractor}\index{KStars}\index{Ekos} +\index{Source Extractor}\index{Ekos} See below for a list of \glspl{plate-solver} that can be used. @@ -92,7 +92,7 @@ a plate of stars that has been extracted from \texttt{Source Extractor}. XXX \section{Star Catalogues} \label{sec:star-catalogues} -\index{star-catalogue}\index{plate solver}\index{stvid} +\index{star-catalogue}\index{plate solver} To use a \gls{plate-solver}, you will need \glspl{star-catalogue}. They can get large. The \texttt{stvid} application includes a basic \gls{star-catalogue}. @@ -101,21 +101,21 @@ XXX The \texttt{4200} index series is also recommended. \section{World Coordinate System} \label{sec:wcs} -\index{WCS} + \gls{WCS} info. XXX \section{SIP} \label{sec:sip} -\index{SIP} + \gls{SIP} info. XXX \section{Plate Solving with \texttt{stvid}} \label{sec:plate-solving-stvid} -\index{plate solver}\index{stvid}\index{process} +\index{plate solver}\index{process} Use the \texttt{process.py} scripts described in section \ref{sec:plate-solver}, page \pageref{sec:plate-solver}, to solve plates diff --git a/src/Support.tex b/src/Support.tex index 3e03e1b..67fa7a6 100644 --- a/src/Support.tex +++ b/src/Support.tex @@ -14,7 +14,7 @@ \index{community} \index{support} \index{forum} -\index{Matrix} + \setlength{\parindent}{0pt} How to get help. diff --git a/src/Upload.tex b/src/Upload.tex index 93308b5..4b5cae2 100644 --- a/src/Upload.tex +++ b/src/Upload.tex @@ -32,12 +32,12 @@ The following file extensions are in use: \item [.png] --- \gls{PNG}. \end{description} \end{mdframed} -\index{FITS}\index{PNG}\index{CSV} + \section{Data Files} \label{sec:upload-data} -\index{data}\index{stvid}\index{process}\index{acquire} +\index{data}\index{process}\index{acquire} After the \texttt{stvid} acquisition and processing steps have been run, files such as below will be generated: @@ -65,7 +65,7 @@ are the main files used in processing. It has the data of 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{acquire}\index{process} \index{frame size}\index{sample rate} The \texttt{stvid} program creates it's customized \gls{FITS} format @@ -76,12 +76,12 @@ 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{stvid}\index{four frame}\index{trail} +\index{Bassa, Cees}\index{four frame}\index{trail} \index{.fits} \subsection{\texttt{.cal} CAL Files} -\index{.cal}\index{stvid} +\index{.cal} Example \texttt{.cal} filename:\\ \texttt{2022-08-23T04:16:26.633.fits.cal}\\ @@ -103,7 +103,7 @@ Sample data from \texttt{.cal} file, just the top select lines of a 577 line fil \subsection{\texttt{.cat} CAT Files} -\index{.cat}\index{stvid}\index{FITS} +\index{.cat} \texttt{stvid} generates \texttt{.cat} files, generated from \gls{FITS} files, such as:\\ \texttt{2022-08-23T04:16:26.633.fits.cat} \\ @@ -132,7 +132,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 @@ -147,7 +147,7 @@ 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} +\index{detect}\index{plate solver} The main blue line is slightly offset from where the satellite is calculated to appear. @@ -161,14 +161,14 @@ If it is unknown, it will be given the number \texttt{90000} or larger. \includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633.fits.png} \caption{\texttt{stvid} PNG.} \label{fig:stvid-png} - \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{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 @@ -182,10 +182,10 @@ satellite detected in the image. A file name example follows, with satellite \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 trail of NORAD ID 48473 identified in red.} \label{fig:stvid-png-48473-catalog} - \index{stvid}\index{PNG}\index{FITS} + \end{center} \end{figure} -\index{stvid}\index{identify}\index{PNG} +\index{identify} 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. @@ -198,13 +198,13 @@ The file name is: \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 trail of NORAD ID 52718 identified in red.} \label{fig:stvid-png-52718-catalog} - \index{stvid}\index{PNG}\index{FITS}\index{identify} + \index{identify} \end{center} \end{figure} \subsection{\texttt{unid.png} Unidentified PNG Files} -\index{FITS}\index{PNG}\index{stvid} + \index{unidentified} As shown previously, \texttt{stvid} will create a new \gls{PNG} with a red line when it identifies a satellite. @@ -222,13 +222,13 @@ do the same with an unidentified satellite trail. \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 trail in red.} \label{fig:stvid-png-90000-unid} - \index{stvid}\index{PNG}\index{FITS} + \end{center} \end{figure} \subsection{\texttt{.dat} Data Files} -\index{.dat}\index{PNG} +\index{.dat} 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 @@ -272,7 +272,7 @@ The \texttt{.dat} file contents look like this, for the unidentified trail \subsection{\texttt{stvid} \texttt{.csv} Files} -\index{.csv}\index{stvid}\index{hough}\index{predict}\index{threshold} +\index{.csv}\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: @@ -285,7 +285,7 @@ the following \gls{CSV} files are generated: \subsubsection{\texttt{stvid} \texttt{hough.csv} Files} -\index{.csv}\index{stvid}\index{hough} +\index{.csv}\index{hough} Full contents of the \texttt{2022-08-23T04:16:26.633\_hough.csv} file: \begin{minted}{sh} @@ -296,7 +296,7 @@ ax,ay,az,bx,by,bz,n \end{minted} \subsubsection{\texttt{stvid} \texttt{predict.csv} Files} -\index{.csv}\index{stvid}\index{predict} +\index{.csv}\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: @@ -321,11 +321,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{COSPAR}\index{TLE} +\index{.csv}\index{COSPAR} \subsubsection{\texttt{stvid} \texttt{threshold.csv} Files} -\index{.csv}\index{stvid}\index{threshold} +\index{.csv}\index{threshold} \texttt{stvid} creates a \texttt{threshold.csv} file with a filename like: \texttt{2022-08-23T04:16:26.633\_threshold.csv}