Red Pitaya MCA

Gamma spectacular, theremino adapters, non-sound card based, etc...
User avatar
GigaBecquerel
Posts: 172
Joined: 04 Jul 2020, 07:34
Contact:

Re: Red Pitaya MCA

Post by GigaBecquerel » 19 Nov 2020, 06:24

Oh!
I knew that SrI:Eu had the trailing edge in its spectrum, but I didn't know that longer collecting time did the trick to reduce it!
Please open a thread on this macropixel, that would be a very interesting collection of information.

User avatar
sgt_bear
Posts: 115
Joined: 16 Jan 2017, 07:06
Contact:

Re: Red Pitaya MCA

Post by sgt_bear » 19 Nov 2020, 06:49

Rob Tayloe wrote:
19 Nov 2020, 06:12
The folks at CapeSym let me know that it is now possible to order on-line at the link below:

https://capescint.com/product-category/ ... ssemblies/
That looks nice. I really like the small CsI for 415$ and the Cs2LiYCl6 for 765$ if you cant afford 3% resolution, you could get 4.5% for 500$ less :D
The CsI one would be really cool to use in a portable device
- Jonathan from Switzerland

Conor Whyte
Posts: 117
Joined: 28 Apr 2019, 15:06
Contact:

Re: Red Pitaya MCA

Post by Conor Whyte » 20 Mar 2021, 11:21

I just made a modification to the Red Pitaya MCA program to add more options for bins.

We now have 1028,2048,4096,8192 and 16K bin options available.

Modifications below in code. You will need to modify the index.html file in the MCA folder.

Code: Select all

<!--
 *
 * Red Pitaya Template Application
 *
 *
 * (c) Red Pitaya  http://www.redpitaya.com
 *
-->


<!DOCTYPE html>
<html lang="en">

<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8"></meta>
  <title>Multichannel Analyser</title>

  <!--Stylesheets-->
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" type="text/css" href="vendor/jquery-tooltipster/css/tooltipster.bundle.min.css" />
  <link rel="stylesheet" type="text/css" href="vendor/jquery-tooltipster/css/plugins/tooltipster/sideTip/themes/tooltipster-sideTip-shadow.min.css"/>

  <!--Javascript-->
  <script src="vendor/highcharts.js"></script>
  <script src="vendor/highcharts-more.js"></script>
  <script src="vendor/highcharts-exporting.js"></script>
  <script src="vendor/highcharts-boost-canvas.js"></script>
  <script src="vendor/highcharts-boost.js"></script>
  <script src="vendor/jquery-2.1.3.min.js"></script>
  <script src="vendor/jquery.ba-throttle-debounce.min.js"></script>
  <script src="vendor/jquery-tooltipster/js/tooltipster.bundle.min.js"></script>
  <script src="vendor/pako.js"></script>
  <script src="js/app.js"></script>

  <!-- Fix default mobile device screen zoom-->
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <!-- Set the nav bar color to match the app -->
  <!-- Chrome, Firefox OS and Opera -->
  <meta name="theme-color" content="#4285f4">
  <!-- Windows Phone -->
  <meta name="msapplication-navbutton-color" content="#4285f4">
  <!-- iOS Safari -->
  <meta name="apple-mobile-web-app-status-bar-style" content="#4285f4">
</head>

