intregration into workflow contd.
This commit is contained in:
parent
2841137f8e
commit
89dc943dce
46
example.py
46
example.py
@ -7,6 +7,7 @@ tdxpath = b"samples/SineData.tdx"
|
|||||||
|
|
||||||
# create instance of ripper class
|
# create instance of ripper class
|
||||||
RP = tdm_ripper.pytdmripper(tdmpath)
|
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
|
# provide overview of available channels
|
||||||
RP.show_channels()
|
RP.show_channels()
|
||||||
@ -14,27 +15,30 @@ RP.show_channels()
|
|||||||
print(RP.num_channels())
|
print(RP.num_channels())
|
||||||
print(RP.num_groups())
|
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
|
# 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
|
# extract channel and return it to numpy array
|
||||||
channels = RP.get_channel(1)
|
# channels = RP.get_channel(1)
|
||||||
Nlen = len(channels)
|
# Nlen = len(channels)
|
||||||
channels = np.append(channels,RP.get_channel(2))
|
# channels = np.append(channels,RP.get_channel(2))
|
||||||
channels = np.append(channels,RP.get_channel(3))
|
# channels = np.append(channels,RP.get_channel(3))
|
||||||
channels = np.append(channels,RP.get_channel(4))
|
# channels = np.append(channels,RP.get_channel(4))
|
||||||
channels = np.append(channels,RP.get_channel(5))
|
# channels = np.append(channels,RP.get_channel(5))
|
||||||
channels = np.append(channels,RP.get_channel(6))
|
# channels = np.append(channels,RP.get_channel(6))
|
||||||
channels = np.append(channels,RP.get_channel(7))
|
# channels = np.append(channels,RP.get_channel(7))
|
||||||
channels = np.append(channels,RP.get_channel(8))
|
# channels = np.append(channels,RP.get_channel(8))
|
||||||
print(channels.shape)
|
# print(channels.shape)
|
||||||
print("\n\n")
|
# print("\n\n")
|
||||||
print(channels[0:40])
|
# print(channels[0:40])
|
||||||
|
#
|
||||||
x = np.linspace(0,Nlen,Nlen)
|
# x = np.linspace(0,Nlen,Nlen)
|
||||||
plt.plot(x,channels[0:Nlen])
|
# plt.plot(x,channels[0:Nlen])
|
||||||
plt.plot(x,channels[Nlen:2*Nlen])
|
# plt.plot(x,channels[Nlen:2*Nlen])
|
||||||
plt.plot(x,channels[2*Nlen:3*Nlen])
|
# plt.plot(x,channels[2*Nlen:3*Nlen])
|
||||||
|
#
|
||||||
plt.grid()
|
# plt.grid()
|
||||||
plt.show()
|
# plt.show()
|
||||||
|
@ -209,6 +209,10 @@ void tdm_ripper::parse_structure()
|
|||||||
assert( num_channels_ == (int)channel_id_.size()
|
assert( num_channels_ == (int)channel_id_.size()
|
||||||
&& num_channels_ == (int)channel_name_.size()
|
&& num_channels_ == (int)channel_name_.size()
|
||||||
&& num_channels_ == (int)channels_group_.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)
|
void tdm_ripper::list_channels(std::ostream& gout, int width, int maxshow)
|
||||||
|
@ -148,6 +148,12 @@ public:
|
|||||||
{
|
{
|
||||||
return num_groups_;
|
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)
|
const std::string& channel_name(int channelid)
|
||||||
{
|
{
|
||||||
|
19
main.cpp
19
main.cpp
@ -25,17 +25,22 @@ int main(int argc, char* argv[])
|
|||||||
std::cout<<"number of channels "<<ripper.num_channels()<<"\n\n";
|
std::cout<<"number of channels "<<ripper.num_channels()<<"\n\n";
|
||||||
std::cout<<"number of groups "<<ripper.num_groups()<<"\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);
|
// std::vector<double> channA = ripper.get_channel(1);
|
||||||
// for ( auto el: channA ) std::cout<<el<<"\n";
|
// for ( auto el: channA ) std::cout<<el<<"\n";
|
||||||
// std::cout<<"\n\n";
|
// std::cout<<"\n\n";
|
||||||
|
|
||||||
for ( int i = 0; i < 30; i++ )
|
// for ( int i = 0; i < 30; i++ )
|
||||||
// for ( int i = 0; i < ripper.num_channels(); i++ )
|
// // for ( int i = 0; i < ripper.num_channels(); i++ )
|
||||||
// for ( int i = 11880; 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.print_channel(i+1,("data/channel_"+std::to_string(i+1)+"_"
|
||||||
+ripper.channel_name(i+1)+".dat").c_str());
|
// +ripper.channel_name(i+1)+".dat").c_str());
|
||||||
}
|
// }
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
3
makefile
3
makefile
@ -22,6 +22,9 @@ clean :
|
|||||||
pylib : setup.py pytdm_ripper.pyx tdm_ripper.pxd tdm_ripper.o
|
pylib : setup.py pytdm_ripper.pyx tdm_ripper.pxd tdm_ripper.o
|
||||||
python3 setup.py build_ext --inplace
|
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 :
|
lib/libtdmripper.a :
|
||||||
make -C lib libtdmripper.a
|
make -C lib libtdmripper.a
|
||||||
|
|
||||||
|
@ -19,6 +19,11 @@ cdef class pytdmripper:
|
|||||||
def num_channels(self):
|
def num_channels(self):
|
||||||
return self.cripp.num_channels()
|
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):
|
def num_groups(self):
|
||||||
return self.cripp.num_groups()
|
return self.cripp.num_groups()
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ cdef extern from "tdm_ripper.hpp":
|
|||||||
tdm_ripper(string) except +
|
tdm_ripper(string) except +
|
||||||
void list_channels()
|
void list_channels()
|
||||||
int num_channels()
|
int num_channels()
|
||||||
|
int no_channels(int)
|
||||||
int num_groups()
|
int num_groups()
|
||||||
vector[double] get_channel(int)
|
vector[double] get_channel(int)
|
||||||
void print_channel(int,const char*)
|
void print_channel(int,const char*)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user