Scripts & Tools
Task Automation and Software Enhancements for NABat Tasks
Below you will find a suite of scripts and other tools, many of which were developed by the SEBatHub, for workflow enhancements related to common NABat data management and processing tasks. These tools are intended to save time, increase thoroughness, or provide additional features to software commonly used for analyzing and managing bat data. Because your system or file and metadata organization formats may differ from the testing environments, some of the tools may not function as intended.

We highly recommend backing up your data before using any of the functions of the tools which modify data. By downloading and using these tools, you must agree that you understand these statements. If you experience issues, the tools do not function, or you have suggestions, please contact us or check the scripts and tools threads in the Discussion Forum.
Many of the tools below are .py files, which are Python scripts. For more information and guidance on running these scripts, see our Python Instructions page.
Acoustic Data Tools
Scripts and tools related to acoustic data management and processing.
File Renaming (Python Script)
PyKaleidoscopeZCAcousticFileRenamerBETA20230119.py
This interactive Python script will rename zero-crossing files from AnaBat SD2 and Swift (Express not yet tested) which have been processed by Kaleidoscope. It will auto-convert the 8.3 filenames from SD2 units into readable datetimes and convert all filenames to the NABat format. It will also update the associated filename entries in meta.csv, id.csv, and log.txt files from Kaleidoscope output so they match the renamed files. Acoustic files should first be auto-classified following steps 1-10 of the NABat guide on https://www.nabatmonitoring.org/kaleidoscope-stationary Follow the Download link and check the README.txt file for more information and instructions on running the script.
Alternative File Renaming Application
Bulk Rename Utility
Not developed by SE Bat Hub. This free file renaming tool for Windows provides highly customizable file renaming operations. You may replace, insert, append, and conditionally modify text in filenames. The user interface has many options, and you can find help online. It works with any filetype, which is very useful, but be careful to only rename the files you intend to modify. Follow the Download link for more information and to download the software from the official website.
Call File Sorting for Manual Vetting (Python Script)
PyKalProZC_SpeciesSortForVetting_V20230123.py
This script will read zero-crossing bat acoustic recording files and group files by species and recording metrics calculated by Kaleidoscope for more efficient manual vetting of large datasets. Optionally, you can sort by call metrics or just group by species, you can group NoIDs that have an alternate ID with calls auto-IDed to those species, and if your data are in nightly sub-folders, you can choose to group them by site rather than by night. It has been tested with files processed with Kaleidoscope using the NABat instructions and metadata forms found here: https://www.nabatmonitoring.org/kaleidoscope-stationary Use this same script, of the same version, to undo the sorting and return the original filenames. All previous releases are available at the Download link, as well as the latest version. Follow the Download link and check the README.txt file for more information and instructions on running the script.
Kaleidoscope Manual ID Metadata Populator (Python Script)
PyKaleidoscopeZCAnalookWManualIDMetaPopulator.py
This script will read manual IDs from zero-crossing files which were auto-classified by Kaleidoscope and manually IDed in AnalookW to update the manual ID values in the meta.csv and id.csv files generated during the auto-classifying process. We created this script because some partners prefer to use AnalookW to manually vet data, but doign so will not update manual IDs in the Kaleidoscope output files. Acoustic files should first be auto-classified following steps 1-10 of the NABat guide on https://www.nabatmonitoring.org/kaleidoscope-stationary It will also ask if you wish to update a master meta.csv, as is generated in steps 12-17 of the NABat Kaleidoscope guide (above). Follow the Download link and check the README.txt file for more information and instructions on running the script.
Other Scripts & Tools
General scripts and tools that can assist NABat related tasks.
Mobile Route KML from AnaBat SD2 gps.txt (Python Script)
PyAnaBatSD2GPStoKML_BETA20221031.py
This script will read an AnaBat SD2 gps.txt file and convert it to a KML, which can be uploaded to the NABat partner portal for mobile transect routes. It will search for bugged date entries and attempt to correct them. It will also search for multiple events, point by point, based on a time difference of 6 hours. Follow the Download link and check the README.txt file for more information and instructions on running the script.
Mobile Route KML from AnaBat Swift GPX (Python Script)
PyAnaBatSwiftGPXtoKMLLineStringBETA20220921.py
This script will take GPX file(s) from AnaBat Swift data, extract the LineString feature, and export it as a KML file, which can be uploaded to the NABat partner portal for mobile transect routes. It will work with data with single and multiple GPX files. Extraneous data could be contained in some GPX files if the detector was tested and the card was not cleared before the survey. Follow the Download link and check the README.txt file for more information and instructions on running the script.
File List Generator (Python Script)
pyGetFiles.py
This is a very simple script which will prompt you to enter a path. It will scan this path for files and folders, and output a FilesList text file listing them all. It can be useful for sharing data structure with someone assisting with data management and processing without the need to upload or transfer all the data itself.