## Nanoscope
[](https://pypi.python.org/pypi/nanoscope/)
[](https://pypi.python.org/pypi/nanoscope/)
[](https://pypi.python.org/pypi/nanoscope/)
Package to read data files collected using Bruker, Veeco, and Digital Instruments Atomic Force Microscopes (AFMs) using Nanoscope v5.12 - v10.00 acquisition software. There is also some support for data acquired with the NanoDrive acquisition software.
Supported file types include:
1. Image data files
2. Ramp data (e.g. force curves without a surface hold segment, SECM data, etc. )
3. Force curves with a surface hold segment
4. Force Volume data without hold segment
5. Force Volume data with surface hold segment (electrical DCUBEs, AFM-nDMA, FFV-CR, etc.)
6. PeakForce Capture (PFC) data (collected in PeakForce QNM)
7. High Speed Data Capture (HSDC) data
8. Script data (RampScripting, AFM-nDMA, SS-PFM, etc.)
9. NanoDrive Image data
The package parses the header and provides scaled data in desired units (Volt, Metric, Force). Additionally there is a small subset of other header information available (spring constant, etc.).
## Installation
Use the pip package manager to install nanoscope.
```bash
$ pip install nanoscope
```
### Requirements
This module requires the following:
- Microsoft Windows 7 - 10 operating system
- Python 2.7.8 - 3.11.4 (64bit preferred)
- You can check the version and whether it is 64bit by launching the Python command line interface.
- Microsoft Visual C++ 2012, 2015 or 2017 Redistributable (x64 version if using 64bit Python).
- You can check which version(s) are installed by looking in “Control Panel\All Control Panel Items\Programs and Features”.
- If needed, download it from https://visualstudio.microsoft.com/vs/older-downloads/
## Usage
Note that acquisition channel numbers start with zero, not with one as is the convention in Nanoscope software.
For detailed examples, please refer to the included example code (and associated raw data files). It is contained in the module, but not imported by default.
```python
import nanoscope as ns
ns.examples.copy_examples_code() # prompt user to save a copy of the examples code Examples.py
help(ns.examples) # get a list of specific examples
ns.examples.run_example(2) # run example #2
```
*Examples.py* contains the following code for example #2 to read and plot a force curve with hold segment:
```python
import matplotlib.pyplot as plt
import nanoscope
from nanoscope import files
from nanoscope.constants import FORCE, METRIC, VOLTS, PLT_kwargs
i_chan = 0 # This will provide Nanoscope channel #1
with files.HoldCurveFile("ForceHold.spm") as file_:
channel = file_[i_chan]
# get timed data of channel
ft_plot, ax_properties = channel.create_force_time_plot(METRIC)
plt.plot(ft_plot.x, ft_plot.y)
plt.gca().set(**ax_properties) # set axes properties
plt.show()
hold_plot, ax_properties = channel.create_force_hold_time_plot(METRIC)
plt.plot(hold_plot.x, hold_plot.y)
plt.gca().set(**ax_properties) # set axes properties
plt.show()
```
Resulting in 2 plots, the first showing the deflection error versus time, the second showing the same data but only for the force hold.
## Support
Support for installation issues can be obtained by contacting the Bruker AFM service team at [afm.support@bruker.com](afm.support@bruker.com). As this package is provided at no charge, it is not feasible to provide support beyond helping with installation issues at this time.
For bug reports and feature requests, please email [afm.support@bruker.com](afm.support@bruker.com) with "BUG" or "FEATURE" in the subject line. Also, please include an example raw Nanoscope data file along with the usual other relevant information.
## License
[](https://www.apache.org/licenses/LICENSE-2.0)
Raw data
{
"_id": null,
"home_page": "",
"name": "nanoscope",
"maintainer": "",
"docs_url": null,
"requires_python": ">=2.7,<=3.11.4",
"maintainer_email": "",
"keywords": "",
"author": "Bruker Santa Barbara",
"author_email": "AFM.support@bruker.com",
"download_url": "",
"platform": "win32",
"description": "\n## Nanoscope\n[](https://pypi.python.org/pypi/nanoscope/)\n[](https://pypi.python.org/pypi/nanoscope/)\n[](https://pypi.python.org/pypi/nanoscope/)\n\n\nPackage to read data files collected using Bruker, Veeco, and Digital Instruments Atomic Force Microscopes (AFMs) using Nanoscope v5.12 - v10.00 acquisition software. There is also some support for data acquired with the NanoDrive acquisition software. \n\nSupported file types include:\n\n1. Image data files\n2. Ramp data (e.g. force curves without a surface hold segment, SECM data, etc. ) \n3. Force curves with a surface hold segment\n4. Force Volume data without hold segment\n5. Force Volume data with surface hold segment (electrical DCUBEs, AFM-nDMA, FFV-CR, etc.)\n6. PeakForce Capture (PFC) data (collected in PeakForce QNM)\n7. High Speed Data Capture (HSDC) data\n8. Script data (RampScripting, AFM-nDMA, SS-PFM, etc.)\n9. NanoDrive Image data\n\nThe package parses the header and provides scaled data in desired units (Volt, Metric, Force). Additionally there is a small subset of other header information available (spring constant, etc.).\n\n\n## Installation\n\nUse the pip package manager to install nanoscope.\n\n```bash\n$ pip install nanoscope\n```\n\n### Requirements\n\nThis module requires the following:\n\n- Microsoft Windows 7 - 10 operating system\n- Python 2.7.8 - 3.11.4 (64bit preferred)\n - You can check the version and whether it is 64bit by launching the Python command line interface.\n- Microsoft Visual C++ 2012, 2015 or 2017 Redistributable (x64 version if using 64bit Python).\n - You can check which version(s) are installed by looking in \u201cControl Panel\\All Control Panel Items\\Programs and Features\u201d.\n - If needed, download it from https://visualstudio.microsoft.com/vs/older-downloads/\n\n\n## Usage\n\nNote that acquisition channel numbers start with zero, not with one as is the convention in Nanoscope software. \n\nFor detailed examples, please refer to the included example code (and associated raw data files). It is contained in the module, but not imported by default. \n\n```python\nimport nanoscope as ns\nns.examples.copy_examples_code() # prompt user to save a copy of the examples code Examples.py\nhelp(ns.examples) # get a list of specific examples\nns.examples.run_example(2) # run example #2\n```\n\n*Examples.py* contains the following code for example #2 to read and plot a force curve with hold segment:\n\n```python\nimport matplotlib.pyplot as plt\nimport nanoscope\nfrom nanoscope import files\nfrom nanoscope.constants import FORCE, METRIC, VOLTS, PLT_kwargs\n\ni_chan = 0 # This will provide Nanoscope channel #1\nwith files.HoldCurveFile(\"ForceHold.spm\") as file_:\n channel = file_[i_chan]\n # get timed data of channel\n ft_plot, ax_properties = channel.create_force_time_plot(METRIC)\n plt.plot(ft_plot.x, ft_plot.y)\n plt.gca().set(**ax_properties) # set axes properties\n plt.show()\n\n hold_plot, ax_properties = channel.create_force_hold_time_plot(METRIC)\n plt.plot(hold_plot.x, hold_plot.y)\n plt.gca().set(**ax_properties) # set axes properties\n plt.show()\n```\n\nResulting in 2 plots, the first showing the deflection error versus time, the second showing the same data but only for the force hold.\n\n## Support\n\nSupport for installation issues can be obtained by contacting the Bruker AFM service team at [afm.support@bruker.com](afm.support@bruker.com). As this package is provided at no charge, it is not feasible to provide support beyond helping with installation issues at this time. \n\nFor bug reports and feature requests, please email [afm.support@bruker.com](afm.support@bruker.com) with \"BUG\" or \"FEATURE\" in the subject line. Also, please include an example raw Nanoscope data file along with the usual other relevant information.\n\n## License\n\n[](https://www.apache.org/licenses/LICENSE-2.0)\n\n\n\n\n",
"bugtrack_url": null,
"license": "OSI Approved :: Apache Software License",
"summary": "Python library for Bruker AFMi Nanoscope files",
"version": "1.2.300",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bb1d1fab5f6e79174b23119f8cf1854bbcddc3f06a51d3de37eb9b5606ba68c9",
"md5": "734d588a8c2bdd77029aecff99fae9a9",
"sha256": "ec97406f636e4e45804bf6f8ed509a96012fc8551fc00d75f281cfb826ac0066"
},
"downloads": -1,
"filename": "nanoscope-1.2.300-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "734d588a8c2bdd77029aecff99fae9a9",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=2.7,<=3.11.4",
"size": 34822818,
"upload_time": "2023-08-04T20:11:37",
"upload_time_iso_8601": "2023-08-04T20:11:37.866552Z",
"url": "https://files.pythonhosted.org/packages/bb/1d/1fab5f6e79174b23119f8cf1854bbcddc3f06a51d3de37eb9b5606ba68c9/nanoscope-1.2.300-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-04 20:11:37",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "nanoscope"
}