Isis 3.0 Application Source Code Reference |
Home |
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