| layout | title |
|---|---|
default |
Quick Start Guide |
Choose your preferred installation method:
<!-- Tabs for installation -->
<ul class="nav nav-tabs" id="installTabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="pip-tab" data-bs-toggle="tab" data-bs-target="#pip-panel" type="button" role="tab">
<i class="bi bi-box"></i> pip
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="conda-tab" data-bs-toggle="tab" data-bs-target="#conda-panel" type="button" role="tab">
<i class="bi bi-cloud"></i> conda
</button>
</li>
</ul>
<div class="tab-content mt-3" id="installTabsContent">
<div class="tab-pane fade show active" id="pip-panel" role="tabpanel">
<div class="code-block">
<button class="copy-btn" data-clipboard-text="pip install openpiv">
<i class="bi bi-clipboard"></i> Copy
</button>
<pre><code>pip install openpiv</code></pre>
</div>
<p class="mt-2 text-muted small">Requires Python 3.8 or higher</p>
</div>
<div class="tab-pane fade" id="conda-panel" role="tabpanel">
<div class="code-block">
<button class="copy-btn" data-clipboard-text="conda install -c conda-forge openpiv">
<i class="bi bi-clipboard"></i> Copy
</button>
<pre><code>conda install -c conda-forge openpiv</code></pre>
</div>
<p class="mt-2 text-muted small">Recommended for scientific Python users</p>
</div>
</div>
</div>
Download example images or use your own PIV image pairs:
<div class="code-block">
<button class="copy-btn" data-clipboard-text="from openpiv import tools
frame_a, frame_b = tools.imread('exp1_001_a.bmp'), tools.imread('exp1_001_b.bmp')"> Copy
from openpiv import tools
frame_a, frame_b = tools.imread('exp1_001_a.bmp'), tools.imread('exp1_001_b.bmp') <div class="alert alert-light mt-3">
<i class="bi bi-download"></i> <strong>Sample Data:</strong> You can download test images from the <a href="https://github.com/OpenPIV/openpiv-python/tree/master/openpiv/data" target="_blank">OpenPIV GitHub repository</a>
</div>
</div>
Use this simple script to perform PIV analysis:
<div class="code-block">
<button class="copy-btn" data-clipboard-text="import openpiv.tools
import openpiv.process import openpiv.scaling
frame_a = openpiv.tools.imread('exp1_001_a.bmp') frame_b = openpiv.tools.imread('exp1_001_b.bmp')
u, v, sig2noise = openpiv.process.extended_search_area_piv( frame_a, frame_b, window_size=32, overlap=16, dt=0.02, search_area_size=64 )
x, y, u, v = openpiv.scaling.uniform( u, v, scaling_factor=0.1/0.02 # 5 mm/s per pixel/frame )
openpiv.tools.save(x, y, u, v, 'output.txt')
print('PIV analysis complete! Results saved to output.txt')"> Copy
import openpiv.tools import openpiv.process import openpiv.scalingframe_a = openpiv.tools.imread('exp1_001_a.bmp') frame_b = openpiv.tools.imread('exp1_001_b.bmp')
u, v, sig2noise = openpiv.process.extended_search_area_piv( frame_a, frame_b, window_size=32, overlap=16, dt=0.02, search_area_size=64 )
x, y, u, v = openpiv.scaling.uniform( u, v, scaling_factor=0.1/0.02 # 5 mm/s per pixel/frame )
openpiv.tools.save(x, y, u, v, 'output.txt')
print('PIV analysis complete! Results saved to output.txt')
Create beautiful velocity field plots:
<div class="code-block">
<button class="copy-btn" data-clipboard-text="import matplotlib.pyplot as plt
import openpiv.tools
x, y, u, v = openpiv.tools.load('output.txt')
fig, ax = plt.subplots(figsize=(10, 8)) ax.quiver(x, y, u, v, scale=50) ax.set_xlabel('X [mm]') ax.set_ylabel('Y [mm]') ax.set_title('PIV Velocity Field') plt.savefig('velocity_field.png', dpi=150) plt.show()"> Copy
import matplotlib.pyplot as plt import openpiv.toolsx, y, u, v = openpiv.tools.load('output.txt')
fig, ax = plt.subplots(figsize=(10, 8)) ax.quiver(x, y, u, v, scale=50) ax.set_xlabel('X [mm]') ax.set_ylabel('Y [mm]') ax.set_title('PIV Velocity Field') plt.savefig('velocity_field.png', dpi=150) plt.show()
No installation required! Test OpenPIV in your browser.
<div class="row mt-4">
<div class="col-md-6 mb-3">
<a href="https://colab.research.google.com/github/OpenPIV/openpiv-python/blob/master/openpiv/examples/notebooks/tutorial.ipynb"
class="btn btn-primary btn-lg" target="_blank">
<i class="bi bi-google"></i> Open in Google Colab
</a>
</div>
<div class="col-md-6 mb-3">
<a href="https://molab.marimo.io/notebooks/nb_ZpcirbacVvBP3ZgbdCgKhM"
class="btn btn-outline-primary btn-lg" target="_blank">
<i class="bi bi-book"></i> Try Marimo Notebook
</a>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4 mb-4">
<div class="next-step-card">
<i class="bi bi-book"></i>
<h4>Learn More</h4>
<p>Explore detailed tutorials and documentation</p>
<a href="{{ site.baseurl }}/gettingstarted.html" class="btn btn-outline-primary">
View Tutorials
</a>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="next-step-card">
<i class="bi bi-question-circle"></i>
<h4>Get Help</h4>
<p>Browse FAQ and join the community forum</p>
<a href="{{ site.baseurl }}/faq.html" class="btn btn-outline-primary">
Read FAQ
</a>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="next-step-card">
<i class="bi bi-code-slash"></i>
<h4>Advanced Features</h4>
<p>GPU acceleration, validation, filtering, and more</p>
<a href="https://openpiv.readthedocs.io" class="btn btn-outline-primary" target="_blank">
API Documentation
</a>
</div>
</div>
</div>
<div class="accordion mt-3" id="troubleshootingAccordion">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#trouble1">
Installation fails with permission error
</button>
</h2>
<div id="trouble1" class="accordion-collapse collapse" data-bs-parent="#troubleshootingAccordion">
<div class="accordion-body">
Try installing in user mode: <code>pip install --user openpiv</code>
<br>Or use a virtual environment: <code>python -m venv myenv</code>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#trouble2">
ImportError: No module named 'openpiv'
</button>
</h2>
<div id="trouble2" class="accordion-collapse collapse" data-bs-parent="#troubleshootingAccordion">
<div class="accordion-body">
Make sure you're using the correct Python environment. Check with: <code>python -m pip show openpiv</code>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#trouble3">
Poor PIV results or many spurious vectors
</button>
</h2>
<div id="trouble3" class="accordion-collapse collapse" data-bs-parent="#troubleshootingAccordion">
<div class="accordion-body">
Try adjusting parameters:
<ul>
<li>Increase <code>window_size</code> for larger displacements</li>
<li>Increase <code>search_area_size</code> if particles move far between frames</li>
<li>Adjust <code>overlap</code> for better spatial resolution</li>
<li>Check image quality and particle seeding density</li>
</ul>
See the <a href="{{ site.baseurl }}/faq.html">FAQ</a> for more parameter guidance.
</div>
</div>
</div>
</div>
<div class="mt-4 text-center">
<p><strong>Still need help?</strong></p>
<a href="https://groups.google.com/forum/#!forum/openpiv-users" class="btn btn-primary" target="_blank">
<i class="bi bi-people"></i> Ask on Forum
</a>
<a href="mailto:openpiv2008@gmail.com" class="btn btn-outline-primary">
<i class="bi bi-envelope"></i> Email Us
</a>
</div>
</div>
</div>
</div>