Package: pyeit
Note, the upstream ofpyeitgoes here:eitcom/pyeit.pyEITis a python-based, open-source framework for Electrical Impedance Tomography (EIT). The design priciples ofpyEITaremodularity, minimalism, extensibility and OOP.1. InstallationpyEITis purely python based, it can be installed and run without any difficulty.1.1 Install using pip or conda-forge (recommended)pyEITis now availbale onpypiandconda-forge. It is purely python, which can be installed via$pipinstallpyeitor$condainstall-cconda-forgepyeit1.2 Install from source codeYou can track the git version ofpyEIT, and use it locally by setting thePYTHONPATHvariable.exportPYTHONPATH=/path/to/pyEITIf you are usingspyder, orpyCharm, you can also setPYTHONPATHper project in the IDE, which is more convenient.Alternatively, but not recommended, you can compile and install from source code,$pythonsetup.pybuild
$pythonsetup.pyinstall2. Run the examplesFrom the example folder, pick one demo and run!Note:the following images may be outdated due to that the parameters of a EIT algorithm may be changed in different versions ofpyEIT. And it is there in the code, so just run the demo.2.1 (2D) forward and inverse computingUsingexamples/eit_dynamic_bp.pyUsingexamples/eit_dynamic_greit.pyUsingexamples/eit_dynamic_jac.pyUsingexamples/eit_static_jac.py2.2 (3D) forward and inverse computingUsingexamples/demo_forward3d.pyUsingexamples/demo_dynamic_jac3d.pyLimitations:3D visualization plotted usingvispycan be adjusted using mouse wheels interactively. Seeking a perfect visualization mode, transparency or opaque, is in fact an individual taste. User can also trymayaviandvtkfor the visualization purpose using the unified 3D meshing structure.Solving the inverse problem of 3D EIT, requires the electrodes to be placed at multiple altitude (z-axis) in order to have a (better) z-resolution. This should be done carefully, as adding extra z-belt introduces more stimulation patterns, which in turn adds to the computational loads.3. Contribute to pyEITGivepyEITastar,forkthis project and commit a pull request(PR)!3.1 Feature lists2D forward and inverse computing of EITReconstruction algorithms : Gauss-Newton solver (JAC), Back-projection (BP), 2D GREIT2D/3D visualization!Add support for 3D forward and inverse computing3D mesh generation and visualizationGenerate 2D/3D meshes from CT/MRI (based on iso2meshhttps://github.com/fangq/iso2mesh)Complete electrode model (CEM) supportImplementing the dbar algorithm for 2D difference EIT imaging3.2 Package dependenciesPackagesOptionalNotenumpytested withnumpy-1.19.1scipytested withscipy-1.5.0matplotlibtested withmatplotlib-3.3.2trimeshfor loading external meshespandasOptionaltested withpandas-1.1.3vispyOptionalfailed withvispyin python 3.8distmeshOptionala build-in module is provided inpyEITshapelyOptionalfor thorax mesh implementationQ1, Why you choose vispy for 3D visualization?pyEITusesvispyfor visualizing 3D meshes (tetrahedron), and this module is not required if you are using 2D EIT only.vispyhas minimal system dependencies and it is purely python. All you need is a decent graphical card withOpenGLsupport. It supports fast rendering, which I think is more superior tovtkormayaviand it also has decent support for python 3. Please go to the websitevispy.orgor github repositoryvispy.githubfor more details. Installation of vispy is simple by typingpython setup.py install. We are also consideringmayavifor a future version ofpyEIT.Q2, When to use Shapely?pyEITusesShapelyto build the thorax mesh and reconstruct EIT thoracic images. The thorax mesh shape is considered as a polygon and it is built based on real geometric measures given from a thorax figure simulated byEIDORSEIT MATLAB library. The figure in turns is based on a real thorax CT (Computed Tomography) scan.To visualize thorax simulations, you should installShapely. To do so, you should simply typepip install Shapelyorconda install shapely. You can visit Shapely official documentation websiteshapely.readthedocs.iofor more details or the dependency description atShapely.pypi.4. Cite our workpyEITwas published at the 17th International Conference on Electrical Impedance Tomography, 2016. It is now officially published atsoftwareX, vol (7), 2018.If you findpyEITuseful, please cite our work!@article{liu2018pyeit,title={pyEIT: A python based framework for Electrical Impedance Tomography},author={Liu, Benyuan and Yang, Bin and Xu, Canhua and Xia, Junying and Dai, Meng and Ji, Zhenyu and You, Fusheng and Dong, Xiuzhen and Shi, Xuetao and Fu, Feng},journal={SoftwareX},volume={7},pages={304--308},year={2018},publisher={Elsevier}}