<body>
  <h1 id="title">
    <a class="home-link" href="/">
      <img class="navigation-arrow-left" src="assets/navigation_arrow_left.png">
      <img class="navigation-logo" src="assets/navigation_logo.png">
    </a>
    Multichannel Analyser
  </h1>
  <div id="content">
    <!-- Time and Input Select -->
    <div class="group timer">
      <h2 class="tooltip"
          title="This is how long you would like to run the multichannel analyser for. You can stop it early if you wish. This includes live time and wait time.">
        Acquisition Time
      </h2>
      <label>
        <input type="number" id="hours" value="0" min="0">
        Hours
      </label>
        <label>
        <input type="number" id="minutes" value="30" min="0" max="59">
        Minutes
      </label>
        <label>
        <input type="number" id="seconds" value="0" min="0" max="59">
        Seconds
      </label>
    </div>

    <!-- Input Select-->
    <div class="group input">
      <h2 class="tooltip"
          title="This is the fast analog port on the Red Pitaya you are connecting to. Also select if you want to detect positive pulses or negative pulses. If you import a file, it will also show up here.">
          Source
      </h2>
      <label id="input">
        <select>
          <option value="1">IN1-POS</option>
          <option value="2">IN2-POS</option>
          <option value="3">IN1-NEG</option>
          <option value="4">IN2-NEG</option>
        </select>
        Input &amp; Polarity
      </label>
    </div>
    
     <!-- Decimation Select-->
    <div class="group config">
      <!--TODO: Update this value when switching between channels-->
      <label>
        <button id="config">SETTINGS</button>
        <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
      </label>
    </div>

    <!-- Control buttons -->
    <div class="group buttons">
      <button id="start">START</button>
      <button id="reset">CLEAR</button>
      <input type="file" id="importFileInput" accept=".csv">
      <button id="import">IMPORT</button>
      <button id="export">EXPORT</button>
    </div>

    <table id="info" class="group info">
      <tbody>
        <tr>
          <td>
            <span class="tooltip"
                  title="This is the amount of time passed since the aquisition was started. To calculate the livetime, subtract the wait time you selected multiplied by the total number of counts.">
                  Real Time
            </span>
          </td>
          <td id="livetime">0</td>
          <td>s</td>
        </tr>
        <tr>
          <td>
            <span class="tooltip"
                  title="The average number of events per second over the whole range.">
                  Rate
            </span>
          </td>
          <td id="rate">0</td>
          <td>/s</td>
        </tr>
        <tr>
          <td style="padding: 0px 6px"></td>
          <td colspan=2 style="padding: 0px 6px; line-height:0 ">
            &nbsp;
          </td>
        </tr>
        <tr id="total-counts">
          <td>
            <span class="tooltip"
                  title="The total number of detection events.">
                  Total Counts
            </span>
          </td>
          <td class="value">0</td>
          <td></td>
        </tr>
        <tr id="region-of-interest">
          <td>
            <span class="tooltip"
                  title="The number of counts visible in the zoomed in region.">
                  Region of Interest
            </span>
          </td>
          <td class="value">0</td>
          <td></td>
        </tr>
      </tbody>
    </table>
    <div class="group" id="histogram-container"></div>
    <progress id="livetime-slider" max=100 value=0 ></progress>
    <label  id="logarithmic">
      Logarithmic Scale
      <input type="checkbox" checked/>
    </label>
  </div>
  <div id="warning"></div>  
  <div id="loader">
    <div id='hello_message'>
      <div class="hello_message_text">Starting...</div>
      <div class="loader"></div>
    </div>
  </div>

  <div id="details-modal" class="modal">
    <div class="content">
      <h1>Configuration</h1>
      <a id="close-details">X</a>
      <div class="diagram">
        Pulse Illustration
      </div>

      <div class="group decimation" style="-ms-grid-row: 2">
        <h2 class="tooltip"
            title="This value controls the decimation and averaging window performed by a digital filter before the pulse is analysed. If you have a noisy signal or the pulses have a long decay time, choose a larger value. Otherwise, pick the smallest value without lots of noise appearing. ">
            Sampling
        </h2>
        <!--TODO: Update this value when switching between channels-->
        <label id="decimation">
          <select>
            <option value="4">32ns</option>
            <option value="8">64ns</option>
            <option value="16" selected>128ns</option>
            <option value="32">256ns</option>
            <option value="64">512ns</option>
            <option value="128">1.0&mu;s</option>
            <option value="256">2.0&mu;s</option>
            <option value="512">4.1&mu;s</option>
            <option value="1024">8.2&mu;s</option>
            <option value="2048">16.4&mu;s</option>
            <option value="4096">32.8&mu;s</option>
            <option value="8192">65.5&mu;s</option>
          </select>
          <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
        </label>
      </div>
   
      <!-- Decimation Select-->
      <div class="group bincount" style="-ms-grid-row: 3">
        <h2 class="tooltip"
            title="Select how many bins you would like on the horizontal axis of the histogram. If using a STEMLAB-10 and a smoothing value less than 128ns, you should choose 1024 for the bin count.">
            Bin Count
        </h2>
        <!--TODO: Update this value when switching between channels-->
        <label id="bincount">
          <select>
            <option value="1024">1024</option>
            <option value="2048">2048</option>
            <option value="4096">4096</option>
            <option value="8192">8192</option>
            <option value="16384" selected>16384</option>
          </select>
          <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
        </label>
      </div>

      <!-- Time and Input Select -->
      <div class="group baseline" style="-ms-grid-row: 4">
        <h2 class="tooltip"
            title="This is the value above or below which pulses are measured from. If a pulse never goes past the baseline, it will not be counted. This is essentially shifting the histogram x-axis. Auto baseline means it will measure then pulse height from the most recent minimum of the signal. Do not use auto baseline if your pulses are bi-polar.">
          Baseline
        </h2>
        <label>
          <input type="number" id="baseline-val" value="0" min="-8192" max="8192"/>
          Min
        </label>
        <label>
          <input type="checkbox" id="baseline-auto" checked/>
          <span>Auto</span>
          <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>          
        </label>
      </div>

      <!-- Time and Input Select -->
      <div class="group threshold" style="-ms-grid-row: 5">
        <h2 class="tooltip"
            title="This is the minimum and maximum amplitude of a pulse past the baseline that will be counted. It essentially restricts the histogram x-axis. You should set a minimum that is larger than the amplitude of the noise.">
          Threshold
        </h2>
        <label>
          <input type="number" id="threshold-min" value="0" min="0" max="16384"/>
          Min
        </label>
          <label>
          <input type="number" id="threshold-max" value="16384" min="0" max="16384"/>
          Max
        </label>
      </div>


   
      <!-- Dead-Time Select-->
      <div class="group delay"style="-ms-grid-row: 6">
        <h2 class="tooltip"
            title="Select how long to wait after a pulse maximum before searching for the next pulse. Adjust this carefully if you have pileup.">
            Wait Time
        </h2>
        <label id="delay">
          <input type="range" min="0" max="16384" value="100"style="padding:0;"/>
          <span id="delay-readout">12.8 &mu;s</span>        
        </label>
      </div>

    </div>
  </div>
</body>

</html>

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest