{"id":13936645,"url":"https://github.com/titusjan/argos","last_synced_at":"2026-02-20T00:32:41.095Z","repository":{"id":33717996,"uuid":"37371735","full_name":"titusjan/argos","owner":"titusjan","description":"Argos: a data viewer that can read HDF5, NetCDF4, and other file formats.","archived":false,"fork":false,"pushed_at":"2025-10-19T10:37:29.000Z","size":5217,"stargazers_count":192,"open_issues_count":6,"forks_count":27,"subscribers_count":11,"default_branch":"master","last_synced_at":"2026-01-12T19:51:03.716Z","etag":null,"topics":["argos","hdf","hdf5","image-plots","netcdf4","plot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/titusjan.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-06-13T13:05:31.000Z","updated_at":"2026-01-12T06:03:49.000Z","dependencies_parsed_at":"2024-04-19T11:46:07.403Z","dependency_job_id":"b61a3162-b17d-4bea-ac08-ca888c01c23f","html_url":"https://github.com/titusjan/argos","commit_stats":{"total_commits":950,"total_committers":9,"mean_commits":"105.55555555555556","dds":0.08526315789473682,"last_synced_commit":"7f704c602a185aabf84af550ba5c68928695600e"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/titusjan/argos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fargos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fargos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fargos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fargos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/titusjan","download_url":"https://codeload.github.com/titusjan/argos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titusjan%2Fargos/sbom","scorecard":{"id":887934,"data":{"date":"2025-08-11","repo":{"name":"github.com/titusjan/argos","commit":"e8c600d8f7d3267ffecebaae2c93efbe3c9c7107"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-24T10:41:47.620Z","repository_id":33717996,"created_at":"2025-08-24T10:41:47.620Z","updated_at":"2025-08-24T10:41:47.620Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29637412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T22:32:43.237Z","status":"ssl_error","status_checked_at":"2026-02-19T22:32:38.330Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argos","hdf","hdf5","image-plots","netcdf4","plot"],"created_at":"2024-08-07T23:02:53.015Z","updated_at":"2026-02-20T00:32:41.087Z","avatar_url":"https://github.com/titusjan.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"Argos\n==========\n\nArgos is a GUI for viewing and exploring scientific data, written in Python and Qt. It has a\nplug-in architecture that allows it to be extended to read new data formats. At the moment plug-ins\nare included to read HDF-5, NetCDF-4, WAV, Exdir, numpy binary files and various image formats, but\na plug-in could be written for any data that can be expressed as a Numpy array.\n\n\n### Installing Argos\n\nArgos works with Python 3.7 and higher.\n\nArgos requires at least [PyQt5](https://www.riverbankcomputing.com/software/pyqt/intro) and\n[Numpy](http://www.numpy.org) and [CmLib](https://github.com/titusjan/cmlib). It is strongly\nrecommended to also install [PyQtGraph](https://pyqtgraph.org) and\n[PgColorBar](https://github.com/titusjan/pgcolorbar), which are required to visualize the data as\nimage plots or line plots. Without them the data can only be examined as tables or text.\n\nThe following dependencies are **optional**. You only need to install them if you want to read the\ncorresponding file formats.\n\n| Optional Python package                              | File formats                    |\n|------------------------------------------------------|---------------------------------|\n| [h5py](http://www.h5py.org)                          | HDF-5                           |\n| [netCDF4](http://unidata.github.io/netcdf4-python/)  | NetCDF (v3 and v4)              |\n| [pillow](https://python-pillow.org/)                 | BMP, JPEG, PNG, TIFF, GIF, etc. |\n| [scipy](https://www.scipy.org/)                      | Matlab \u0026 IDL save-files. WAV    |\n| [pandas](http://pandas.pydata.org/)                  | Comma-separated files           |\n| [exdir](https://github.com/CINPLA/exdir)             | Exdir                           |\n\n\n#### Installing Argos with Pip\n\nFirst install PyQt5 with `pip`, then install Argos.\n\n    %\u003e pip install PyQt5\n    %\u003e pip install argos\n\nAfter that, install the optional dependencies with `pip install \u003cpackage\u003e`.\n\nFor convenience, you can install Argos with Qt and all optional dependencies in one command like so:\n\n    %\u003e pip install argos[pyqt5,all-formats]\n\n#### Installing Argos with Anaconda\n\nArgos is available at the conda-forge channel. To install it type:\n\n    %\u003e conda install pyqt\n    %\u003e conda install -c conda-forge argos\n\nAfter that, install the optional dependencies with `conda install \u003cpackage\u003e` (or\n`pip install \u003cpackage\u003e` for exdir).\n\n\n### Starting Argos\n\nAfter installation, Argos can be started from the command-line with\n\n```\n    %\u003e argos [FILE [FILE ...]]\n```\n\nwhere `[FILE [FILE ...]]` are zero or more files or directories you want to view.\n\nFor a complete list of command line options, run argos with `-h'.\n\n```\n    %\u003e argos -h\n```\n\n\n#### Trouble shooting\n\nIf you start `argos` and nothing happens, you probably didn't install `PyQt` or `numpy`. You can\ntry to start argos as follows to get more information\n\n```\n    %\u003e python -m argos\n```\n\n#### Resetting Argos\n\nAt start-up, Argos reads some persistent settings (window position and size, plot settings, etc)\nfrom a configuration file so that you can continue where you left off the previous session.\n\nIf, for some reason, you want Argos to reset to its initial state, you can simply delete this\nconfig file before starting Argos (please make a backup just in case). Argos will then start with\nthe original configuration.\n\nThe configuration file is called `settings.json` by default. Its location is platform dependent:\n\n```\n\tWindows: C:\\Users\\\u003cuser\u003e\\AppData\\Local\\titusjan\\argos\n\tMacOS: ~/Library/Preferences/titusjan/argos\n\tLinux: ~/.config/titusjan/argos\n```\n\nNote that this directory might be hidden. For convenience you can open this directory in a\nfile browser by selecting `Configure | Show Config Files...` from the Argos main menu.\n\n\n### Using Argos\n\nThe Argos main window consists of a central panel that holds a visualization, and some smaller\nwindows that surround the main panel. The smaller windows can be moved around by dragging them by\ntheir title bar. They can be separated from the main window or can be docked at an at another\nposition. Collectively they are called the dock panels. You can show and hide them via the\n`View | Panels` main menu (although there is typically no need to do so).\n\n![argos_screen_shot](docs/screen_shots/argos_gui.png)\n\nThe main panel is called the (data) Inspector. From the `View` main menu you can select one of the\nfollowing inspector types: _Line Plot_, _Image Plot_, _Table_, or _Text_ inspector. The current\ninspector type is shown in the menu button above the inspector panel. Clicking this button (or\npressing ctrl-I) is an alternative way of selecting a different inspector.\n\nIf you want to have multiple inspectors open at the same time, you can select `New Window` from the\n`File` menu.\n\n\n#### Selecting Data\n\nNote: the HDF5 file that is used in the screenshot and in the examples below can be\ndownloaded [here](http://www.hdfeos.org/zoo/index_openGESDISC_Examples.php#OMI) (2.4 MB).\nMore (NetCDF4) example data can be found at the UCAR site\n[here](https://www.unidata.ucar.edu/software/netcdf/examples/files.html).\n\nThe `Data` dock panel displays the list of files and directories that are loaded and are available\nfor inspection. The repository has the form of a tree, or more precisely a list of trees (a forest).\nYou can add files by selecting the `Open Files` from the `File` menu, and add directories with the\n`Browse Directory` option. Argos uses the file extension to determine which plug-in to use for\nopening the file. The icon color of the tree items indicates which plug-in was used. With the\n`Open as` menu option you can force Argos to open a file with the a certain plug-in. If a plug-in\nraises an error while opening a file, it will get a red triangle as icon (hover over the item to\nget a tool-tip with the error message).\n\nExpanding the items in the tree will automatically open the underlying files. Collapsing\nan item will close the file again. Right-clicking the item will bring forward a context menu that\nmakes it possible to collapse the item without closing the underlying file, to reload the file, or\nto open the file with a different plug-in.\n\nNote that the data repository is shared between all Argos main windows. That is, opening a file\nwill add a new item to the `Data` tree of all open windows.\n\n\n#### Slicing Data\n\nSelecting an item in the tree will automatically place it in the `Collector` table at the bottom\nright of the windows. If the item contains numerical data, drop-down and spinbox widgets will appear\nin the table. These enable you to specify a slice of the data that the inspector will then\nvisualize.\n\nIn the screen shot for example, the `ColumnAmountO3` HDF-5 dataset is selected and placed in the\ncollector. This is a two-dimensional data array, it contains a world wide distribution of ozone in\nthe atmosphere. The first dimension corresponds to longitude, the second to latitude. These\ndimensions have no name since the dataset has no associated [dimension\nscales](http://docs.h5py.org/en/latest/high/dims.html). Therefore, Argos just calls them `dim-0`\nand `dim-1`.\n\nThe inspector in the screen shot is an `Image Plot`. This is a two-dimensional inspector so there\nwill appear two drop-down box in the table: the first specifies which dimension will be mapped onto\nthe Y-axis (`dim-0` in the example) and the second determines the data dimension that is mapped to\nthe X-axis.\n\n![collector_2d](docs/screen_shots/collector_2d.png)\n\nWhen you select the `Line Plot` inspector from the View menu or the Inspector button, the selected\ndata will be drawn as a line plot. A line plot can only show one-dimensional data, but because\nsince the example data is two-dimensional only a sub-slice of the dataset can be visualized. The\ncollector will therefore contain a drop-down box for specifying which data dimension will be laid\nalong the X-axis, and a spinbox-slider combination for selecting the index of the other dimension.\nBelow you see the case that the line plot will draw row 360. By the way, this is reflected in the\nplot title, which will be `ColumnAmountO3[360, :]`).\n\n![collector_1d](docs/screen_shots/collector_1d.png)\n\nBy default Argos will put the first array dimension(s) in the spinbox(es), and select the fasted\nchanging array dimension(s) in the drop-down box(es).\n\n#### Inspecting Data and Configuring the Visualization\n\nThe `Settings` dock panel, located at the top right, contains settings for configuring the current\ninspector. If you click on a config value, an appropriate widget will appear for editing, together\nwith a reset button \u003cimg src=\"argos/img/snipicons/reset-l.svg\" width=\"16\" height=\"16\"\u003e that will\nreset the config value to its default when clicked.\n\nThe settings are hierarchical so that related settings are grouped together in a branch. Branches\nalso have a reset button that resets the complete branch. For instance by clicking on the reset\nbutton of the `y-axis` config value branch, all settings pertaining to the Y-axis are reset.\n\n\u003cimg src=\"docs/screen_shots/settings.png\" width=\"350\"\u003e\n\nNote that some branches are collapsed by default to hide the infrequently used settings and reduce\nclutter. For instance the `cross-hair` item can be expanded for further tweaking of the cross-hair\nplots.\n\nWhen you click on the `Reset Ranges` button at the bottom of the Settings panel, all settings that\nare related to the data range (such as the range of the axes and the color scale) are reset to their\ndefault values. This gives you a convenient way to go back to viewing all the data after zooming in.\nPressing `Ctrl-0` has the same effect.\n\nIf the `auto` checkbox is checked, the _Range_ settings are automatically reset every time you\nselect a new item in the Data tree or select a new axis in drop-down box in the data Collector\npanel. Normally this is desired behavior because a new dataset or axis will have a totally different\ndata range. Unchecking the auto scale checkbox allows you to retain the axes range settings, which\ncan be useful in case you are switching to a related dataset with the same data extent.\n\nIf you want to reset all inspector settings you can click on the triangle next to the `Reset\nRange` button and select `Reset All` in the context menu that appears. The menu also allow you to\nchange the default action of the button.\n\n\u003cimg src=\"docs/screen_shots/reset_menu.png\" width=\"250\"\u003e\n\nA few of the inspector settings are explained below. It is not a complete list, many of the settings\nwill be clear from their name. I also urge you to experiment yourself by just trying new values.\nYou can always go back by using the `Reset All` option as described above.\n\n#### Line Plot Inspector\n\nThe `Line Plot` inspector contains a single line plot, which uses\n[PyQtGraph](http://www.pyqtgraph.org/) the underlying plot engine.\n\nYou can move (pan) the plot by dragging it while holding the left mouse button. Dragging with the\nright mouse button zooms in or out. If you drag while your mouse cursor is above the X or Y axis,\npanning and zooming will be only done in that direction. Zooming can also be done by scrolling your\nmouse-wheel while the cursor is above the plot or axes. In addition, you can employ a rectangle\nzoom mode by checking the `rectangle zoom mode` checkbox in the the settings panel. In this mode\ndragging with the left button will draw a rectangle, which will subsequently be used as the new\nplot range.\n\nTo reset the plot range you can click the middle mouse button anywhere on the plot (or one of the\naxes). You can also reset it by clicking the small button labeled 'A' in the lower left corner of\nthe figure. Finally, right clicking on the plot will pop up a context menu from which the plot\nrange can also be reset.\n\nIf the axis auto-range mode is on, the axis' range is calculated from the data. By default this is\ndelegated to PyQtGraph, but by setting the `y-axis/range/autorange/method` option, you can let the\nauto-range method discard a certain percentage of the outliers.\n\nIf the axis auto-range mode is off, you can set the axis' range manually in the `range/min` and\n`range/max` options. The range will remain fixed if you select a new slice with the spinbox.\nAutorange will be turned off as soon as you zoom or pan the data. You can turn it on again in the\n`range/autorange` option, or by resetting the axis' plot range as described above.\n\nThe plot title can be modified with the `title` config option via an editable combobox widget. You\ncan enter any title you want but be aware that the title may be incorrect as soon as you pick a\nnew item from the Data tree. Therefore a few properties can be written in between braces.\nThese will then be updated dynamically whenever a new data item is selected. For example, `{name}`\nwill be substituted with the name of the selected item.\n\n*   `{name}`     : name of the selected item from the Data tree.\n*   `{path}`     : full path of the items leading up to the selected item. Might be long!\n*   `{base-name}`: name of the file that contains the item.\n*   `{dir-name}` : directory of the file that contains the item. Might be long!\n*   `{file-name}`: full file name (dir-name + '/' + base-name). Might be long!\n*   `{slices}`   : information about the selected array slice in Numpy notation. E.g. `[360, :]`\n*   `{unit}`     : the unit of the item in parenthesis, or the empty string if no unit is available.\n*   `{raw-unit}` : the unit of the item as-is, that is, without parenthesis.\n\nFurthermore, PyQtGraph uses HTML for the plot title so you can make fancy titles such as\n`\u003csmall\u003e{name} \u003cspan style=\"color:#FF0066\"\u003e{slices}\u003c/span\u003e\u003c/small\u003e`. This also means that you must\nescape the `\u003c`, `\u003e` and `\u0026` characters by using `\u0026lt;`, `\u0026gt;`, `\u0026amp;` instead!\n\nThe `x-axis/label` and `y-axis/label` settings can be edited in the same way as the `title`.\n\nThe editable comboboxes will remember entered values. If you want to remove an item from a\ncombobox, highlight it in and then press delete. You can also press `Ctrl-Del` while you are\nediting to remove the current item.\n\nThe `pen` settings branch holds config items that determine how the plot curve is drawn. Make sure\nyou have at least one of the `line` and `symbol` checkmarks checked, or the curve will be\ninvisible. Anti-aliasing is turned on by default. This can be slow, especially in combination with\na line width other than 1.0, so if you have large plots you might want to turn it off.\n\n#### Image Plot Inspector\n\nThis inspector shows an image plot and optional cross-hair line plots that show cross sections of\nthe data at the cursor (see the screen shot at the top of this document).\n\nPanning, zooming and setting the plot titles work in the same manner as for the Line Plot\ninspector. Next to that, the image plot has a `color scale` that determines the minimum and maximum\nvalues of the color scale. Its range, too, can be in auto-range mode, or can be set manually.\n\n\u003cimg src=\"docs/screen_shots/color_legend.png\" width=\"161\"\u003e\n\nThe range of the color scale can also be manipulated by panning and zooming the color scale as follows:\n\n* **Pan the range:**\n    Drag the scale up or down with the left mouse button to move the color range. This changes the\n    intensity of the colorized image.\n* **Zoom the range:**\n    Drag the scale using the right mouse button, or scroll with the mousewheel when the cursor is\n    above the scale. This makes the extent of the scale larger or smaller and so changes the\n    contrast of the colorized image.\n* **Change the range at one side only:**\n    Hover the cursor over one of the dashed horizontal lines (located at the edges of the color\n    bar) until it becomes wider and the cursor changes. Then drag the line up or down. The range\n    will change only at that end-point while the other end-point remains the same. Note that the\n    _drag lines_ might be hidden with the `show draglines` setting but they still will appear if\n    the cursor hovers above them. The `show draglines/margins` option allows you to increase white\n    space around the color bar so that you have more room for dragging.\n* **Reset the range:**\n    Click the middle mouse button (or mouse wheel) while the cursor is above the scale to reset the\n    color range.\n\nNext to the color scale you see a side-ways histogram, which gives an indication of how many pixels\nhave a certain value. This may assist you in choosing the best color range. The histogram can be\nhidden by unchecking the `color scale/show histogram` setting.\n\nArgos comes with a large collection of color maps. The current color map can be changed with the\n`color scale/color map` setting. The drop-down box contains a small selection of user-favorite\ncolor maps. The ellipsis button (`…`) next to will bring forward a dialog window which contains a\ntable with all the available color maps. You can add color maps to the favorites by checking the\ncheck box in the left most column of the table (labeled ★). See the [CmLib\ndocumentation](https://github.com/titusjan/cmlib#cmlib) for more details.\n\nBy checking the `cross hair` config option you can bring up two line plots to the side of the\nfigure (see the screen shot at the top). A horizontal and vertical line are drawn at the cursor\nposition and the plots will contain a cross-section of the values along those lines.\n\n#### Table Inspector\n\nThis inspector is useful for examining the exact values of your data. You can change the size of\nthe table cells via the `row height` and `column width` settings. By checking the\n`auto row heights` and/or the `auto column widths` check boxes, you can configure the table\ninspector to calculate the cell sizes dynamically from their contents. Note that this can be slow\nfor large tables. So, as an optimization, if the table has more than 1000 elements only the\ncurrently selected cell is used to calculate the height and width, and this is applied to all other\ncells. If a table has more than 10000 rows or columns, auto resizing is disabled.\n\nIf your selected data item is a structured array, i.e. an array having fields, all fields are\ndisplayed in a separate column by default. If you uncheck the `separate fields` checkbox, all\nfields of are combined in a single cell as follows: `(field1, field2, ...)`.\n\nYou can change how the data in the cells is formatted with the config options under the\n`format specifier` branch. Which setting is used depends on your data type: the `integers` format\nsetting is used if the data in the cell is an integer, `other numbers` is used for floating point,\nrational, or complex numbers; and any data that is not a string or a number is formatted with the\n`other types` format code. For instance, setting the `other numbers` to `.2e` will display all\nfloating point data in scientific notation with two digits behind the decimal point.\n\nThe format codes must be a `format_spec` from the new-style Python formatting. You can think of\nthem as new-style formatting codes, but without the braces and the colon. If you want to use a\ncomplete format string, i.e. _with_ the braces and the colon, you must put your format string\nbetween quotes. For example, using `'hello {:.2e}'` will prepend \"hello\" to the data values. Take\na look at [this page](https://pyformat.info/) or the Python documentation\n[Format Specification Mini-Language](https://docs.python.org/3/library/string.html#format-specification-mini-language)\nto see what's possible.\n\n#### Text Inspector\n\nThe `Text` inspector contains a _read-only_ text editor widget that shows the contents of a single\narray element. If your data consists of large strings, especially strings of multiple lines,\nexamining it in a text editor works better than using a table and resizing the cell sizes. Also\nthe `word wrap` settings has more options here. To see this for yourself, download the example file\nfrom the screenshot [here](http://www.hdfeos.org/zoo/index_openGESDISC_Examples.php#OMI) (2.4 MB),\nand look at the `HDFEOS INFORMATION/StructMetadata.0` dataset in both the table inspector and the\ntext inspector.\n\n\n#### Viewing Metadata\n\nAt the bottom of the Data panel, in the lower left corner of the screen shot, are two tabs that\ncontain meta data of the item that is currently selected in the tree.\n\nThe `Attributes` tab lists the attributes of items from HDF or NetCDF files. Other file formats may\ncontain similar meta data, which will also be displayed here.\n\nThe `Properties` tab contains a list of properties, such as the shape and element-type of the\nselected item. In contrast to the `Attributes` this list is fixed; all data items always have the\nsame list of properties (although their contents may be empty). These properties, by the way, can\nbe added as columns in the Data tree via `View | Table Headers | Data` in the main menu.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitusjan%2Fargos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftitusjan%2Fargos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitusjan%2Fargos/lists"}