public XYToRADec(string wcsfilepath, double Xpos, double Ypos) { //Open reference image in TSX. Plate solve. ccdsoftImage tsx_img = new ccdsoftImage(); tsx_img.Path = wcsfilepath; tsx_img.Open(); tsx_img.DetachOnClose = 0; try { tsx_img.InsertWCS(true); } catch { tsx_img.Close(); plateSolve = false; return; } tsx_img.XYToRADec(Xpos, Ypos); targetRA = tsx_img.XYToRADecResultRA(); targetDec = tsx_img.XYToRADecResultDec(); northangle = tsx_img.NorthAngle; imagescale = tsx_img.ScaleInArcsecondsPerPixel; imagewidth = tsx_img.WidthInPixels; imageheight = tsx_img.HeightInPixels; plateSolve = true; tsx_img.Close(); return; }
public RADecToXY(string wcsfilepath, double tRA, double tDec) { //Open reference image in TSX. Plate solve. ccdsoftImage tsx_img = new ccdsoftImage(); tsx_img.Path = wcsfilepath; tsx_img.Open(); tsx_img.DetachOnClose = 0; try { tsx_img.InsertWCS(true); } catch { tsx_img.Close(); plateSolveResult = false; return; } tsx_img.RADecToXY(tRA, tDec); targetX = Convert.ToInt32(tsx_img.RADecToXYResultX()); targetY = Convert.ToInt32(tsx_img.RADecToXYResultY()); northangle = tsx_img.NorthAngle; imagescale = tsx_img.ScaleInArcsecondsPerPixel; imagewidth = tsx_img.WidthInPixels; imageheight = tsx_img.HeightInPixels; //Check for some catastrophic problem with the image link result if ((targetX < 0) || (targetX > imagewidth) || (targetY < 0) || (targetY > imageheight)) { plateSolveResult = false; } else { plateSolveResult = true; }; tsx_img.Close(); return; }