AutoencoderModel.h 978 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
#ifndef AutoencoderModel_h
#define AutoencoderModel_h

#include "DimensionalityReductionModel.h"


namespace otb
{
template <class TInputValue, class AutoencoderType>
class AutoencoderModel: public DimensionalityReductionModel<TInputValue>
{

public:
	
	typedef AutoencoderModel Self;
	typedef DimensionalityReductionModel<TInputValue> Superclass;
	typedef itk::SmartPointer<Self> Pointer;
	typedef itk::SmartPointer<const Self> ConstPointer;

	typedef TInputValue InputValueType;
	typedef itk::VariableLengthVector<InputValueType> InputSampleType;
	typedef itk::Statistics::ListSample<InputSampleType> InputListSampleType;


	
	void Save(const std::string & filename, const std::string & name="")  {};
	void Load(const std::string & filename, const std::string & name="") {};

	void Train();
	void Dimensionality_reduction()  {};

protected:
	AutoencoderModel(){};	
	
};
} // end namespace otb


#ifndef OTB_MANUAL_INSTANTIATION
#include "AutoencoderModel.txx"
#endif


#endif