diff --git a/MMS24_25.h b/MMS24_25.h index 91ee884..5a751d9 100644 --- a/MMS24_25.h +++ b/MMS24_25.h @@ -1,27 +1,28 @@ -// -// Created by frederikbeimgraben, minhdancam, leahornberger on 03.12.2024. -// +#ifndef MMS24_25_H_ +#define MMS24_25_H_ -#ifndef MMS24_25_H -#define MMS24_25_H +typedef struct { + int iNumLocalExtrema; + int *piLocalExtremaPos; +} LocalExtrema; + +typedef struct { + int iGlobalMinPos; + int iGlobalMaxPos; + LocalExtrema *pexLocalMax; + LocalExtrema *pexLocalMin; +} Extrema; typedef struct { double *pdValues; int iNumValues; + double dArea; + double dMean; + double dStdDev; + double dMedian; + Extrema *pexExtrema; } MMSignal; -typedef struct { - int iNumLocalExtrema; - int *piLocalExtremaPos; -} LocalExtrema; - -typedef struct { - int iGlobalMinPos; - int iGlobalMaxPos; - LocalExtrema *pexLocalMax; - LocalExtrema *pexLocalMin; -} Extrema; - typedef struct { double dIntervalMin; double dIntervalMax; @@ -53,9 +54,10 @@ void writeDoubleArray(double *pdOut, int iLen, char *pcOutName); int readDoubleArray(char *pcInName, double **ppdIn); MMSignal *createSignal(); +MMSignal *createSignalFromSignal(MMSignal *pmmsIn); +MMSignal *createSignalWithDefault(int iArrayLen, double dDefaultValue); MMSignal *createSignalFromDoubleArray(int iArrayLen, double *pdIn); MMSignal *createSignalFromFile(char *pcInName); -MMSignal *readMMSignal(char *pcInName); void writeMMSignal(char *pcInName, MMSignal *pmmsIn); void deleteSignal(MMSignal *pmmsIn); @@ -70,6 +72,8 @@ double calculateStddev(double *pdIn, int iLen); double calculateMedian(double *pdIn, int iLen); Extrema *initExtrema(double *pdIn, int iLen); void deleteExtrema(Extrema *pexIn); +void initMMSignalFeatures(MMSignal *pmmsIn); + Histogram *initHistogram(double *pdIn, int iLen, int iNumBins); void deleteHistogram(Histogram *phisIn); double calculateEntropy(Histogram *phisIn); @@ -78,11 +82,15 @@ double calculateEntropy(Histogram *phisIn); * AUFGABE 3 ********************************/ MMSignal *convoluteSignals(MMSignal *pmmsInA,MMSignal *pmmsInB); -double *getPascalLine(int iLinenum); +MMSignal *getPascalLine(int iLinenum); /******************************** * AUFGABE 4 ********************************/ - -#endif //MMS24_25_H - +void computeDFT(int iLen, + double *pdRealIn, double *pdImgIn, + double *pdRealOut, double *pdImgOut, + int iDirection /*-1,1*/); +void convertCart2Polar(double *pdRealIn, double *pdImgIn,double *pdRadiusOut, double *pdAngleOut, int iLen); +void convertPolar2Cart(double *pdRadiusIn, double *pdAngleIn, double *pdRealOut, double *pdImgOut,int iLen); +#endif