When customizing the option arguments for the plate solver in KStars/Ekos I noticed a fair amount of inconsistencies. With the default values all enabled through the UI button, the options show this: --no-verify --no-plots --resort --no-fits2fits --downsample 2 -O -L 0 -H 0 -u aw -3 287.817 -4 89.9972 -5 30 When I attempt to use Blind Solve via the Load and Slew button, this is what the ANSVR log shows: [2017-02-20 03:18:48] [Connect from 127.0.0.1] [2017-02-20 03:18:48] POST /api/login HTTP/1.1 [2017-02-20 03:18:48] removing stale tmpdir /var/tmp/platesolve/000045 [2017-02-20 03:18:48] removing stale tmpdir /var/tmp/platesolve/000046 [2017-02-20 03:18:48] POST /api/upload HTTP/1.1 [2017-02-20 03:18:48] request_json is: {"allow_commercial_use":"n","allow_modifications":"n","center_dec":24,"center_ra":45,"downsample_factor":2,"publicly_visible":"n","radius":2.440489677610497e-152,"scale_lower":2.1132927118286117e+214,"scale_type":"ul","scale_units":"arcminwidth","scale_upper":2.234263831832233e-52,"session":"64"} [2017-02-20 03:18:48] UPLOAD: session is 64 [2017-02-20 03:18:48] upload type is: FITS [2017-02-20 03:18:48] GET /api/submissions/64 HTTP/1.1 scale_args: -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit [2017-02-20 03:18:48] SUBS: solve is not done yet [2017-02-20 03:18:48] SUBS: jstr: {"processing_finished":"0","user":"0","processing_started":"1","user_images":[],"jobs":[]} [2017-02-20 03:18:50] GET /api/submissions/64 HTTP/1.1 Using timeout = 480 exec /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit Reading input file 1 of 1: "stars.fit"... Computing image percentiles... Extracting sources... Downsampling by 2... [2017-02-20 03:18:50] SUBS: solve is not done yet [2017-02-20 03:18:50] SUBS: jstr: {"processing_started":"1","user":"0","jobs":[],"user_images":[],"processing_finished":"0"} [2017-02-20 03:18:52] GET /api/submissions/64 HTTP/1.1 simplexy: found 1595 sources. [2017-02-20 03:18:52] SUBS: solve is not done yet [2017-02-20 03:18:52] SUBS: jstr: {"processing_finished":"0","user_images":[],"jobs":[],"user":"0","processing_started":"1"} [2017-02-20 03:18:54] GET /api/submissions/64 HTTP/1.1 Solving... Reading file "./stars.axy"... backend-main.cScale range 2.72332e+212 to 2.87921e-54 is invalid: min must be >= 0, max must be >= min. :321:main: Failed to read job file "./stars.axy" solve-field.c:518:run_backend backend failed. Command that failed was: /usr/lib/astrometry/bin/backend ./stars.axy ioutils.c:605:run_command_get_outputs Command failed: return value 255 @@@@ FAILED pid 1556 exiting [2017-02-20 03:18:54] SUBS: solve is done [2017-02-20 03:18:54] SUBS: jstr: {"processing_started":"1","user":"0","user_images":[],"jobs":[64],"processing_finished":"1"} [2017-02-20 03:18:54] GET /api/jobs/64 HTTP/1.1 [2017-02-20 03:18:54] JOBS: jobid: 64 calibration: '' [2017-02-20 03:18:54] send job status [2017-02-20 03:18:54] JOBS: jstr: {"status":"failure"} [2017-02-20 03:18:54] JOBS: job completed in 6 seconds scale_args: -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit Using timeout = 480 exec /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit Reading input file 1 of 1: "stars.fit"... Computing image percentiles... Extracting sources... Downsampling by 2... simplexy: found 1595 sources. Solving... Reading file "./stars.axy"... backend-main.cScale range 2.72332e+212 to 2.87921e-54 is invalid: min must be >= 0, max must be >= min. :321:main: Failed to read job file "./stars.axy" solve-field.c:518:run_backend backend failed. Command that failed was: /usr/lib/astrometry/bin/backend ./stars.axy ioutils.c:605:run_command_get_outputs Command failed: return value 255 @@@@ FAILED pid 1556 exiting If I disable --no-fits2fits, click the Ok button, the Options now shows this: --no-verify --no-plots --resort --downsample 2 -O -L 0 -H 0 -u aw -3 287.817 -4 89.9972 -5 30 When I run another blind solve, this is what the ANSVR logfile shows: 2017-02-20 03:22:12] [Connect from 127.0.0.1] [2017-02-20 03:22:12] POST /api/upload HTTP/1.1 [2017-02-20 03:22:12] request_json is: {"allow_commercial_use":"n","allow_modifications":"n","center_dec":24,"center_ra":45,"downsample_factor":2,"publicly_visible":"n","radius":2.440489677610497e-152,"scale_lower":2.1132927118286117e+214,"scale_type":"ul","scale_units":"arcminwidth","scale_upper":2.234263831832233e-52,"session":"64"} [2017-02-20 03:22:12] UPLOAD: session is 64 [2017-02-20 03:22:12] upload type is: FITS [2017-02-20 03:22:12] GET /api/submissions/64 HTTP/1.1 scale_args: -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit [2017-02-20 03:22:12] SUBS: solve is not done yet [2017-02-20 03:22:12] SUBS: jstr: {"processing_finished":"0","user":"0","processing_started":"1","user_images":[],"jobs":[]} [2017-02-20 03:22:14] GET /api/submissions/64 HTTP/1.1 exec /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit Using timeout = 480 Reading input file 1 of 1: "stars.fit"... Computing image percentiles... Extracting sources... Downsampling by 2... [2017-02-20 03:22:14] SUBS: solve is not done yet [2017-02-20 03:22:14] SUBS: jstr: {"user_images":[],"jobs":[],"user":"0","processing_started":"1","processing_finished":"0"} [2017-02-20 03:22:16] GET /api/submissions/64 HTTP/1.1 simplexy: found 1595 sources. [2017-02-20 03:22:16] SUBS: solve is not done yet [2017-02-20 03:22:16] SUBS: jstr: {"jobs":[],"user_images":[],"user":"0","processing_started":"1","processing_finished":"0"} [2017-02-20 03:22:18] GET /api/submissions/64 HTTP/1.1 Solving... Reading file "./stars.axy"... backend-main.cScale range 2.72332e+212 to 2.87921e-54 is invalid: min must be >= 0, max must be >= min. :321:main: Failed to read job file "./stars.axy" solve-field.c:518:run_backend backend failed. Command that failed was: /usr/lib/astrometry/bin/backend ./stars.axy ioutils.c:605:run_command_get_outputs Command failed: return value 255 @@@@ FAILED pid 4480 exiting [2017-02-20 03:22:18] SUBS: solve is done [2017-02-20 03:22:18] SUBS: jstr: {"processing_started":"1","user":"0","user_images":[],"jobs":[64],"processing_finished":"1"} [2017-02-20 03:22:18] GET /api/jobs/64 HTTP/1.1 [2017-02-20 03:22:18] JOBS: jobid: 64 calibration: '' [2017-02-20 03:22:18] send job status [2017-02-20 03:22:18] JOBS: jstr: {"status":"failure"} [2017-02-20 03:22:18] JOBS: job completed in 6 seconds scale_args: -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit exec /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 2.11329271182861e+214 -H 2.23426383183223e-52 -3 45 -4 24 -5 2.4404896776105e-152 stars.fit Using timeout = 480 Reading input file 1 of 1: "stars.fit"... Computing image percentiles... Extracting sources... Downsampling by 2... simplexy: found 1595 sources. Solving... Reading file "./stars.axy"... backend-main.cScale range 2.72332e+212 to 2.87921e-54 is invalid: min must be >= 0, max must be >= min. :321:main: Failed to read job file "./stars.axy" solve-field.c:518:run_backend backend failed. Command that failed was: /usr/lib/astrometry/bin/backend ./stars.axy ioutils.c:605:run_command_get_outputs Command failed: return value 255 @@@@ FAILED pid 4480 exiting If I then exit the KStars application entirely, and load it again. This is what the options section shows: --no-verify --no-plots --resort --downsample 2 -O -L 0 -H 0 -u aw -3 287.817 -4 89.9972 -5 30 If I run another blind solve, here is what the log shows on ANSVR: [2017-02-20 03:24:54] [Connect from 127.0.0.1] [2017-02-20 03:24:54] POST /api/login HTTP/1.1 [2017-02-20 03:24:54] removing stale tmpdir /var/tmp/platesolve/000048 [2017-02-20 03:24:54] POST /api/upload HTTP/1.1 [2017-02-20 03:24:54] request_json is: {"allow_commercial_use":"n","allow_modifications":"n","center_dec":24,"center_ra":45,"downsample_factor":2,"publicly_visible":"n","radius":0,"scale_lower":0,"scale_type":"ul","scale_units":"arcminwidth","scale_upper":0,"session":"65"} [2017-02-20 03:24:54] UPLOAD: session is 65 [2017-02-20 03:24:54] upload type is: FITS [2017-02-20 03:24:55] GET /api/submissions/65 HTTP/1.1 scale_args: -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 stars.fit [2017-02-20 03:24:55] SUBS: solve is not done yet [2017-02-20 03:24:55] SUBS: jstr: {"processing_finished":"0","user":"0","processing_started":"1","jobs":[],"user_images":[]} [2017-02-20 03:24:57] GET /api/submissions/65 HTTP/1.1 Using timeout = 480 exec /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 stars.fit Reading input file 1 of 1: "stars.fit"... Computing image percentiles... Extracting sources... Downsampling by 2... [2017-02-20 03:24:57] SUBS: solve is not done yet [2017-02-20 03:24:57] SUBS: jstr: {"user_images":[],"jobs":[],"processing_started":"1","user":"0","processing_finished":"0"} [2017-02-20 03:24:59] GET /api/submissions/65 HTTP/1.1 simplexy: found 1595 sources. [2017-02-20 03:24:59] SUBS: solve is not done yet [2017-02-20 03:24:59] SUBS: jstr: {"jobs":[],"user_images":[],"processing_started":"1","user":"0","processing_finished":"0"} [2017-02-20 03:25:01] GET /api/submissions/65 HTTP/1.1 Solving... Reading file "./stars.axy"... Only searching for solutions within 0 degrees of RA,Dec (45,24) this will continue to loop looking through indices, eventually stalling out like this: [2017-02-20 03:25:23] SUBS: solve is not done yet [2017-02-20 03:25:23] SUBS: jstr: {"user_images":[],"jobs":[],"processing_started":"1","user":"0","processing_finished":"0"} [2017-02-20 03:25:25] GET /api/submissions/65 HTTP/1.1 Field 1 did not solve (index index-4210.fits, field objects 71-80). [2017-02-20 03:25:25] SUBS: solve is not done yet [2017-02-20 03:25:25] SUBS: jstr: {"processing_started":"1","user":"0","jobs":[],"user_images":[],"processing_finished":"0"} If I change the options to this: --no-verify --no-plots --resort --downsample 2 -O -L 1 -H 3 -u dw -3 287.817 -4 89.9972 -5 30 The looping happens again... but the changes I made to the options, do not seem to have been passed to ANSVR: scale_args: -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 stars.fit If I exit KStars and load it again, I can see that the changes I made to the options are no longer there: --no-verify --no-plots --resort --downsample 2 -O -L 0 -H 0 -u dw -3 287.817 -4 89.9972 -5 30 No matter what I do, I cannot seem to get the options to pass just like I want them to. If I run Sequence Generator Pro against the ANSVR, using the exact same image, this is what is passed to ANSVR: scale_args: -u arcsecperpix -L 6.85596 -H 7.57764 UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcsecperpix -L 6.85596 -H 7.57764 stars.fit Using timeout = 480 exec /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcsecperpix -L 6.85596 -H 7.57764 stars.fit This completes successfully in 4-5 seconds. If I go back to KStars and change the options to match what SGP is doing via the options: -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcsecperpix -L 6.85596 -H 7.57764 It completely ignores my options, and passes the same thing it did before to ANSVR: -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 stars.fit To wrap this up, it seems that the options are not saving/passing to the ANSVR in the right manner.
Thanks for the report. I actually started rewriting astrometry.net options handler this morning, so hopefully by evening I'll have something in working order for all modules.
Fantastic. Once the new build is live, I will be sure to grab it and do some testing.
Git commit 9764bad786aa851f24493d0b5d6f79a5a3ce3b28 by Jasem Mutlaq. Committed on 20/02/2017 at 19:27. Pushed by mutlaqja into branch 'master'. Re-work how alignment module options are generated for different modes (online, offline, remote, from file) and how they are saved between sessions. Move Alignment options from Ekos settings to alignment module own settings module. FIXED-IN:17.04 CCMAIL:kstars-devel@kde.org M +5 -1 kstars/CMakeLists.txt M +259 -470 kstars/ekos/align/align.cpp M +29 -17 kstars/ekos/align/align.h M +26 -136 kstars/ekos/align/align.ui D +0 -696 kstars/ekos/align/astrometryoptions.ui M +8 -7 kstars/ekos/align/offlineastrometryparser.cpp M +3 -3 kstars/ekos/align/onlineastrometryparser.cpp A +91 -0 kstars/ekos/align/opsalign.cpp [License: GPL (v2+)] A +48 -0 kstars/ekos/align/opsalign.h [License: GPL (v2+)] A +207 -0 kstars/ekos/align/opsalign.ui A +156 -0 kstars/ekos/align/opsastrometry.cpp [License: GPL (v2+)] A +51 -0 kstars/ekos/align/opsastrometry.h [License: GPL (v2+)] A +741 -0 kstars/ekos/align/opsastrometry.ui M +1 -1 kstars/ekos/align/remoteastrometryparser.cpp M +21 -8 kstars/ekos/ekosmanager.cpp M +0 -63 kstars/ekos/opsekos.cpp M +0 -6 kstars/ekos/opsekos.h M +2 -208 kstars/ekos/opsekos.ui M +121 -64 kstars/kstars.kcfg https://commits.kde.org/kstars/9764bad786aa851f24493d0b5d6f79a5a3ce3b28
I tested this and the new module is fantastic. There is one remaining problem. The arguments defined dont actually get passed to the ANSVR: Configured this: -O --no-plots --no-verify --resort --downsample 2 Verbose window shows this: 2017-02-20T13:05:32 Using solver options: -O --no-plots --no-verify --resort --downsample 2 -3 45 -4 24 -5 15 ANSVR receives this: UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 stars.fit If I put this in the custom box: -u arcsecperpix -L 6.85596 -H 7.57764 Verbose shows this: 2017-02-20T13:13:02 Using solver options: -O --no-plots --no-verify --resort --downsample 2 -u arcsecperpix -L 6.85596 -H 7.57764 -3 45 -4 24 -5 15 ANSVR receives this: UPLOAD: /opt/ansvr/run_solver 480 /usr/bin/solve-field -p -O -U none -B none -R none -M none -N none -C cancel --crpix-center -z 2 -u arcminwidth -L 0 -H 0 -3 45 -4 24 -5 0 stars.fit The problem with user inputted values disappearing is gone, those seem to work fine now. The actual command sent to the ANSVR still doesn't seem to use the right string.
When using the astrometry.net online in KStars, the number of options are limited. See them here: http://astrometry.net/doc/net/api.html However, it was sending many values if there were invalid (because before it was receiving ALL values, there was no option to turn some values off like now). Point is, it is fixed in GIT and another Windows build should be ready in 1 hour.