public void RunPipeline <T>(PositionDependentMap <T> Map, string Name, int Number, ref FitsImage Pipeline, T Argument, AlgorithmRunParameters Parameters) { bool Value = EnsureImage(Name, Number, out FitsImage Result); if (!Value) { Map.Run(Argument, Pipeline, Result, Parameters); } Result.GetProperty <ImageSource>().AddToSet(Pipeline, Name); Pipeline = Result; LogHookImage(!Value, Name, Number); }
/// <summary> /// Runs the given algorithm on the input data. /// </summary> /// <typeparam name="T">Extra parameter type.</typeparam> /// <param name="Algorithm">Parallel algorithm.</param> /// <param name="Argument">Argument to be passed to all invocations.</param> /// <param name="Input">Input image.</param> /// <param name="Output">Output image.</param> /// <param name="Parameters">Parameters of the algorithm run.</param> public static void RunAlgorithm <T>(PositionDependentMap <T> Algorithm, T Argument, Image Input, Image Output, AlgorithmRunParameters Parameters) { RunDetails details = new RunDetails() { Algorithm = Algorithm, InputImages = new Image[] { Input }, OutputImage = Output, Parameters = new object[] { Argument }, Type = AlgorithmType.PositionMap, }; PrepareGeometry(ref details, Parameters); DefaultScheduler(details); }
public static void Run <T>(this PositionDependentMap <T> Algorithm, T Argument, Image Input, Image Output, AlgorithmRunParameters Parameters) { RunAlgorithm(Algorithm, Argument, Input, Output, Parameters); }