# HiRISE Calibration Matricies configuration file # See documentation for the hical application on the content and form of # this file. # $Id: hicalbeta.XXXX.conf,v 1.6 2008/04/02 17:24:39 kbecker Exp $ Object = Hical Program = "hicalbeta" Name = "HiMatrices" DefaultProfile = "HiMatrices" /* If you want to rerun hical, you must set PropagateTables to True. Use */ /* this in conjuction with Debug::SkipPhase = True option for each module. */ PropagateTables = False /* Define label groups that are loaded for each profile reference */ /* Note all keywords in these groups become available to all profiles. */ /* Thus, you can use them in the OptionKeywords and ProfileOptions keywords */ /* to create very specialized profiles for special needs. */ /* Specify the FPA reference temperature. It is used in several modules so */ /* it is specified at the top level */ LabelGroups = ( "Dimensions", "Instrument", "Archive") /* These keywords are used in ProfileOptions mapping. Note that order and */ /* case matter! WARNING: You can easily break file lookups if these keys */ /* are deleted or modified improperly!!! */ OptionKeywords = ("FILTER", "CCD", "CHANNEL", "TDI", "BIN", "ProductId", "Program", "Module", "OPATH") /* Additional profile combinations and order load hierarchy. These keywords */ /* are defined when the LabelGroups are loaded. */ ProfileOptions = ("{FILTER}", "TDI{TDI}", "BIN{BIN}", "TDI{TDI}/BIN{BIN}", "{FILTER}{CCD}_{CHANNEL}", "{FILTER}{CCD}_{CHANNEL}/TDI{TDI}/BIN{BIN}", "Debug") /* Specify the FPA reference temperature. It is used in several modules so */ /* it is specified at the top level */ FpaReferenceTemperature = 21.0 /* This profile contains parameters pertinent to processing the buffer */ /* pixels for subsequent using in the drift correction, Zd module */ Group = Profile Name = Zf Module = Zf ZfFirstSample = 5 ZfLastSample = 11 ZfFilterWidth = 11 ZfFilterIterations = 1 End_Group /* This profile contains parameters pertinent to processing drift correction */ Group = Profile Name = Zd Module = Zd /* Uncomment to turn off non linear fitting of Zf data and pass it thru */ /* ZdSkipFit = True */ /* Minimum number of good lines (NLines - (TrimLines/Summing)) to fit */ ZdMinimumLines = 250 /* Maximum number of iterations for the algorithm to converge and */ /* other limits */ MaximumIterations = 100 MaximumLog = 709.0 /* Convergence parameters for Levenberg-Marquardt algorithm */ /* Equation is solved when |dx_i| < AbsoluteError + RelativeError * |x_i| */ /* where dx is the last step and x is the current step for each i-th */ /* value */ AbsoluteError = 1.0E-4 RelativeError = 1.0E-4 /* Filtering of the guestimate buffer */ GuessFilterWidth = 17 GuessFilterIterations = 1 # DumpModuleFile = "{ProductId}_{Module}.log" End_Group /* This profile contains parameters pertinent to processing the offset */ Group = Profile Name = Zz Module = Zz /* Set calibration parameters for hiclean operations. Indexes are all 0-based */ ZzFirstLine = 1 ZzLastLine = 19 End_Group /* This profile contains parameters pertinent to processing dark current. */ /* Required label keywords: Summing, Tdi, FpaPositiveYTemperature, */ /* and FpaNegativeYTemperature, Lines */ /* Also needs LineTime which is computed. */ Group = Profile Name = Zb Module = Zb /* Define the B matrix file reference */ B = "$mro/calibration/matrices/beta/B_TDI{TDI}_BIN{BIN}_hicalbeta_????.cub" SkipLines = 1 Slope = "$mro/calibration/matrices/beta/t_slope_CH{CHANNEL}_hicalbeta_????.csv" Intercept = "$mro/calibration/matrices/beta/t_intercept_CH{CHANNEL}_hicalbeta_????.csv" /* Do filtering? */ ZbFilterWidth = 3 ZbFilterIterations = 1 End_Group /* This profile contains parameters pertinent to processing gain correction. */ /* Required label keywords: CpmmNumber, ChannelNumber, Lines */ Group = Profile Name = Zg Module = Zg SkipLines = 1 GainLineCoefficients = "$mro/calibration/matrices/beta/line_correct_{BIN}_????.csv" End_Group /* This profile contains parameters pertinent to processing gain correction. */ /* Required label keywords: CpmmNumber, ChannelNumber, Lines */ Group = Profile Name = Zgg Module = Zgg /* Define the G matrix file reference */ G = "$mro/calibration/matrices/beta/G_TDI{TDI}_BIN{BIN}_hicalbeta_????.cub" End_Group /* This profile contains parameters pertinent to processing gain correction. */ /* Required label keywords: CpmmNumber, ChannelNumber, Lines */ Group = Profile Name = Za Module = Za / Applies a temperature correction factor to A matrix */ ZaFpaTemperatureFactor = 0.005 /* Define the A matrix file reference */ A = "$mro/calibration/matrices/beta/A_TDI{TDI}_BIN{BIN}_hicalbeta_????.cub" End_Group /* This profile contains parameters pertinent to processing I/F conversion. */ /* Required label keywords: ScanExposureDuration */ Group = Profile Name = Ziof Module = Ziof /* I/F correction for tdi/bin - currently set at 1.0 for all tdi/bin */h /* combinations. */ ZiofBinFactor = 1.0 End_Group /* Here are the filter profiles. All keywords that pertain to a filter set */ /* should be specified here. FilterGainCorrection are I/F corrections in */ /* units of DN/s. */ Group = Profile Name = RED FilterGainCorrection = 175613029.0 End_Group Group = Profile Name = IR FilterGainCorrection = 58571990.0 End_Group Group = Profile Name = BG FilterGainCorrection = 93575312.0 End_Group Group = Profile Name = IR10_1 # LastGoodLine = 3100 End_Group Group = Profile Name = Debug /** Current disables writting to label history due to bug in keyword formatter in ISIS **/ /* The bug has the following error signature: */ /* terminate called after throwing an instance of 'std::out_of_range' */ /* what(): basic_string::substr */ /* Abort */ /* You must set this to false when this occurs as a workaround and use the */ /* DumpHistoryFile parameter to see the parameter history. */ LogParameterHistory = False /* Uncomment this line to write parameter history to the ProductId log */ DumpHistoryFile = "{OPATH}/{ProductId}.{Program}.log" /* Uncomment this line to dump Module data for every module when using Debug */ /* profiling. */ # DumpModuleFile = "{ProductId}_{Module}.log" End_Group End_Object