finished ctython interfae

This commit is contained in:
Mario Fink 2019-04-26 12:59:15 +02:00
parent 97d26f57da
commit 5333441336
3 changed files with 21 additions and 8 deletions

View File

@ -1,13 +1,22 @@
import tdm_ripper
import numpy as np
tdmpath = b"samples/SineData.tdm"
tdxpath = b"samples/SineData.tdx"
rippobj = tdm_ripper.pytdmripper(tdmpath)
# create instance of ripper class
RP = tdm_ripper.pytdmripper(tdmpath)
rippobj.show_channels()
# provide overview of available channels
RP.show_channels()
print(rippobj.num_channels())
print(rippobj.num_groups())
print(RP.num_channels())
print(RP.num_groups())
rippobj.print_channel(1,b"SineData_extract.dat")
# print particular channel to file
RP.print_channel(1,b"SineData_extract.dat")
# extract channel and return it to numpy array
chann = RP.get_channel(1)
print(dim(chann))

View File

@ -5,8 +5,8 @@ from tdm_ripper cimport tdm_ripper
cdef class pytdmripper:
# use pointer since there's no nullary constructor
cdef tdm_ripper*cripp
# pointer to C++ instance (since there's no nullary constructor)
cdef tdm_ripper *cripp
def __cinit__(self, string tdmfile):
self.cripp = new tdm_ripper(tdmfile)
@ -23,5 +23,8 @@ cdef class pytdmripper:
def num_groups(self):
return self.cripp.num_groups()
def print_channel(self,int channelid, const char* filename):
def get_channel(self, int channelid):
return self.cripp.get_channel(channelid)
def print_channel(self, int channelid, const char* filename):
self.cripp.print_channel(channelid,filename)

View File

@ -11,4 +11,5 @@ cdef extern from "tdm_ripper.hpp":
void show_channels()
int num_channels()
int num_groups()
vector[double] get_channel(int)
void print_channel(int,const char*)