Skip to content
Snippets Groups Projects
Commit 9ddc32aa authored by Xavier ELATTAOUI's avatar Xavier ELATTAOUI
Browse files

Initial Import

parents
No related branches found
No related tags found
No related merge requests found
Showing with 1318 additions and 0 deletions
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Attributes </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=8> <font size=+1> <center><b> PeaksSearch Class Attributes </b></font></center></td>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td> <center><b> Name </b></center> </td>
<td> <center><b> Inherited </b></center> </td>
<td> <center><b> Abstract </b></center> </td>
<td> <center><b> Attr. type </b></center> </td>
<td> <center><b> R/W type </b></center> </td>
<td> <center><b> Data type </b></center> </td>
<td> <center><b> Level </b></center> </td>
<td> <center><b> Description </b></center> </td>
</tr>
<tr>
<td> <a href="Attrprominence.html"> prominence </a> </td>
<td> false </td>
<td> false </td>
<td> Scalar </td>
<td> READ_WRITE </td>
<td> Tango::DEV_DOUBLE </td>
<td> OPERATOR </td>
<td> Required prominence of peaks.<Br>
Either a number, None, an array matching x or a 2-element sequence of the former.<Br>
The first element is always interpreted as the minimal and the second, if supplied, as the maximal required prominence.<Br>
(Default value : 1E-05) </td>
</tr>
</table>
<br><br>
<hr>
<br><br>
<font size="+1"><u><b> There is no dynamic attribute defined. </b></u></font>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Attribute prominence </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br>
<font size="+1"><u><b> Attribute prominence : </b></u></font>
<ul>
Required prominence of peaks.<Br>
Either a number, None, an array matching x or a 2-element sequence of the former.<Br>
The first element is always interpreted as the minimal and the second, if supplied, as the maximal required prominence.<Br>
(Default value : 1E-05)
</ul>
<br><br><br>
<Table Border=0 Cellpadding=0 CELLSPACING=20>
<TR>
<TD ALIGN="left" VALIGN=top>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Attribute Definition </b></font></center></td>
</tr>
<tr>
<td> Attribute Type </td>
<td> Scalar </td>
</tr>
<tr>
<td> R/W Type </td>
<td> READ_WRITE </td>
</tr>
<tr>
<td> Data Type </td>
<td> Tango::DEV_DOUBLE </td>
</tr>
<tr>
<td> Display Level </td>
<td> OPERATOR </td>
</tr>
<tr>
<td> Inherited </td>
<td> false </td>
</tr>
<tr>
<td> Abstract </td>
<td> false </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
</tr>
<tr>
<td> Memorized </td>
<td> Not set </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Read allowed for </td>
<td> All states </td>
</tr>
<tr>
<td> Write allowed for </td>
<td> All states </td>
</tr>
</table>
</td>
<TD ALIGN="Center" VALIGN=top>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Attribute Properties </b></font></center></td>
</tr>
<tr>
<td> label </td>
<td> prominence </td>
</tr>
<tr>
<td> unit </td>
<td> </td>
</tr>
<tr>
<td> standard unit </td>
<td> </td>
</tr>
<tr>
<td> display unit </td>
<td> </td>
</tr>
<tr>
<td> format </td>
<td> %3.2e </td>
</tr>
<tr>
<td> max_value </td>
<td> </td>
</tr>
<tr>
<td> min_value </td>
<td> </td>
</tr>
<tr>
<td> max_alarm </td>
<td> </td>
</tr>
<tr>
<td> min_alarm </td>
<td> </td>
</tr>
<tr>
<td> max_warning </td>
<td> </td>
</tr>
<tr>
<td> min_warning </td>
<td> </td>
</tr>
<tr>
<td> delta_time </td>
<td> </td>
</tr>
<tr>
<td> delta_val </td>
<td> </td>
</tr>
</table>
</td>
<TD ALIGN="Right" VALIGN=top>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Attribute Event Criteria </b></font></center></td>
</tr>
<tr>
<td> Periodic </td>
<td> Not set </td>
</tr>
<tr>
<td> Relative Change </td>
<td> Not set </td>
</tr>
<tr>
<td> Absolute Change </td>
<td> Not set </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Archive Periodic </td>
<td> Not set </td>
</tr>
<tr>
<td> Archive Relative Change </td>
<td> Not set </td>
</tr>
<tr>
<td> Archive Absolute Change </td>
<td> Not set </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Push Change event by user code </td>
<td> false </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td> </Td><Td> </Td></Tr>
<tr>
<td> Push Archive event by user code </td>
<td> false </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td> </Td><Td> </Td></Tr>
<tr>
<td> Push DataReady event by user code </td>
<td> false </td>
</tr>
</table>
</td>
</TR>
</table>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Description </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<ul>
<br><br><br>
<table border="0" width="100%">
<Tr>
<td> <font size="+1"><u><b> PeaksSearch Class Identification : </b></u></font> </td>
<td> <font size="+1"><u><b> PeaksSearch Class Inheritance : </b></u></font> </td>
</tr>
<td><ul>
<table border="0">
<Tr>
<td> Contact </td><td> : at synchrotron-soleil.fr - xavier.elattaoui</td>
</tr>
<tr>
<td> Class Family </td><td> : Calculation
</tr>
<tr>
<td> Platform </td><td> : All Platforms </td>
</tr>
<tr>
<td> Bus </td><td> : Not Applicable </td>
</tr>
<tr>
<td> Manufacturer </td><td> : none </td>
</tr>
<tr>
<td> Manufacturer ref.</td><td> : </td>
</tr>
</Table>
</ul></td>
<td>
<ul><li> <a href="http://www.esrf.fr/computing/cs/tango/tango_doc/kernel_doc/" target="new"> Tango::DeviceImpl</a></li>
<ul> <li> PeaksSearch</li>
<br>
<br>
<br>
<br>
<br>
</td>
</Table>
<br><br><br>
<font size="+1"><u><b> PeaksSearch Class Description : </b></u></font>
<br><br>
<ul>
Python device to easily find peaks in a spectrum data
<!--- /*PROTECTED REGION ID(index.html) ENABLED START*/ --->
<!--- Add your own documentation, pictures, links,.... --->
<!--- /*PROTECTED REGION END*/ --->
</ul>
</ul>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Command FindPeaks </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br>
<font size="+1"><u><b> Command FindPeaks : </b></u></font>
<ul>
Research peaks in a spectrum of data using \``Signal\`` from scipy module.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> FindPeaks Definition </b></font></center></td>
</tr>
<tr>
<td> Input Argument </td>
<td> Tango::DEVVAR_DOUBLEARRAY </td>
<td> The spectrum data in which peaks have to be extracted </td>
</tr>
<tr>
<td> Output Argument </td>
<td> Tango::DEVVAR_DOUBLEARRAY </td>
<td> The peaks found </td>
</tr>
<tr>
<td> DisplayLevel </td>
<td> OPERATOR </td>
<td> .. </td>
</tr>
<tr>
<td> Inherited </td>
<td> false </td>
<td> .. </td>
</tr>
<tr>
<td> Abstract </td>
<td> false </td>
<td> .. </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
<td> .. </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> .. </td>
</tr>
</table>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Command State </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br>
<font size="+1"><u><b> Command State : </b></u></font>
<ul>
This command gets the device state (stored in its device_state data member) and returns it to the caller.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> State Definition </b></font></center></td>
</tr>
<tr>
<td> Input Argument </td>
<td> Tango::DEV_VOID </td>
<td> none </td>
</tr>
<tr>
<td> Output Argument </td>
<td> Tango::DEV_STATE </td>
<td> Device state </td>
</tr>
<tr>
<td> DisplayLevel </td>
<td> OPERATOR </td>
<td> .. </td>
</tr>
<tr>
<td> Inherited </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Abstract </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
<td> .. </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> .. </td>
</tr>
</table>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Command Status </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br>
<font size="+1"><u><b> Command Status : </b></u></font>
<ul>
This command gets the device status (stored in its device_status data member) and returns it to the caller.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Status Definition </b></font></center></td>
</tr>
<tr>
<td> Input Argument </td>
<td> Tango::DEV_VOID </td>
<td> none </td>
</tr>
<tr>
<td> Output Argument </td>
<td> Tango::CONST_DEV_STRING </td>
<td> Device status </td>
</tr>
<tr>
<td> DisplayLevel </td>
<td> OPERATOR </td>
<td> .. </td>
</tr>
<tr>
<td> Inherited </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Abstract </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
<td> .. </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> .. </td>
</tr>
</table>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Commands </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=5> <font size=+1> <center><b> PeaksSearch Class Commands </b></font></center></td>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td> <center><b> Name </b></center> </td>
<td> <center><b> Input type </b></center> </td>
<td> <center><b> Output type </b></center> </td>
<td> <center><b> Level </b></center> </td>
<td> <center><b> Description </b></center> </td>
</tr>
<tr>
<td> <a href="CmdState.html"> State </a> </td>
<td> DEV_VOID </td>
<td> DEV_STATE </td>
<td> OPERATOR </td>
<td> This command gets the device state (stored in its device_state data member) and returns it to the caller. </td>
</tr>
<tr>
<td> <a href="CmdStatus.html"> Status </a> </td>
<td> DEV_VOID </td>
<td> CONST_DEV_STRING </td>
<td> OPERATOR </td>
<td> This command gets the device status (stored in its device_status data member) and returns it to the caller. </td>
</tr>
<tr>
<td> <a href="CmdFindPeaks.html"> FindPeaks </a> </td>
<td> DEVVAR_DOUBLEARRAY </td>
<td> DEVVAR_DOUBLEARRAY </td>
<td> OPERATOR </td>
<td> Research peaks in a spectrum of data using \``Signal\`` from scipy module. </td>
</tr>
</table>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class User&lsquo;s Guide </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<hr>
<br>
<center><h2><u><b> PeaksSearch Tango Python Class </b></u></h2></center> <br><br>
<ul>
<font size="+1"><u><b> Contents : </b></u></font>
<ul>
<li> <a href="FullDocument.html#description"> Description </a>
<li> <a href="FullDocument.html#properties"> Properties </a>
<li> <a href="FullDocument.html#commands"> Commands </a>
<ul>
<li> <a href="FullDocument.html#cmdState"> State </a>
<li> <a href="FullDocument.html#cmdStatus"> Status </a>
<li> <a href="FullDocument.html#cmdFindPeaks"> FindPeaks </a>
</ul>
<li> <a href="FullDocument.html#attributes"> Attributes </a>
<ul>
<li> <a href="FullDocument.html#attrprominence"> prominence </a>
</ul>
<li> <a href="FullDocument.html#states"> States </a>
</ul>
</ul>
<hr>
<br><br>
<a name="description"> </a>
<ul>
<br><br><br>
<table border="0" width="100%">
<Tr>
<td> <font size="+1"><u><b> PeaksSearch Class Identification : </b></u></font> </td>
<td> <font size="+1"><u><b> PeaksSearch Class Inheritance : </b></u></font> </td>
</tr>
<td><ul>
<table border="0">
<Tr>
<td> Contact </td><td> : at synchrotron-soleil.fr - xavier.elattaoui</td>
</tr>
<tr>
<td> Class Family </td><td> : Calculation
</tr>
<tr>
<td> Platform </td><td> : All Platforms </td>
</tr>
<tr>
<td> Bus </td><td> : Not Applicable </td>
</tr>
<tr>
<td> Manufacturer </td><td> : none </td>
</tr>
<tr>
<td> Manufacturer ref.</td><td> : </td>
</tr>
</Table>
</ul></td>
<td>
<ul><li> <a href="http://www.esrf.fr/computing/cs/tango/tango_doc/kernel_doc/" target="new"> Tango::DeviceImpl</a></li>
<ul> <li> PeaksSearch</li>
<br>
<br>
<br>
<br>
<br>
</td>
</Table>
<br><br><br>
<font size="+1"><u><b> PeaksSearch Class Description : </b></u></font>
<br><br>
<ul>
Python device to easily find peaks in a spectrum data
<!--- /*PROTECTED REGION ID(FullDocument.html) ENABLED START*/ --->
<!--- Add your own documentation, pictures, links,.... --->
<!--- /*PROTECTED REGION END*/ --->
</ul>
</ul>
<br><br>
<hr>
<a name="properties"> </a>
<br><br><br>
<font size="+1"><u><b> PeaksSearch Properties : </b></u></font>
<br><br><br>
<font size="+1"><u><b> There is no class properties </b></u></font>
<br><br><br>
<font size="+1"><u><b> There is no device properties </b></u></font>
<br><br>
<hr>
<a name="commands"> </a>
<br><br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=5> <font size=+1> <center><b> PeaksSearch Class Commands </b></font></center></td>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td> <center><b> Name </b></center> </td>
<td> <center><b> Input type </b></center> </td>
<td> <center><b> Output type </b></center> </td>
<td> <center><b> Level </b></center> </td>
<td> <center><b> Description </b></center> </td>
</tr>
<tr>
<td> <a href="CmdState.html"> State </a> </td>
<td> DEV_VOID </td>
<td> DEV_STATE </td>
<td> OPERATOR </td>
<td> This command gets the device state (stored in its device_state data member) and returns it to the caller. </td>
</tr>
<tr>
<td> <a href="CmdStatus.html"> Status </a> </td>
<td> DEV_VOID </td>
<td> CONST_DEV_STRING </td>
<td> OPERATOR </td>
<td> This command gets the device status (stored in its device_status data member) and returns it to the caller. </td>
</tr>
<tr>
<td> <a href="CmdFindPeaks.html"> FindPeaks </a> </td>
<td> DEVVAR_DOUBLEARRAY </td>
<td> DEVVAR_DOUBLEARRAY </td>
<td> OPERATOR </td>
<td> Research peaks in a spectrum of data using \``Signal\`` from scipy module. </td>
</tr>
</table>
<br><br><hr>
<a name="cmdState"> </a>
<br><br><br>
<font size="+1"><u><b> Command State : </b></u></font>
<ul>
This command gets the device state (stored in its device_state data member) and returns it to the caller.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> State Definition </b></font></center></td>
</tr>
<tr>
<td> Input Argument </td>
<td> Tango::DEV_VOID </td>
<td> none </td>
</tr>
<tr>
<td> Output Argument </td>
<td> Tango::DEV_STATE </td>
<td> Device state </td>
</tr>
<tr>
<td> DisplayLevel </td>
<td> OPERATOR </td>
<td> .. </td>
</tr>
<tr>
<td> Inherited </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Abstract </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
<td> .. </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> .. </td>
</tr>
</table>
<br><br><hr>
<a name="cmdStatus"> </a>
<br><br><br>
<font size="+1"><u><b> Command Status : </b></u></font>
<ul>
This command gets the device status (stored in its device_status data member) and returns it to the caller.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Status Definition </b></font></center></td>
</tr>
<tr>
<td> Input Argument </td>
<td> Tango::DEV_VOID </td>
<td> none </td>
</tr>
<tr>
<td> Output Argument </td>
<td> Tango::CONST_DEV_STRING </td>
<td> Device status </td>
</tr>
<tr>
<td> DisplayLevel </td>
<td> OPERATOR </td>
<td> .. </td>
</tr>
<tr>
<td> Inherited </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Abstract </td>
<td> true </td>
<td> .. </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
<td> .. </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> .. </td>
</tr>
</table>
<br><br><hr>
<a name="cmdFindPeaks"> </a>
<br><br><br>
<font size="+1"><u><b> Command FindPeaks : </b></u></font>
<ul>
Research peaks in a spectrum of data using \``Signal\`` from scipy module.
</ul>
<br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> FindPeaks Definition </b></font></center></td>
</tr>
<tr>
<td> Input Argument </td>
<td> Tango::DEVVAR_DOUBLEARRAY </td>
<td> The spectrum data in which peaks have to be extracted </td>
</tr>
<tr>
<td> Output Argument </td>
<td> Tango::DEVVAR_DOUBLEARRAY </td>
<td> The peaks found </td>
</tr>
<tr>
<td> DisplayLevel </td>
<td> OPERATOR </td>
<td> .. </td>
</tr>
<tr>
<td> Inherited </td>
<td> false </td>
<td> .. </td>
</tr>
<tr>
<td> Abstract </td>
<td> false </td>
<td> .. </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
<td> .. </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Command allowed for </td>
<td> All states </td>
<td> .. </td>
</tr>
</table>
<br><br>
<hr>
<a name="attributes"> </a>
<br><br><br><br>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=8> <font size=+1> <center><b> PeaksSearch Class Attributes </b></font></center></td>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td> <center><b> Name </b></center> </td>
<td> <center><b> Inherited </b></center> </td>
<td> <center><b> Abstract </b></center> </td>
<td> <center><b> Attr. type </b></center> </td>
<td> <center><b> R/W type </b></center> </td>
<td> <center><b> Data type </b></center> </td>
<td> <center><b> Level </b></center> </td>
<td> <center><b> Description </b></center> </td>
</tr>
<tr>
<td> <a href="Attrprominence.html"> prominence </a> </td>
<td> false </td>
<td> false </td>
<td> Scalar </td>
<td> READ_WRITE </td>
<td> Tango::DEV_DOUBLE </td>
<td> OPERATOR </td>
<td> Required prominence of peaks.<Br>
Either a number, None, an array matching x or a 2-element sequence of the former.<Br>
The first element is always interpreted as the minimal and the second, if supplied, as the maximal required prominence.<Br>
(Default value : 1E-05) </td>
</tr>
</table>
<br><br>
<hr>
<br><br>
<font size="+1"><u><b> There is no dynamic attribute defined. </b></u></font>
<br><br>
<hr>
<a name="attrprominence"> </a>
<br><br><br>
<font size="+1"><u><b> Attribute prominence : </b></u></font>
<ul>
Required prominence of peaks.<Br>
Either a number, None, an array matching x or a 2-element sequence of the former.<Br>
The first element is always interpreted as the minimal and the second, if supplied, as the maximal required prominence.<Br>
(Default value : 1E-05)
</ul>
<br><br><br>
<Table Border=0 Cellpadding=0 CELLSPACING=20>
<TR>
<TD ALIGN="left" VALIGN=top>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Attribute Definition </b></font></center></td>
</tr>
<tr>
<td> Attribute Type </td>
<td> Scalar </td>
</tr>
<tr>
<td> R/W Type </td>
<td> READ_WRITE </td>
</tr>
<tr>
<td> Data Type </td>
<td> Tango::DEV_DOUBLE </td>
</tr>
<tr>
<td> Display Level </td>
<td> OPERATOR </td>
</tr>
<tr>
<td> Inherited </td>
<td> false </td>
</tr>
<tr>
<td> Abstract </td>
<td> false </td>
</tr>
<tr>
<td> Polling Period </td>
<td> Not polled </td>
</tr>
<tr>
<td> Memorized </td>
<td> Not set </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Read allowed for </td>
<td> All states </td>
</tr>
<tr>
<td> Write allowed for </td>
<td> All states </td>
</tr>
</table>
</td>
<TD ALIGN="Center" VALIGN=top>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Attribute Properties </b></font></center></td>
</tr>
<tr>
<td> label </td>
<td> prominence </td>
</tr>
<tr>
<td> unit </td>
<td> </td>
</tr>
<tr>
<td> standard unit </td>
<td> </td>
</tr>
<tr>
<td> display unit </td>
<td> </td>
</tr>
<tr>
<td> format </td>
<td> %3.2e </td>
</tr>
<tr>
<td> max_value </td>
<td> </td>
</tr>
<tr>
<td> min_value </td>
<td> </td>
</tr>
<tr>
<td> max_alarm </td>
<td> </td>
</tr>
<tr>
<td> min_alarm </td>
<td> </td>
</tr>
<tr>
<td> max_warning </td>
<td> </td>
</tr>
<tr>
<td> min_warning </td>
<td> </td>
</tr>
<tr>
<td> delta_time </td>
<td> </td>
</tr>
<tr>
<td> delta_val </td>
<td> </td>
</tr>
</table>
</td>
<TD ALIGN="Right" VALIGN=top>
<Table Border=2 Cellpadding=3 CELLSPACING=0>
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=0> <font size=+1> <center><b> Attribute Event Criteria </b></font></center></td>
</tr>
<tr>
<td> Periodic </td>
<td> Not set </td>
</tr>
<tr>
<td> Relative Change </td>
<td> Not set </td>
</tr>
<tr>
<td> Absolute Change </td>
<td> Not set </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Archive Periodic </td>
<td> Not set </td>
</tr>
<tr>
<td> Archive Relative Change </td>
<td> Not set </td>
</tr>
<tr>
<td> Archive Absolute Change </td>
<td> Not set </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td><Hr></Td><Td><Hr></Td></Tr>
<tr>
<td> Push Change event by user code </td>
<td> false </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td> </Td><Td> </Td></Tr>
<tr>
<td> Push Archive event by user code </td>
<td> false </td>
</tr>
<Tr BGCOLOR="#CCCCFF"><Td> </Td><Td> </Td></Tr>
<tr>
<td> Push DataReady event by user code </td>
<td> false </td>
</tr>
</table>
</td>
</TR>
</table>
<br><br>
<hr>
<br><br>
<hr>
<a name="states"> </a>
<br><br><br><br>
<font size="+1"><u><b> There is no state defined </b></u></font>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class Properties </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br>
<font size="+1"><u><b> PeaksSearch Properties : </b></u></font>
<br><br><br>
<font size="+1"><u><b> There is no class properties </b></u></font>
<br><br><br>
<font size="+1"><u><b> There is no device properties </b></u></font>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title> PeaksSearch Tango Class States </title>
</head>
<body text="Black" bgcolor="White" link="Blue" vlink="Purple" alink="Red">
<br><br><br><br>
<font size="+1"><u><b> There is no state defined </b></u></font>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/TR/xhtml1/Dtd/xhtml1-transitional.dtd">
<html>
<center>
<font size="+1"><u><b> PeaksSearch Tango Python Class </b></u></font>
<table BORDER="1" WIDTH="100%" CELLSPACING=0>
<td ALIGN="center"> <a href="ClassDescription.html" target="document"> Description </a></td>
<td ALIGN="center"> <a href="Properties.html" target="document"> Properties </a></td>
<td ALIGN="center"> <a href="Commands.html" target="document"> Commands </a></td>
<td ALIGN="center"> <a href="Attributes.html" target="document"> Attributes </a></td>
<td ALIGN="center"> <a href="States.html" target="document"> States </a></td>
<td ALIGN="center"> <a href="FullDocument.html" target="new"> Printable </a></td>
</table>
</center>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META name="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; SunOS 5.6 sun4d) [Netscape]">
<META name="Author" CONTENT="Pascal Verdier">
<META name="Description" CONTENT="PeaksSearch Pages">
<META name="Keywords" CONTENT="PeaksSearch Tango class User Guide">
<TITLE>PeaksSearch Tango class User Guide</TITLE>
</HEAD>
<!--- Definition for the 4 frames window ----------->
<frameset rows="58,65,*,65">
<frame src="http://www.esrf.fr/computing/cs/tango/TangoBanner.html" name="header">
<frame src="TitleBanner.html" name="title">
<frame src="ClassDescription.html" name="document">
<frame src="http://www.esrf.fr/computing/cs/tango/SrcForgeBanner.html" name="footer" >
</frameset>
</html>
#!/usr/bin/env python
# -*- coding:utf-8 -*-
##############################################################################
## license :
##============================================================================
##
## File : PeaksSearch.py
##
## Project : Find peaks device
##
## This file is part of Tango device class.
##
## Tango is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## Tango is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Tango. If not, see <http://www.gnu.org/licenses/>.
##
##
## $Author : xavier.elattaoui$
##
## $Revision : $
##
## $Date : $
##
## $HeadUrl : $
##============================================================================
## This file is generated by POGO
## (Program Obviously used to Generate tango Object)
##
## (c) - Software Engineering Group - ESRF
##############################################################################
"""Python device to easily find peaks in a spectrum data"""
__all__ = ["PeaksSearch", "PeaksSearchClass", "main"]
__docformat__ = 'restructuredtext'
import PyTango
import sys
# Add additional import
#----- PROTECTED REGION ID(PeaksSearch.additionnal_import) ENABLED START -----#
import numpy as np
#----- PROTECTED REGION END -----# // PeaksSearch.additionnal_import
from scipy.signal import find_peaks
## Device States Description
## No states for this device
class PeaksSearch (PyTango.Device_4Impl):
#--------- Add you global variables here --------------------------
#----- PROTECTED REGION ID(PeaksSearch.global_variables) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.global_variables
def __init__(self,cl, name):
PyTango.Device_4Impl.__init__(self,cl,name)
self.debug_stream("In __init__()")
PeaksSearch.init_device(self)
#----- PROTECTED REGION ID(PeaksSearch.__init__) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.__init__
def delete_device(self):
self.debug_stream("In delete_device()")
#----- PROTECTED REGION ID(PeaksSearch.delete_device) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.delete_device
def init_device(self):
self.debug_stream("In init_device()")
self.get_device_properties(self.get_device_class())
self.attr_prominence_read = 0.0
#----- PROTECTED REGION ID(PeaksSearch.init_device) ENABLED START -----#
self.prominence = 1.35e-04
self.distance = 20
self.set_state(PyTango.DevState.ON)
#----- PROTECTED REGION END -----# // PeaksSearch.init_device
def always_executed_hook(self):
self.debug_stream("In always_excuted_hook()")
#----- PROTECTED REGION ID(PeaksSearch.always_executed_hook) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.always_executed_hook
#-----------------------------------------------------------------------------
# PeaksSearch read/write attribute methods
#-----------------------------------------------------------------------------
def read_prominence(self, attr):
self.debug_stream("In read_prominence()")
#----- PROTECTED REGION ID(PeaksSearch.prominence_read) ENABLED START -----#
attr.set_value(self.prominence)
#----- PROTECTED REGION END -----# // PeaksSearch.prominence_read
def write_prominence(self, attr):
self.debug_stream("In write_prominence()")
data=attr.get_write_value()
#----- PROTECTED REGION ID(PeaksSearch.prominence_write) ENABLED START -----#
self.prominence = data
#----- PROTECTED REGION END -----# // PeaksSearch.prominence_write
def read_distance(self, attr):
self.debug_stream("In read_distance()")
#----- PROTECTED REGION ID(PeaksSearch.distance_read) ENABLED START -----#
attr.set_value(self.distance)
#----- PROTECTED REGION END -----# // PeaksSearch.distance_read
def write_distance(self, attr):
self.debug_stream("In write_distance()")
data=attr.get_write_value()
#----- PROTECTED REGION ID(PeaksSearch.distance_write) ENABLED START -----#
self.distance = data
#----- PROTECTED REGION END -----# // PeaksSearch.distance_write
#----- PROTECTED REGION ID(PeaksSearch.initialize_dynamic_attributes) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.initialize_dynamic_attributes
def read_attr_hardware(self, data):
self.debug_stream("In read_attr_hardware()")
#----- PROTECTED REGION ID(PeaksSearch.read_attr_hardware) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.read_attr_hardware
#-----------------------------------------------------------------------------
# PeaksSearch command methods
#-----------------------------------------------------------------------------
def FindPeaks(self, argin):
""" Research peaks in a spectrum of data using \``Signal\`` from scipy module.
:param argin: The spectrum data in which peaks have to be extracted
:type: PyTango.DevVarDoubleArray
:return: The peaks` indexes found
:rtype: PyTango.DevVarULongArray """
self.debug_stream("In FindPeaks()")
#argout = [0]
#----- PROTECTED REGION ID(PeaksSearch.FindPeaks) ENABLED START -----#
arr = np.array(argin)
peaks, properties = find_peaks(arr, prominence=self.prominence, distance=self.distance)
argout = np.array(peaks, dtype='uint32')
# DEBUG : plot data
#----- PROTECTED REGION END -----# // PeaksSearch.FindPeaks
return argout
class PeaksSearchClass(PyTango.DeviceClass):
#--------- Add you global class variables here --------------------------
#----- PROTECTED REGION ID(PeaksSearch.global_class_variables) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.global_class_variables
def dyn_attr(self, dev_list):
"""Invoked to create dynamic attributes for the given devices.
Default implementation calls
:meth:`PeaksSearch.initialize_dynamic_attributes` for each device
:param dev_list: list of devices
:type dev_list: :class:`PyTango.DeviceImpl`"""
for dev in dev_list:
try:
dev.initialize_dynamic_attributes()
except:
import traceback
dev.warn_stream("Failed to initialize dynamic attributes")
dev.debug_stream("Details: " + traceback.format_exc())
#----- PROTECTED REGION ID(PeaksSearch.dyn_attr) ENABLED START -----#
#----- PROTECTED REGION END -----# // PeaksSearch.dyn_attr
# Class Properties
class_property_list = {
}
# Device Properties
device_property_list = {
}
# Command definitions
cmd_list = {
'FindPeaks':
[[PyTango.DevVarDoubleArray, "The spectrum data in which peaks have to be extracted"],
[PyTango.DevVarULongArray, "The peaks` indexes found"]],
}
# Attribute definitions
attr_list = {
'prominence':
[[PyTango.DevDouble,
PyTango.SCALAR,
PyTango.READ_WRITE],
{
'label': "prominence",
'format': "%3.2e",
'description': "Required prominence of peaks.\n(Default value : 1E-05)",
} ],
'distance':
[[PyTango.DevDouble,
PyTango.SCALAR,
PyTango.READ_WRITE],
{
'label': "distance",
'format': "%3.2f",
'description': "Required distance of peaks.\n(Default value : 20)",
} ],
}
def main():
try:
py = PyTango.Util(sys.argv)
py.add_class(PeaksSearchClass,PeaksSearch,'PeaksSearch')
U = PyTango.Util.instance()
U.server_init()
U.server_run()
except PyTango.DevFailed,e:
print '-------> Received a DevFailed exception:',e
except Exception,e:
print '-------> An unforeseen exception occured....',e
if __name__ == '__main__':
main()
<?xml version="1.0" encoding="ASCII"?>
<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
<classes name="PeaksSearch" pogoRevision="8.2">
<description description="Python device to easily find peaks in a spectrum data" title="Find peaks device" sourcePath="/home/informatique/ica/elattaoui/devSrc/FindPeaks/src" language="Python" filestogenerate="XMI file,Code files,html Pages" license="GPL" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false" descriptionHtmlExists="false">
<inheritances classname="Device_Impl" sourcePath=""/>
<identification contact="at synchrotron-soleil.fr - xavier.elattaoui" author="xavier.elattaoui" emailDomain="synchrotron-soleil.fr" classFamily="Calculation" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="none" reference=""/>
</description>
<commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
<argin description="none">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="Device state">
<type xsi:type="pogoDsl:StateType"/>
</argout>
<status abstract="true" inherited="true" concrete="true"/>
</commands>
<commands name="Status" description="This command gets the device status (stored in its device_status data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR" polledPeriod="0">
<argin description="none">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="Device status">
<type xsi:type="pogoDsl:ConstStringType"/>
</argout>
<status abstract="true" inherited="true" concrete="true"/>
</commands>
<commands name="FindPeaks" description="Research peaks in a spectrum of data using \``Signal\`` from scipy module." execMethod="find_peaks" displayLevel="OPERATOR" polledPeriod="0">
<argin description="The spectrum data in which peaks have to be extracted">
<type xsi:type="pogoDsl:DoubleArrayType"/>
</argin>
<argout description="The peaks found">
<type xsi:type="pogoDsl:DoubleArrayType"/>
</argout>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</commands>
<attributes name="prominence" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="false" isDynamic="false">
<dataType xsi:type="pogoDsl:DoubleType"/>
<changeEvent fire="false" libCheckCriteria="false"/>
<archiveEvent fire="false" libCheckCriteria="false"/>
<dataReadyEvent fire="false" libCheckCriteria="true"/>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<properties description="Required prominence of peaks.&#xA;Either a number, None, an array matching x or a 2-element sequence of the former.&#xA;The first element is always interpreted as the minimal and the second, if supplied, as the maximal required prominence.&#xA;(Default value : 1E-05)" label="prominence" unit="" standardUnit="" displayUnit="" format="%3.2e" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
</attributes>
<preferences docHome="../doc/doc_html" makefileHome="$(TANGO_HOME)"/>
</classes>
</pogoDsl:PogoSystem>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment