intregration into workflow contd.

This commit is contained in:
Mario Fink 2019-05-02 17:31:15 +02:00
parent 2841137f8e
commit 89dc943dce
7 changed files with 56 additions and 28 deletions

View File

@ -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()

View File

@ -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<<std::setw(25)<<std::left<<"number of channels:"<<std::setw(10)<<num_channels_<<"\n";
for ( int i = 0; i < num_groups_; i++ ) std::cout<<std::setw(25)<<std::left<<"group"<<std::setw(10)<<i+1<<std::setw(10)<<no_channels(i+1)<<"\n";
std::cout<<std::right<<"\n\n";
}
void tdm_ripper::list_channels(std::ostream& gout, int width, int maxshow)

View File

@ -148,6 +148,12 @@ public:
{
return num_groups_;
}
const int& no_channels(int groupid)
{
assert( groupid > 0 && groupid <= num_channels_ );
return num_channels_group_[groupid-1];
}
const std::string& channel_name(int channelid)
{

View File

@ -25,17 +25,22 @@ int main(int argc, char* argv[])
std::cout<<"number of channels "<<ripper.num_channels()<<"\n\n";
std::cout<<"number of groups "<<ripper.num_groups()<<"\n\n";
for ( int i = 0; i < ripper.num_groups(); i++ )
{
std::cout<<std::setw(10)<<i+1<<std::setw(10)<<ripper.no_channels(i+1)<<"\n";
}
// std::vector<double> channA = ripper.get_channel(1);
// for ( auto el: channA ) std::cout<<el<<"\n";
// std::cout<<"\n\n";
for ( int i = 0; i < 30; i++ )
// for ( int i = 0; i < ripper.num_channels(); i++ )
// for ( int i = 11880; i < ripper.num_channels(); i++ )
{
ripper.print_channel(i+1,("data/channel_"+std::to_string(i+1)+"_"
+ripper.channel_name(i+1)+".dat").c_str());
}
// for ( int i = 0; i < 30; i++ )
// // for ( int i = 0; i < ripper.num_channels(); i++ )
// // for ( int i = 11880; i < ripper.num_channels(); i++ )
// {
// ripper.print_channel(i+1,("data/channel_"+std::to_string(i+1)+"_"
// +ripper.channel_name(i+1)+".dat").c_str());
// }
return 0;
}

View File

@ -22,6 +22,9 @@ clean :
pylib : setup.py pytdm_ripper.pyx tdm_ripper.pxd tdm_ripper.o
python3 setup.py build_ext --inplace
install : setup.py pytdm_ripper.pyx tdm_ripper.pxd lib/tdm_ripper.cpp lib/tdm_ripper.hpp
python3 setup.py install
lib/libtdmripper.a :
make -C lib libtdmripper.a

View File

@ -19,6 +19,11 @@ cdef class pytdmripper:
def num_channels(self):
return self.cripp.num_channels()
def no_channels(self, int groupid):
assert (groupid >= 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()

View File

@ -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*)