diff --git a/example.py b/example.py index 45fa4d1..487e5ba 100644 --- a/example.py +++ b/example.py @@ -7,6 +7,7 @@ tdxpath = b"samples/SineData.tdx" # create instance of ripper class RP = tdm_ripper.pytdmripper(tdmpath) +RP = tdm_ripper.pytdmripper(b"/Users/mariofink/git/Conti_HBS/data_science/python/features/tdm_tmp_slow/75_1/Messung.tdm") # provide overview of available channels RP.show_channels() @@ -14,27 +15,30 @@ RP.show_channels() print(RP.num_channels()) print(RP.num_groups()) +for i in range(0,RP.num_groups()): + print(str(i+1).rjust(10)+str(RP.no_channels(i)).rjust(10)) + # print particular channel to file -RP.print_channel(1,b"SineData_extract.dat") +# RP.print_channel(1,b"SineData_extract.dat") # extract channel and return it to numpy array -channels = RP.get_channel(1) -Nlen = len(channels) -channels = np.append(channels,RP.get_channel(2)) -channels = np.append(channels,RP.get_channel(3)) -channels = np.append(channels,RP.get_channel(4)) -channels = np.append(channels,RP.get_channel(5)) -channels = np.append(channels,RP.get_channel(6)) -channels = np.append(channels,RP.get_channel(7)) -channels = np.append(channels,RP.get_channel(8)) -print(channels.shape) -print("\n\n") -print(channels[0:40]) - -x = np.linspace(0,Nlen,Nlen) -plt.plot(x,channels[0:Nlen]) -plt.plot(x,channels[Nlen:2*Nlen]) -plt.plot(x,channels[2*Nlen:3*Nlen]) - -plt.grid() -plt.show() +# channels = RP.get_channel(1) +# Nlen = len(channels) +# channels = np.append(channels,RP.get_channel(2)) +# channels = np.append(channels,RP.get_channel(3)) +# channels = np.append(channels,RP.get_channel(4)) +# channels = np.append(channels,RP.get_channel(5)) +# channels = np.append(channels,RP.get_channel(6)) +# channels = np.append(channels,RP.get_channel(7)) +# channels = np.append(channels,RP.get_channel(8)) +# print(channels.shape) +# print("\n\n") +# print(channels[0:40]) +# +# x = np.linspace(0,Nlen,Nlen) +# plt.plot(x,channels[0:Nlen]) +# plt.plot(x,channels[Nlen:2*Nlen]) +# plt.plot(x,channels[2*Nlen:3*Nlen]) +# +# plt.grid() +# plt.show() diff --git a/lib/tdm_ripper.cpp b/lib/tdm_ripper.cpp index 8eb27ec..c6b6a0f 100644 --- a/lib/tdm_ripper.cpp +++ b/lib/tdm_ripper.cpp @@ -209,6 +209,10 @@ void tdm_ripper::parse_structure() assert( num_channels_ == (int)channel_id_.size() && num_channels_ == (int)channel_name_.size() && num_channels_ == (int)channels_group_.size() ); + + std::cout< 0 && groupid <= num_channels_ ); + + return num_channels_group_[groupid-1]; + } const std::string& channel_name(int channelid) { diff --git a/main.cpp b/main.cpp index 1c68800..75ffb8b 100644 --- a/main.cpp +++ b/main.cpp @@ -25,17 +25,22 @@ int main(int argc, char* argv[]) std::cout<<"number of channels "< channA = ripper.get_channel(1); // for ( auto el: channA ) std::cout<= 0 and groupid < self.cripp.num_groups()), "index of group must be in [0,n-1]" + groupidinc = groupid+1 + return self.cripp.no_channels(groupidinc) + def num_groups(self): return self.cripp.num_groups() diff --git a/tdm_ripper.pxd b/tdm_ripper.pxd index 0d372b8..c0b229a 100644 --- a/tdm_ripper.pxd +++ b/tdm_ripper.pxd @@ -13,6 +13,7 @@ cdef extern from "tdm_ripper.hpp": tdm_ripper(string) except + void list_channels() int num_channels() + int no_channels(int) int num_groups() vector[double] get_channel(int) void print_channel(int,const char*)