* add the desired fields to the table in dbconfig. dbconfig/tasks.md contains the entries for rawExp and rawImfile M1_x F32 0.0 * add corresponding entries in the ippTool/src/regtoolConfig.c file psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-M1_x", 0, "define M1 X position", NAN); psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-M1_x", 0, "define M1 X position", NAN); * add the entries (in ippTool/src/regtool.c) to the newToRaw functions and the corresponding row alloc (the new RowAlloc api will give a compile time error if the correct entries are not added. psF32 M1_x = psMetadataLookupF32(&status, config->args, "-M1_x"); * define the header translations in the ippconfig/CAMERA/format*.config (TRANSLATION METADATA) FPA.M1X STR M1X * add the corresponding entry to the ippconfig/recipes/ppStats.config file (REGISTER METADATA) CONCEPT STR FPA.M1X # Primary x position * add the corresponding entries to the STATS structure in register_imfile.pl and register_exp.pl { name => "FPA.M1X", type => "constant", flag => "-M1_x", dtype => "float" }, # M1X * add the new concepts to psModules/src/concepts/pmConcepts.c psMetadataItem *item = psMetadataItemAllocF32("FPA.M1X", "Primary Mirror X Position", NAN); pmConceptRegister(item, NULL, NULL, false, PM_FPA_LEVEL_FPA); psFree(item);