annotate trunk/src/Support/ModuleFactory.cc @ 402:69466da9745e

- Massive refactoring to make module tree stuff work. In theory we now support configuration files again. The graphics stuff is untested as yet.
author tomwalters
date Mon, 18 Oct 2010 04:42:28 +0000
parents 0a8e7d0c70dc
children 0a428aaa5040
rev   line source
tomwalters@296 1 // Copyright 2008-2010, Thomas Walters
tomwalters@296 2 //
tomwalters@296 3 // AIM-C: A C++ implementation of the Auditory Image Model
tomwalters@296 4 // http://www.acousticscale.org/AIMC
tomwalters@296 5 //
tomwalters@318 6 // Licensed under the Apache License, Version 2.0 (the "License");
tomwalters@318 7 // you may not use this file except in compliance with the License.
tomwalters@318 8 // You may obtain a copy of the License at
tomwalters@296 9 //
tomwalters@318 10 // http://www.apache.org/licenses/LICENSE-2.0
tomwalters@296 11 //
tomwalters@318 12 // Unless required by applicable law or agreed to in writing, software
tomwalters@318 13 // distributed under the License is distributed on an "AS IS" BASIS,
tomwalters@318 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
tomwalters@318 15 // See the License for the specific language governing permissions and
tomwalters@318 16 // limitations under the License.
tomwalters@296 17
tomwalters@402 18 #include "Modules/Features/ModuleGaussians.h"
tomwalters@402 19 #include "Modules/Features/ModuleDCT.h"
tomwalters@296 20 #include "Modules/BMM/ModuleGammatone.h"
tomwalters@296 21 #include "Modules/BMM/ModulePZFC.h"
tomwalters@402 22 #include "Modules/Input/ModuleFileInput.h"
tomwalters@296 23 #include "Modules/NAP/ModuleHCL.h"
tomwalters@402 24 #include "Modules/Output/FileOutputHTK.h"
tomwalters@402 25 #include "Modules/Output/FileOutputAIMC.h"
tomwalters@402 26 #include "Modules/Output/Graphics/GraphicsViewTime.h"
tomwalters@402 27 #include "Modules/Profile/ModuleSlice.h"
tomwalters@402 28 #include "Modules/Profile/ModuleScaler.h"
tomwalters@296 29 #include "Modules/SAI/ModuleSAI.h"
tomwalters@296 30 #include "Modules/SSI/ModuleSSI.h"
tomwalters@402 31 #include "Modules/SNR/ModuleNoise.h"
tomwalters@402 32 #include "Modules/Strobes/ModuleParabola.h"
tomwalters@402 33 #include "Modules/Strobes/ModuleLocalMax.h"
tomwalters@296 34
tomwalters@296 35 #include "Support/ModuleFactory.h"
tomwalters@296 36
tomwalters@296 37 namespace aimc {
tomwalters@296 38 Module* ModuleFactory::Create(string module_name_, Parameters* params) {
tomwalters@402 39 if (module_name_.compare("gaussians") == 0)
tomwalters@402 40 return new ModuleGaussians(params);
tomwalters@402 41
tomwalters@402 42 if (module_name_.compare("dct") == 0)
tomwalters@402 43 return new ModuleDCT(params);
tomwalters@402 44
tomwalters@296 45 if (module_name_.compare("gt") == 0)
tomwalters@296 46 return new ModuleGammatone(params);
tomwalters@296 47
tomwalters@296 48 if (module_name_.compare("pzfc") == 0)
tomwalters@296 49 return new ModulePZFC(params);
tomwalters@296 50
tomwalters@296 51 if (module_name_.compare("file_input") == 0)
tomwalters@296 52 return new ModuleFileInput(params);
tomwalters@296 53
tomwalters@296 54 if (module_name_.compare("hcl") == 0)
tomwalters@296 55 return new ModuleHCL(params);
tomwalters@296 56
tomwalters@296 57 if (module_name_.compare("htk_out") == 0)
tomwalters@296 58 return new FileOutputHTK(params);
tomwalters@296 59
tomwalters@402 60 if (module_name_.compare("aimc_out") == 0)
tomwalters@402 61 return new FileOutputAIMC(params);
tomwalters@402 62
tomwalters@402 63 if (module_name_.compare("graphics_time") == 0)
tomwalters@402 64 return new GraphicsViewTime(params);
tomwalters@402 65
tomwalters@296 66 if (module_name_.compare("scaler") == 0)
tomwalters@296 67 return new ModuleScaler(params);
tomwalters@296 68
tomwalters@296 69 if (module_name_.compare("slice") == 0)
tomwalters@296 70 return new ModuleSlice(params);
tomwalters@296 71
tomwalters@296 72 if (module_name_.compare("weighted_sai") == 0)
tomwalters@296 73 return new ModuleSAI(params);
tomwalters@296 74
tomwalters@296 75 if (module_name_.compare("ssi") == 0)
tomwalters@296 76 return new ModuleSSI(params);
tomwalters@296 77
tomwalters@296 78 if (module_name_.compare("parabola") == 0)
tomwalters@296 79 return new ModuleParabola(params);
tomwalters@296 80
tomwalters@402 81 if (module_name_.compare("local_max") == 0)
tomwalters@402 82 return new ModuleLocalMax(params);
tomwalters@402 83
tomwalters@296 84 return NULL;
tomwalters@296 85 }
tomwalters@296 86 } // namespace aimc