Built in Plate Solve; No Errors, but Image Dec is wrong

A place to report problems and bugs in SharpCap
Forum rules
‍

If you have a problem or question, please check the FAQ to see if it already has an answer : https://www.sharpcap.co.uk/sharpcap-faqs

Please also read about Troubleshooting USB Issues before posting.

*** Please do not post license keys - please report any problems with licensing to 'admin' by private message ***

Please include the following details in any bug report:

* Version of SharpCap
* Camera and other hardware being user
* Operating system version
* Contents of the SharpCap log after the problem has occurred.
[If SharpCap crashes, please send the bug report when prompted instead of including the log]
Post Reply
pmohan
Posts: 9
Joined: Sat Feb 07, 2026 7:34 pm

Built in Plate Solve; No Errors, but Image Dec is wrong

#1

Post by pmohan »

Greetings.
I've been successfully using SharpCap's internal plate solver (Solveandsync) for many sessions over the past 6 months. But last evening, the solve seemingly runs fine (it thinks its where it should be), but the actual image center captured is off in Declination. This happened for two separate sequences. Here for example, the desired target is as shown in the sequence, but the actual captured image center [plate solved independently by ASTAP and AIJ] is [21:43:03; 60:48:14]. So RA is pretty close, but Dec is way off. It's unclear the mechanism going on in this case, where the image captured during plate solve could be 'misread' and wrongly assigned to be desired target coordinates.

The sequence is as below. It was then followed by a Live Stacking session:
SEQUENCE
TARGETNAME "Nebula 2"
MOUNT SET TARGET TO " RA=21:35:45,Dec=+57:28:19"
STILL MODE
SET COLOUR SPACE TO MONO16
SET OUTPUT FORMAT TO "FITS files (*.fits)"
MOUNT UNPARK
MOUNT CONNECT
MOUNT GOTOTARGET
STILL MODE
SET EXPOSURE TO 10
SET GAIN TO 116
SET OFFSET TO 75
FRAMETYPE Light
MOUNT SOLVEANDSYNC
END SEQUENCE
At the end of this post is the SharpCap log at the end of the sequence, where it believes it's all aligned with the Target coordinates.

