MatlabReader update
This commit is contained in:
@@ -23,6 +23,20 @@ MatlabReader::~MatlabReader()
|
|||||||
Mat_Close(mMatFile);
|
Mat_Close(mMatFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<short> MatlabReader::readint16(const std::string& aFieldName, size_t& aSize)
|
||||||
|
{
|
||||||
|
if(mMatFile == nullptr)
|
||||||
|
{
|
||||||
|
return std::shared_ptr<short>();
|
||||||
|
}
|
||||||
|
matvar_t* matvar = Mat_VarRead(mMatFile, aFieldName.c_str());
|
||||||
|
aSize = matvar->nbytes / static_cast<unsigned long long>(matvar->data_size);
|
||||||
|
short* resultDara = new short[aSize];
|
||||||
|
std::copy((short*)matvar->data,(short*)matvar->data+aSize,resultDara);
|
||||||
|
std::shared_ptr<short> result();
|
||||||
|
return std::shared_ptr<short>(resultDara,std::default_delete<short[]>());
|
||||||
|
}
|
||||||
|
|
||||||
Aurora::Matrix MatlabReader::read(const std::string& aFieldName)
|
Aurora::Matrix MatlabReader::read(const std::string& aFieldName)
|
||||||
{
|
{
|
||||||
if(mMatFile == nullptr)
|
if(mMatFile == nullptr)
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ public:
|
|||||||
explicit MatlabReader(const std::string& aFilePath);
|
explicit MatlabReader(const std::string& aFilePath);
|
||||||
~MatlabReader();
|
~MatlabReader();
|
||||||
Aurora::Matrix read(const std::string& aFieldName);
|
Aurora::Matrix read(const std::string& aFieldName);
|
||||||
|
std::shared_ptr<short> readint16(const std::string& aFieldName,size_t& size);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
mat_t* mMatFile;
|
mat_t* mMatFile;
|
||||||
|
|||||||
Reference in New Issue
Block a user