public static IPlateSolver GetBlindSolver(IPlateSolveSettings plateSolveSettings) { var type = PlateSolverEnum.ASTAP; if (plateSolveSettings.BlindSolverType == BlindSolverEnum.LOCAL) { type = PlateSolverEnum.LOCAL; } else if (plateSolveSettings.BlindSolverType == BlindSolverEnum.ASPS) { type = PlateSolverEnum.ASPS; } else if (plateSolveSettings.BlindSolverType == BlindSolverEnum.ASTROMETRY_NET) { type = PlateSolverEnum.ASTROMETRY_NET; } return(GetPlateSolver(plateSolveSettings, type)); }
/// <summary> /// Creates an instance of a Platesolver depending on the solver /// </summary> /// <param name="plateSolveSettings"></param> /// <param name="solver"> Plate Solver that should be used</param> /// <returns></returns> private static IPlateSolver GetPlateSolver(IPlateSolveSettings plateSolveSettings, PlateSolverEnum solver) { switch (solver) { case PlateSolverEnum.ASTROMETRY_NET: return(new AstrometryPlateSolver(plateSolveSettings.AstrometryURL, plateSolveSettings.AstrometryAPIKey)); case PlateSolverEnum.LOCAL: return(new LocalPlateSolver(plateSolveSettings.CygwinLocation)); case PlateSolverEnum.PLATESOLVE2: return(new Platesolve2Solver(plateSolveSettings.PS2Location)); case PlateSolverEnum.ASPS: return(new AllSkyPlateSolver(plateSolveSettings.AspsLocation)); default: return(new ASTAPSolver(plateSolveSettings.ASTAPLocation)); } }
public static IPlateSolver GetPlateSolver(IPlateSolveSettings plateSolveSettings) { return(GetPlateSolver(plateSolveSettings, plateSolveSettings.PlateSolverType)); }