However, a bit further up in the log I did find this (Red text):
I note the Dec value mentioned [+63:00:00] as being suspiciously near what turns out to be the actual captured image center Dec.
**************
Info 22:12:47.684375 #1 Field of view calculated as 0.85x0.85 degrees based on FL of 766.0mm and sensor size of 11.31x11.31mm in SizeF? SharpCap.Base.FieldOfView.CalculateFieldOfView(double? focalLength, SizeF? sensorSize)
Debug 22:12:47.688217 #1 Notification (Status=Warning): Solving frame... Please wait... in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Info 22:12:47.720862 #1 Loading plate solving index PSINDEX;VER=1.2.0.0;SOURCE=GAIADR3;CREATED=2025-06-20T22:20:54.6236750Z;MINGRIDSIZE=0.250;TILES=522;MAGDATA=1;COLORDATA=1, data size = 52.959MB in new SharpCap.ImageProcessing.QuadAlignment.MultiTileBase(Func<Stream> streamSrc)
Info 22:12:47.721527 #1 Before plate solving mount points to RA=21:36:36.0,Dec=+57:35:47 in async Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)
Info 22:12:47.847262 #37 =='.NET TP Worker' (New Thread)
Info 22:12:47.847277 #37 Detected 500 stars, using 100 with settings of Sigma=6, Stretch=Black at 0.0000%, Mid at 0.9137%, White at 14.8438% in List<StarInfo> SharpCap.ImageProcessing.PlateSolving.SharpSolvePlateSolver.DetectStars(DisposableFrame frame, float sigma, PlateSolverLogger logger)
Info 22:12:47.847772 #37 Plate solving : Detected 100 stars. in Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)+(object _, SolveProgressEventArgs a) => { }
Debug 22:12:47.848635 #1 Notification (Status=Warning): Solving: Detected 100 stars. in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Info 22:12:47.854178 #37 Plate solving : Searching at 3.7 degrees from RA=21:36:36.0,Dec=+57:35:47 using 100 stars from image in Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)+(object _, SolveProgressEventArgs a) => { }
Debug 22:12:47.854508 #1 Notification (Status=Warning): Solving: Searching at 3.7 degrees from RA=21:36:36.0,Dec=+57:35:47 using 100 stars from image in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Info 22:12:47.957874 #31 =='.NET TP Worker' (New Thread)
Info 22:12:47.957942 #31 Plate solving : Searching at 21.7 degrees from RA=21:36:36.0,Dec=+57:35:47 using 100 stars from image in Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)+(object _, SolveProgressEventArgs a) => { }
Debug 22:12:47.958189 #1 Notification (Status=Warning): Solving: Searching at 21.7 degrees from RA=21:36:36.0,Dec=+57:35:47 using 100 stars from image in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Info 22:12:47.972124 #10 =='.NET TP Worker' (New Thread)
Info 22:12:47.972124 #27 Plate solving : Attempting to refine solution against tile at RA=22:30:00.0,Dec=+54:00:00 in Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)+(object _, SolveProgressEventArgs a) => { }
Info 22:12:47.972138 #10 Plate solving : Attempting to refine solution against tile at RA=21:28:25.3,Dec=+63:00:00 in Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)+(object _, SolveProgressEventArgs a) => { }
Debug 22:12:47.972328 #1 Notification (Status=Warning): Solving: Attempting to refine solution against tile at RA=21:28:25.3,Dec=+63:00:00 in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Debug 22:12:47.972559 #1 Notification (Status=Warning): Solving: Attempting to refine solution against tile at RA=22:30:00.0,Dec=+54:00:00 in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Info 22:12:47.974953 #37 Plate solving result found : Center at RA=21:44:26.4,Dec=+56:25:38
*******End of Sequence Log *****************************
The SharpCap log at the end of the sequence :
nfo 22:12:48.007756 #27 Plate solving result found : Center at RA=21:44:26.4,Dec=+56:25:38, PixSize=1.016, FrameSize={Width=0.8491772, Height=0.8491772}, Orientation=191.9992525955844, IsFlipped=False, Log10 odds=47.7,
MappingData is TileCenter=RA=21:30:00.0,Dec=+54:00:00, ReferencePosition=RA=21:44:26.4,Dec=+56:25:38, GridScaling=4500, PixelToGrid=Rotation (xAxis):-80.86, Rotation (yAxis): -80.98 Flip: False, Scaling: (1.266342,1.268620), Data : 0.20106152,1.252948,4.2332846E-11,1.252948,0.19879393,2.4473677E-11 0.20106152, -1.2502782, -9570.435, 1.252948, 0.19879393, 6793.656, 4.2332846E-11, 2.4473677E-11, 1.0000012 in void SharpCap.ImageProcessing.QuadAlignment.MultiTileSolver+WorkContext.SetResult(SolveResult result)
Info 22:12:48.041532 #1 Mount reports JNOW, converting results position from RA=21:44:26.4,Dec=+56:25:38 (J2000) in async Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)
Info 22:12:48.046351 #1 Conversion result is RA=21:45:19.9,Dec=+56:33:16 (JNOW) in async Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)
Info 22:12:48.047518 #1 Frame center calculated at RA=21:44:26.4,Dec=+56:25:38 (J2000) in bool SharpCap.Models.PixelPositionProviderBase.IsOkToSaveData(RADecPosition frameCenter, IMappingData mappingData)
Info 22:12:48.047792 #1 Frame center converted to JNOW : RA=21:45:19.9,Dec=+56:33:16 in bool SharpCap.Models.PixelPositionProvider.IsOkToSaveData(RADecPosition frameCenter, IMappingData mappingData)
Info 22:12:48.055358 #1 Recording Sky Orientation Mapping from Plate solving at RA=21:36:36.0,Dec=+57:35:47 in void SharpCap.Models.SkyMapping.StorePixelsPerDegreeMapping(Matrix2D mappingMatrix, string source)
Info 22:12:48.055871 #1 PixelSize is {Width=3.76, Height=3.76}, Side of Pier is EastSideLookingWest, Mapping is Rotation (xAxis):169.58, Rotation (yAxis): -190.47 Flip: False, Scaling: (3544.631348,3546.252686), Data : -3486.1572,-644.4336,0,-644.4336,-3487.207,0, FocalLength calculated at 763.98, PixelsPerDegree=3546.2527 in void SharpCap.Models.SkyMapping.StorePixelsPerDegreeMapping(Matrix2D mappingMatrix, string source)
Info 22:12:48.056078 #1 Plate solve info with center at RA=21:45:19.9,Dec=+56:33:16 recorded against mount position RA=21:36:36.0,Dec=+57:35:47, mapping data is TileCenter=RA=21:30:00.0,Dec=+54:00:00, ReferencePosition=RA=21:44:26.4,Dec=+56:25:38, GridScaling=4500, PixelToGrid=Rotation (xAxis):-80.86, Rotation (yAxis): -80.98 Flip: False, Scaling: (1.266342,1.268620), Data : 0.20106152,1.252948,4.2332846E-11,1.252948,0.19879393,2.4473677E-11 0.20106152, -1.2502782, -9570.435, 1.252948, 0.19879393, 6793.656, 4.2332846E-11, 2.4473677E-11, 1.0000012, orientation is 191.9992525955844 in void SharpCap.Models.PixelPositionProvider.LogMapping()
Debug 22:12:48.057385 #1 Notification (Status=OK): Plate solve succeeded, position found to be RA=21:45:19.9,Dec=+56:33:16 (JNOW, offset of 1.58 degrees), field of view is 0.8492x0.8492 degrees, pixel size 1.0 arcsec/pixel, up is 192.0 degrees E of N, focal length is 763.1mm. in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Info 22:12:48.057594 #1 Field solved to RA=21:45:19.9,Dec=+56:33:16, field Size {Width=0.8491772, Height=0.8491772} in async Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.SolveImplAsync(IFrameToSolve tmpFile, CancellationTokenSource tokenSource, IMount mount, SizeF? fieldOfView, SolveAndResyncOptions options)
Info 22:12:49.067645 #1 Before Sync mount is at RA=21:36:36.0,Dec=+57:35:47 in async Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.DoSyncAndOptionalRecenter(IFrameToSolve tmpFile, IMount mount, SolveAndResyncOptions options, SolveResults results, CancellationToken cancellationToken, RADecPosition resultsSolvedPosition, RADecPosition target, double distance, int millisecondsDelay)
Info 22:12:51.432459 #1 After Sync mount is at RA=21:45:19.9,Dec=+56:33:16 in async Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.DoSyncAndOptionalRecenter(IFrameToSolve tmpFile, IMount mount, SolveAndResyncOptions options, SolveResults results, CancellationToken cancellationToken, RADecPosition resultsSolvedPosition, RADecPosition target, double distance, int millisecondsDelay)
Info 22:12:51.432683 #1 Frame center calculated at RA=21:44:26.4,Dec=+56:25:38 (J2000) in bool SharpCap.Models.PixelPositionProviderBase.IsOkToSaveData(RADecPosition frameCenter, IMappingData mappingData)
Info 22:12:51.432891 #1 Frame center converted to JNOW : RA=21:45:19.9,Dec=+56:33:16 in bool SharpCap.Models.PixelPositionProvider.IsOkToSaveData(RADecPosition frameCenter, IMappingData mappingData)
Info 22:12:51.433357 #1 Recording Sky Orientation Mapping from Plate solving at RA=21:45:19.9,Dec=+56:33:16 in void SharpCap.Models.SkyMapping.StorePixelsPerDegreeMapping(Matrix2D mappingMatrix, string source)
Info 22:12:51.433441 #1 PixelSize is {Width=3.76, Height=3.76}, Side of Pier is EastSideLookingWest, Mapping is Rotation (xAxis):167.77, Rotation (yAxis): -192.24 Flip: False, Scaling: (3543.841309,3549.230957), Data : -3463.379,-752.4414,0,-752.4414,-3468.5547,0, FocalLength calculated at 764.62, PixelsPerDegree=3549.231 in void SharpCap.Models.SkyMapping.StorePixelsPerDegreeMapping(Matrix2D mappingMatrix, string source)
Info 22:12:51.433545 #1 Plate solve info with center at RA=21:45:19.9,Dec=+56:33:16 recorded against mount position RA=21:45:19.9,Dec=+56:33:16, mapping data is TileCenter=RA=21:30:00.0,Dec=+54:00:00, ReferencePosition=RA=21:44:26.4,Dec=+56:25:38, GridScaling=4500, PixelToGrid=Rotation (xAxis):-80.86, Rotation (yAxis): -80.98 Flip: False, Scaling: (1.266342,1.268620), Data : 0.20106152,1.252948,4.2332846E-11,1.252948,0.19879393,2.4473677E-11 0.20106152, -1.2502782, -9570.435, 1.252948, 0.19879393, 6793.656, 4.2332846E-11, 2.4473677E-11, 1.0000012, orientation is 191.9992525955844 in void SharpCap.Models.PixelPositionProvider.LogMapping()
Debug 22:12:51.433633 #1 Notification (Status=OK): Mount synced to RA=21:45:19.9,Dec=+56:33:16, re-centering on target at RA=21:36:36.0,Dec=+57:35:47 (offset of 1.58 degrees) in void SharpCap.UI.NotificationViewModel.DisplayMessage(NotificationMessage message)
Info 22:12:52.434903 #1 Before Slew mount is at RA=21:45:19.9,Dec=+56:33:16 in async Task<PlateSolveResult> SharpCap.ViewModels.PlateSolveAndResync.DoSyncAndOptionalRecenter(IFrameToSolve tmpFile, IMount mount, SolveAndResyncOptions options, SolveResults results, CancellationToken cancellationToken, RADecPosition resultsSolvedPosition, RADecPosition target, double distance, int millisecondsDelay)
Info 22:14:06.030474 #1 After Slew mount is at RA=21:36:36.0,Dec=+57:35:47
User avatar
admin
Site Admin
Posts: 17390
Joined: Sat Feb 11, 2017 3:52 pm
Location: Vale of the White Horse, UK
Contact:

