#pragma once
#include "EncodeDecodeHelper.h"
#include "UniformHelper.h"
#include "SliceHelper.h"
#include "FusionHelper.h"
#pragma region 全局变量
EncodeDecodeHelper _encodeDecode;
#pragma endregion
#pragma region 导出函数
///
/// 获取错误详情
///
///
///
///
///
extern "C" __declspec(dllexport) void GetErrorCodeAndMsg(ErrorCode& errorCode,char* errorMsg, const int errorMaxLen);
///
/// 对图像数据进行解码
///
///
///
///
///
///
///
extern "C" __declspec(dllexport) bool ImDataDecode(const uint8_t * srcImgData, const int srcDataSize,
uint8_t * dstImgData, const int dstDataSize, ImreadModes imReadMode);
///
/// 对图像数据进行编码
///
///
///
///
///
///
///
///
extern "C" __declspec(dllexport) bool ImDataEncode(ImageInfo srcImgInfo,ImwriteExtension extension,
ImwriteParam * imwriteParams,int paramCount, uint8_t * dstImgData, int& dstDataSize);
///
/// 将直线扫查的数据转成均一立方体
///
///
///
///
extern "C" __declspec(dllexport) bool StraightScanDataToUniformCube(VolumeDataPreProcessorInfo volumeInfo,
uint8_t * dstVolumeData);
///
/// 获取立方体的六个表面
///
///
///
///
///
extern "C" __declspec(dllexport) bool GetSurfacePicsFromUniformCube(UniformVolumeDataInfo volumeDataInfo,
int surfaceNum, SurfacePicInfo * surfaceInfos);
///
/// 基于ITK的x方向融合
///
///
///
///
///
extern "C" __declspec(dllexport) bool ITKBasedFusionAlongX(UniformVolumeDataInfo* volumeDataInfos, int volumeDataCount,
UniformVolumeDataInfo& fusedDataInfo);
///
/// 对图像数据进行编码并保存至本地
///
///
///
///
///
///
///
extern "C" __declspec(dllexport) bool ImDataSave(ImageInfo srcImgInfo, ImwriteExtension extension,
ImwriteParam * imwriteParams, int paramCount, const char* savePath);
#pragma endregion