Code Monkey home page Code Monkey logo

focus_finder's Introduction

cmake workflow

FoFi - The Telescope Focus Finder

Summary

This project is about an automatic focus finder software for telescopes. It targets the Linux platform in the first run and therefore currently only supports the INDI standard (also see https://github.com/indilib/indi). Please note that this project is still in the proof-of-concept phase.

Current project state

Without understatement this project currently is still in the proof-of-concept phase. That means it is not yet usable. However, if you think this project holds some potential and may be useful for you, or if you maybe work on a similar project, I would be happy to hear your feedback. We might join our efforts and share our experiences and of course any support in the development of this tool is also very welcome!

Project vision

The software aims to support the amateur astronomer (and especially astrophotographer) with one of the most critical but also most annoying tasks: Finding the best focus position. The main goal is to provide a free and easy to use software that just does the job - automatically.

With a given configuration it should also be possible to execute "FoFi" from the command-line without requiring any user interaction. This way you can include a call to the Focus Finder into a script. This might be useful if the entire observation process should be automatized and you want to re-focus from time to time to compensate the temperature drift.

Project history

When starting this project there was the following situation: There was a free piece of software for automatically finding the "best" focus of the telescope: FocusMax. Steve Brady and Larry Weber developed it and offered it to the public in 2001. Meanwhile there is version 4 of this software available but as far as I was able to see it is no longer free. Instead CCDWare now offers it.

System overview

TODO: Add textual description.

Focus Finder System Overview

Further information

Please visit my blog https://www.lost-infinity.com for further details. The first article I published about this project can be found here: https://www.lost-infinity.com/fofi-a-free-automatic-telescope-focus-finder-software

build

Install required dependencies

The following libraries are required to build FoFi on Ubuntu 20.04 LTS. For other Linux distributions the package names may slightly vary.

sudo apt-get update
sudo apt-get install zlib1g-dev cimg-dev libindi-dev libnova-dev \
                     libgsl-dev libccfits-dev qtbase5-dev libboost-dev \
                     libboost-log-dev libboost-system-dev libboost-regex-dev \
                     libboost-thread-dev libboost-program-options-dev \
                     libboost-test-dev clang-tidy

Checkout repository

git clone https://github.com/carsten0x51h/focus_finder.git

Configure the build

To build from command line, simply do the following steps:

cd focus_finder
mkdir build
cd build
cmake ..

This will generate the build environment for your operating system. It will fail if at least one dependency to an external library could not be resolved.

The rest of this section is optional. To get finer grained control over the cmake process the following options are available (the first one is always the default):

cmake .. -DOPTION_BUILD_DOC=OFF|ON
	 -DCMAKE_BUILD_TYPE=RELEASE|DEBUG|COVERAGE|PERF
	 -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF|ON
	 -DOPTION_ENABLE_CLANG_TIDY=ON|OFF
	 -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-checks=-*,readability-*"
	 -DCMAKE_C_COMPILER=clang|gcc
	 -DCMAKE_CXX_COMPILER=clang++|g++

Build the code

Run the following command to build the project:

cmake --build . -- all

or to build parallel on e.g. 12 cores, run

cmake --build . -j12 -- all

Run the program

To run the focus finder GUI simply execute

./focus_finder_gui

The UI asks for hostname and port of the INDI server (typically localhost:7624).

An INDI server with simulated devices for testing can be run using the following command:

indiserver -v /usr/bin/indi_simulator_ccd \
              /usr/bin/indi_simulator_wheel \
              /usr/bin/indi_simulator_focus \
              /usr/bin/indi_simulator_telescope

The -v enables debug level 1 so that a few details are printed to the console.

focus_finder's People

Contributors

carsten0x51h avatar

Stargazers

Max Qian avatar Morgan Davis avatar Matt avatar Tsewang Stanzin avatar H.F. avatar Max Chen avatar  avatar

Watchers

 avatar  avatar

Forkers

astroair

focus_finder's Issues

Compile error

Hi,

i would like compile with this command :
cmake -DOPTION_BUILD_DOC:BOOL=OFF -DOPTION_BUILD_TESTS:BOOL=OFF -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DOPTION_ENABLE_CLANG_TIDY:BOOL=OFF -DOPTION_BUILD_EXAMPLES:BOOL=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..
after a while, a have this issue :

/libnova -I/usr/local/include/libindi -I/home/christian/Projects/focus_finder/build/source/focus_finder/gui -I/home/christian/Projects/focus_finder/build/source/include -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu --include /home/christian/Projects/focus_finder/build/source/focus_finder/gui/focus_finder_gui_autogen/moc_predefs.h -o /home/christian/Projects/focus_finder/build/source/focus_finder/gui/focus_finder_gui_autogen/6YEA5652QU/moc_main_window.cpp /home/christian/Projects/focus_finder/source/focus_finder/gui/include/main_window.h

Output
------
/home/christian/Projects/focus_finder/source/focus_finder/gui/include/main_window.h:101: Parse error at ":"

make[2]: *** [source/focus_finder/gui/CMakeFiles/focus_finder_gui_autogen.dir/build.make:61 : source/focus_finder/gui/CMakeFiles/focus_finder_gui_autogen] Erreur 1
make[2] : on quitte le répertoire « /home/christian/Projects/focus_finder/build »
make[1]: *** [CMakeFiles/Makefile2:274 : source/focus_finder/gui/CMakeFiles/focus_finder_gui_autogen.dir/all] Erreur 2
make[1] : on quitte le répertoire « /home/christian/Projects/focus_finder/build »
make: *** [Makefile:144 : all] Erreur 2

Thank you for your help.

Christian (from France).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.