Re: Built in Plate Solve; No Errors, but Image Dec is wrong

#2

Post by admin »

Hi,

thanks for sharing the log and info - it's always good to have that information straight away.

Firstly, the declination values of 63:00:00 (and I think 54:00:00 is in there somewhere too) are not a problem. SharpCap's plate solver works on data divided into tiles, and those co-ordinates are the center point of the tile that it being used to refine the calculation. The values that actually come out of the plate solver look reasonable (in the sense that they are not round numbers), but are presumably wrong based on your experience of where the image ends up pointing. The log of the plate solving operation and related mount sync all looks fine too - everything seems to go to plan and the mount ends up syncing and moving to the co-ordinates that it is instructed to. So, all we need to worry about is why the wrong co-ordinates are coming out of the plate solving.

The first thing I'd suggest is making sure your SharpCap version is up to date - unless you are using the SharpCap 4.2 beta versions then you should make sure you are using SharpCap 4.1.14310 from our download page (SharpCap displays its version number in the title bar). If you are on an older version, please update so that when we test this out I am looking at the same code that you are using :)

The next thing to do is to go to the SharpCap settings, choose the 'Logging' tab and tick the box for 'Plate solving' at the bottom of the list, then click 'Apply' or 'OK' to save the changes.

With that setting adjusted, SharpCap will save lots of information about each plate solve attempt, including the image sent to the plate solving engine. If you hit the problem again, there will be a folder with all the data needed for me to recreate the plate solve attempt and understand what is going on. You'll find these folders by looking in your main 'SharpCap Captures' folder, then 'PlateSolveImages', then there will be folders labelled according to when you started SharpCap and inside those 'Solve 1 at <time', 'Solve 2 at <time', etc. Basically, if you see the problem happen, go find the newest folder in there straight away and that should contain one or more text files and a saved image. Send those files from the latest folder to me and I will be able to try to work out what is going on.

thanks,

Robin
pmohan
Posts: 9
Joined: Sat Feb 07, 2026 7:34 pm

Re: Built in Plate Solve; No Errors, but Image Dec is wrong

#3

Post by pmohan »

Appreciate your prompt reply Robin.
Indeed, I'm running the latest version 4.1.14310 and I should have noted that.
I will implement the log detail options you suggest just to be prepared.

Incidentally, prior to running my ' Nebula 2' script, I ran a 'Nebula 1' version. It's target was [20:58:13 43:52:25]. My site latitude is 42:26:16. In this case the plate solve/resync image center ended up at a declination of 55:43:31.
Just another data point and I'm sure you'll note that my Nebula 1 target was just about local zenith.

We'll stay tuned, and if this anomaly comes up again, a deeper log will be on hand.
Best, Paul
Post Reply