public static void Generate(string outputFolder) { Directory.CreateDirectory(outputFolder); var reference = FitsIO.ReadImage(Path.Combine(INPUT_DIR, "xReference4.fits")); Tools.WriteToMeltCSV(reference, Path.Combine(outputFolder, "CD-reference.csv")); var n132 = Tools.LMC.CutN132Remnant(reference); Tools.WriteToMeltCSV(n132.Item1, Path.Combine(outputFolder, "CD-N132.csv"), n132.Item2, n132.Item3); var calibration = Tools.LMC.CutCalibration(reference); Tools.WriteToMeltCSV(calibration.Item1, Path.Combine(outputFolder, "CD-Calibration.csv"), calibration.Item2, calibration.Item3); var residual = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "cd-residual.fits")); Tools.WriteToMeltCSV(residual, Path.Combine(outputFolder, "CD-reference-residuals.csv")); var dirtyImage = FitsIO.ReadImage(Path.Combine(INPUT_DIR, "dirty0.fits")); Tools.WriteToMeltCSV(dirtyImage, Path.Combine(outputFolder, "CD-dirty.csv")); var reconstruction = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "cd-image.fits")); Tools.WriteToMeltCSV(reconstruction, Path.Combine(outputFolder, "CD-restored.csv")); var image = new float[reconstruction.GetLength(0), reconstruction.GetLength(1)]; for (int i = 0; i < reconstruction.GetLength(0); i++) { for (int j = 0; j < reconstruction.GetLength(1); j++) { image[i, j] = reconstruction[i, j] - residual[i, j]; } } Tools.WriteToMeltCSV(image, Path.Combine(outputFolder, "CD-image-no-residuals.csv")); var example = Tools.LMC.CutExampleImage(image); Tools.WriteToMeltCSV(example.Item1, Path.Combine(outputFolder, "CD-example.csv"), example.Item2, example.Item3); n132 = Tools.LMC.CutN132Remnant(image); Tools.WriteToMeltCSV(n132.Item1, Path.Combine(outputFolder, "CD-image-N132.csv"), n132.Item2, n132.Item3); calibration = Tools.LMC.CutCalibration(image); Tools.WriteToMeltCSV(calibration.Item1, Path.Combine(outputFolder, "CD-image-Calibration.csv"), calibration.Item2, calibration.Item3); }
public static void Generate(string outputFolder) { Directory.CreateDirectory(outputFolder); var model = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "nat-iuwt-model.fits")); var residual = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "nat-iuwt-residual.fits")); Tools.WriteToMeltCSV(residual, Path.Combine(outputFolder, "iuwt-residuals.csv")); Tools.WriteToMeltCSV(model, Path.Combine(outputFolder, "iuwt-model.csv")); var reconstruction = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "nat-iuwt-image.fits")); var image = new float[reconstruction.GetLength(0), reconstruction.GetLength(1)]; for (int i = 0; i < reconstruction.GetLength(0); i++) { for (int j = 0; j < reconstruction.GetLength(1); j++) { image[i, j] = reconstruction[i, j] - residual[i, j]; } } var example = Tools.LMC.CutExampleImage(image); Tools.WriteToMeltCSV(example.Item1, Path.Combine(outputFolder, "iuwt-example.csv"), example.Item2, example.Item3); var n132 = Tools.LMC.CutN132Remnant(image); Tools.WriteToMeltCSV(n132.Item1, Path.Combine(outputFolder, "iuwt-image-N132.csv"), n132.Item2, n132.Item3); var calibration = Tools.LMC.CutCalibration(image); Tools.WriteToMeltCSV(calibration.Item1, Path.Combine(outputFolder, "iuwt-image-Calibration.csv"), calibration.Item2, calibration.Item3); n132 = Tools.LMC.CutN132Remnant(model); Tools.WriteToMeltCSV(n132.Item1, Path.Combine(outputFolder, "iuwt-N132.csv"), n132.Item2, n132.Item3); calibration = Tools.LMC.CutCalibration(model); Tools.WriteToMeltCSV(calibration.Item1, Path.Combine(outputFolder, "iuwt-Calibration.csv"), calibration.Item2, calibration.Item3); }
public static void Generate(string outputFolder) { Directory.CreateDirectory(outputFolder); var reconstruction = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "img-comparison-briggs-MFS-image.fits")); var residual = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "img-comparison-briggs-MFS-residual.fits")); Tools.WriteToMeltCSV(residual, Path.Combine(outputFolder, "briggs-CLEAN-residuals.csv")); var image = new float[reconstruction.GetLength(0), reconstruction.GetLength(1)]; for (int i = 0; i < reconstruction.GetLength(0); i++) { for (int j = 0; j < reconstruction.GetLength(1); j++) { image[i, j] = reconstruction[i, j] - residual[i, j]; } } FitsIO.Write(image, Path.Combine(outputFolder, "MSClean.fits")); Tools.WriteToMeltCSV(image, Path.Combine(outputFolder, "Briggs-CLEAN.csv")); var n132 = Tools.LMC.CutN132Remnant(image); Tools.WriteToMeltCSV(n132.Item1, Path.Combine(outputFolder, "Briggs-N132.csv"), n132.Item2, n132.Item3); var calibration = Tools.LMC.CutCalibration(image); Tools.WriteToMeltCSV(calibration.Item1, Path.Combine(outputFolder, "Briggs-Calibration.csv"), calibration.Item2, calibration.Item3); var psf = Common.PSF.Cut(FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "nat-clean-psf.fits")), 4); FitsIO.Write(psf, Path.Combine(outputFolder, "natclean-PSF.fits")); Tools.WriteToMeltCSV(psf, Path.Combine(outputFolder, "natclean-PSF.csv"), psf.GetLength(0), psf.GetLength(1)); reconstruction = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "nat-clean-image.fits")); residual = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "nat-clean-residual.fits")); image = new float[reconstruction.GetLength(0), reconstruction.GetLength(1)]; for (int i = 0; i < reconstruction.GetLength(0); i++) { for (int j = 0; j < reconstruction.GetLength(1); j++) { image[i, j] = reconstruction[i, j] - residual[i, j]; } } var example = Tools.LMC.CutExampleImage(image); Tools.WriteToMeltCSV(example.Item1, Path.Combine(outputFolder, "natclean-example.csv"), example.Item2, example.Item3); FitsIO.Write(image, Path.Combine(outputFolder, "NaturalMSClean.fits")); var model = FitsIO.ReadCASAFits(Path.Combine(INPUT_DIR, "nat-clean-model.fits")); Tools.WriteToMeltCSV(model, Path.Combine(outputFolder, "Natural-CLEAN.csv")); Tools.WriteToMeltCSV(residual, Path.Combine(outputFolder, "Natural-CLEAN-residuals.csv")); n132 = Tools.LMC.CutN132Remnant(model); Tools.WriteToMeltCSV(n132.Item1, Path.Combine(outputFolder, "Natural-N132.csv"), n132.Item2, n132.Item3); calibration = Tools.LMC.CutCalibration(model); Tools.WriteToMeltCSV(calibration.Item1, Path.Combine(outputFolder, "Natural-Calibration.csv"), calibration.Item2, calibration.Item3); n132 = Tools.LMC.CutN132Remnant(image); Tools.WriteToMeltCSV(n132.Item1, Path.Combine(outputFolder, "Natural-image-N132.csv"), n132.Item2, n132.Item3); calibration = Tools.LMC.CutCalibration(image); Tools.WriteToMeltCSV(calibration.Item1, Path.Combine(outputFolder, "Natural-image-Calibration.csv"), calibration.Item2, calibration.Item3); }