USGS

Isis 3.0 Application Source Code Reference

Home

viknosalt.cpp

Go to the documentation of this file.
00001 #include "Isis.h"
00002 
00003 #include "Pipeline.h"
00004 
00005 using namespace std;
00006 using namespace Isis;
00007 
00008 void IsisMain() {
00009   UserInterface &ui = Application::GetUserInterface();
00010   bool rmv = ui.GetBoolean("REMOVE");
00011 
00012   Pipeline pipeline("viknosalt");
00013   pipeline.SetInputFile("FROM");
00014   pipeline.SetOutputFile("TO");
00015   pipeline.KeepTemporaryFiles(!rmv);
00016 
00017   // Trim the edges of the cube
00018   pipeline.AddToPipeline("trim");
00019   pipeline.Application("trim").SetInputParameter("FROM", false);
00020   pipeline.Application("trim").SetOutputParameter("TO", "step1");
00021   pipeline.Application("trim").AddConstParameter("top", "1");
00022   pipeline.Application("trim").AddConstParameter("left", "1");
00023   pipeline.Application("trim").AddConstParameter("right", "1");
00024 
00025   // Run a trimfilter on the cube
00026   pipeline.AddToPipeline("trimfilter");
00027   pipeline.Application("trimfilter").SetInputParameter("FROM", false);
00028   pipeline.Application("trimfilter").SetOutputParameter("TO", "step2");
00029   pipeline.Application("trimfilter").AddConstParameter("samp", "3");
00030   pipeline.Application("trimfilter").AddConstParameter("line", "3");
00031   pipeline.Application("trimfilter").AddConstParameter("minimum", "3");
00032 
00033   // Run a standard deviation filter on the cube
00034   pipeline.AddToPipeline("noisefilter", "stddev1");
00035   pipeline.Application("stddev1").SetInputParameter("FROM", false);
00036   pipeline.Application("stddev1").SetOutputParameter("TO", "step3");
00037   pipeline.Application("stddev1").AddConstParameter("toldef", "stddev");
00038   pipeline.Application("stddev1").AddConstParameter("tolmin", "100");
00039   pipeline.Application("stddev1").AddConstParameter("tolmax", "3.0");
00040   pipeline.Application("stddev1").AddConstParameter("samp", "3");
00041   pipeline.Application("stddev1").AddConstParameter("line", "3");
00042   pipeline.Application("stddev1").AddConstParameter("minimum", "3");
00043 
00044   // Run a noise filter on the cube
00045   pipeline.AddToPipeline("noisefilter", "noisefilter1");
00046   pipeline.Application("noisefilter1").SetInputParameter("FROM", false);
00047   pipeline.Application("noisefilter1").SetOutputParameter("TO", "step4");
00048   pipeline.Application("noisefilter1").AddConstParameter("tolmin", "300");
00049   pipeline.Application("noisefilter1").AddConstParameter("tolmax", "100");
00050   pipeline.Application("noisefilter1").AddConstParameter("samp", "3");
00051   pipeline.Application("noisefilter1").AddConstParameter("line", "3");
00052   pipeline.Application("noisefilter1").AddConstParameter("minimum", "2");
00053 
00054   // Run a second noise filter on the cube
00055   pipeline.AddToPipeline("noisefilter", "noisefilter2");
00056   pipeline.Application("noisefilter2").SetInputParameter("FROM", false);
00057   pipeline.Application("noisefilter2").SetOutputParameter("TO", "step5");
00058   pipeline.Application("noisefilter2").AddConstParameter("tolmin", "300");
00059   pipeline.Application("noisefilter2").AddConstParameter("tolmax", "60");
00060   pipeline.Application("noisefilter2").AddConstParameter("samp", "3");
00061   pipeline.Application("noisefilter2").AddConstParameter("line", "3");
00062   pipeline.Application("noisefilter2").AddConstParameter("minimum", "2");
00063 
00064   // Run a second standard deviation filter on the cube
00065   pipeline.AddToPipeline("noisefilter", "stddev2");
00066   pipeline.Application("stddev2").SetInputParameter("FROM", false);
00067   pipeline.Application("stddev2").SetOutputParameter("TO", "step6");
00068   pipeline.Application("stddev2").AddConstParameter("toldef", "stddev");
00069   pipeline.Application("stddev2").AddConstParameter("tolmin", "100");
00070   pipeline.Application("stddev2").AddConstParameter("tolmax", "2.0");
00071   pipeline.Application("stddev2").AddConstParameter("samp", "3");
00072   pipeline.Application("stddev2").AddConstParameter("line", "3");
00073   pipeline.Application("stddev2").AddConstParameter("minimum", "7");
00074 
00075   // Run a third noise filter on the cube
00076   pipeline.AddToPipeline("noisefilter", "noisefilter3");
00077   pipeline.Application("noisefilter3").SetInputParameter("FROM", false);
00078   pipeline.Application("noisefilter3").SetOutputParameter("TO", "step7");
00079   pipeline.Application("noisefilter3").AddConstParameter("tolmin", "300");
00080   pipeline.Application("noisefilter3").AddConstParameter("tolmax", "46");
00081   pipeline.Application("noisefilter3").AddConstParameter("samp", "3");
00082   pipeline.Application("noisefilter3").AddConstParameter("line", "3");
00083   pipeline.Application("noisefilter3").AddConstParameter("minimum", "7");
00084 
00085   // Run a low pass filter on the invalid data in the cube
00086   pipeline.AddToPipeline("lowpass");
00087   pipeline.Application("lowpass").SetInputParameter("FROM", false);
00088   pipeline.Application("lowpass").SetOutputParameter("TO", "", "cub");
00089   pipeline.Application("lowpass").AddConstParameter("samp", "3");
00090   pipeline.Application("lowpass").AddConstParameter("line", "3");
00091   pipeline.Application("lowpass").AddConstParameter("minimum", "2");
00092   pipeline.Application("lowpass").AddConstParameter("filter", "outside");
00093   pipeline.Application("lowpass").AddConstParameter("null", "true");
00094   pipeline.Application("lowpass").AddConstParameter("lis", "true");
00095   pipeline.Application("lowpass").AddConstParameter("his", "true");
00096   pipeline.Application("lowpass").AddConstParameter("lrs", "true");
00097 
00098   pipeline.Run();
00099 }
00100