BioScan - Version 2.7.4​

Summary​

BioScan is a multipurpose exobiology tool for Elite Dangerous. It utilizes the plugin system of the Elite Dangerous Market Connector for backend journal processing and display.

Core Functionality and Comparison​

The core functionality of BioScan is to provide the best possible estimates for which species will be present on a planet, much like the Observatory BioInsights plugin. With the latest updates, BioScan can be slightly more accurate at ruling out certain bios with overlapping criteria. In a few edge cases, BioInsights may be slightly more accurate. Determining region boundaries and proximity to nebulae can be hard.

There are a few key differences between each. BioScan is intended to be used as an active tool with a compact interface which could be potentially overlayed onto the game. It also presents key information to help you navigate and track flora while landing, moving, and scanning on a planet.

It supports both Horizons and Odyssey biologicals.

Predictions​



While collecting scan data of a system, planets with biological signals will be added to the main tracker. Based on the properties of that planet (as well as your location in the galaxy, and the various stars and body types present), the scroll pane will display all possible genera and species that could be on that body as well as the potential value range of those possibilities. You can optionally display a complete breakdown of the possible species and variants.

Scanning​



After you've mapped a planet with biological signals, it will then pare down the list to the detected genera or species. Once you've started to scan each species, it will display the final type and value of the sample as well as indicate the scan progress. Additional info will be discussed in the navigation section below.

Once fully analyzed, the total system value (and possible first find value) will be shown at the bottom of the pane.

Codex Entries​


As of version 2.5, any potential species that has not yet been logged to your local region's codex will be marked.

This is marked by the 📝 memo emoji in front of the genus. For best results, see journal importing.

Navigation​

The top of the pane will track all relevant bodies in the system, including a shorthand for the body type and the number of signals detected there. This can help you quickly determine a DSS target. There are additional indicators for high gravity ^G^ and extreme gravity !G! planets. High gravity is currently considered 1G or greater. Extreme gravity is 2.7G or greater which makes it impossible to go on foot.

BioScan will track your movements and show just the relevant species data if you are currently located at a body of interest, to help reduce clutter and scrolling. It will also give you the gravity of the planet to help you gauge your landing. After you initiate a scan, you will get a display of the required sample distance and your current minimum distance to a previous sample, which is updated in real time.

It will reset your scan progress if the previous scan wasn't completed and you start a different species. It can also track scans with the composition scanner and will lock in the final species of the genus without requiring you to scan biologicals one at a time. In this way you can lock in a species and value while competing the analysis of another lifeform.

Waypoints​



Scans with the comp. scanner will log waypoints for any incomplete species. If you have an active scan, the nearest waypoint for that species will display below the progress indicator. Waypoints within the minimum distance of previous samples are excluded from the list. When you have no active scan, any remaining unanalyzed species will display the nearest waypoint in the detailed species list scrollbox.

The waypoint indicator will display the distance to the waypoint, the compass heading toward that waypoint, and an indicator for the direction and degrees to turn to face that heading. Note that waypoints will log your current location, so for best results make the scan as close to the target species as possible.

Persistent Data​

As of version 2.0, BioScan now maintains a database of all relevant system data and scan progress. It segments scans and waypoints by commander, if you play with multiple commanders. You can safely stop and restart EDMC without losing your data.

The database file is located within EDMC's data storage directory, where the plugins are located. On Windows, this should be "%LOCALAPPDATA%\EDMarketConnector\bioscan.db".

Journal Importing​

To facilitate accurate codex entry data, you can import your past journals into the persistent database. Clicking the button in the bottom left of the settings panel will start the process. This can run in the background while you continue to use EDMC / BioScan, and the progress will display at the bottom of the BioScan pane.

Despite using a few threads to help speed up the process, parsing several years of journal data can take a good amount of time. As each journal is completed, it will get logged in the database. This process can be stopped and restarted. It will pick up at the oldest unprocessed journal, though you will need to click the button in the settings to resume.

EDSM Integration​

Once per system, you can attempt to fetch any data from EDSM. This is helpful in systems that can't be scanned for one reason or another. Unfortunately, EDSM's API does not currently provide access to biological signal info, so you will have to manually look up signals if that data was not previously logged.

Overlay (Version 2.7+)​

BioScan can now make use of EDMCOverlay to draw predictions, signal summaries, and status info directly onto the game window. The text color and anchor points are configurable. Suggestions welcome.

Requirements​

  • EDMC version 5.7 and above (python 3.11)
  • SQLAlchemy python module (embedded in the exe distribution)
  • (Optional) EDMCOverlay / edmcoverlay2

Installation​

  • Download the latest release of both BioScan and ExploData
    • Users of the prebuilt Windows EXE EDMC must use the Windows EXE version of ExploData
    • Native python users should use the native python version
    • There is only one version of BioScan moving forward
    • If you use Pioneer, make sure the version you're using is up-to-date with ExploData
  • Extract the .zip archives that you downloaded into the EDMC plugins folder
    • This is accessible via the plugins tab in the EDMC settings window
    • ExploData must be named as it is packaged, or you will run into trouble loading dependencies
  • For native python users:
    • Run pip install -r requirements.txt within the ExploData plugin directory to install SQLAlchemy
    • Ensure the correct pip is used for Python 3.11
  • (Optional) Install the EDMCOverlay plugin for overlay support (or edmcoverlay2 for Linux)
    • The plugin directory should be named EDMCOverlay to load properly, if this causes a compatibility issue with another EDMC plugin, please submit an issue.
  • Start or restart EDMC to register the plugin and run any necessary database migrations

Acknowledgements​

Conversion of system coordinates to regions thanks to klightspeed's EliteDangerousRegionMap.

Species calculations are based on various sources, primarily the Deep Space Network and the Codex NSP and Bio requirements spreadsheet, and the Canonn Biosheet.

Nebula locations pulled from the Catalog of Galactic Nebulae (thanks marx and contributors)

Procedurally generated nebula reference star coordinates pulled from EDSM's API

Roadmap​

  • Voice notification support
  • Translation support

Changelog​

See releases

License​

BioScan plugin Copyright © 2024 Jeremy Rimpo
Licensed under the GNU Public License (GPL) version 2 or later.
 
Last edited:
Are the installation instructions complete? I'm using the Windows EXE installation

"Download the latest release zip file for Windows" I find only one file for Windows: ExploData-1.0.8-db-4.windows.exe.zip.

"Extract the .zip archive that you downloaded into the EDMC plugins folder" There are several ways of doing that, and it seems different Zip tools use different names for them. One creates a folder named 'ExploData-1.0.8-db-4.windows.exe', another one the folder 'ExploData'. (Seems that the second alternative is the wanted one, as it has the 'load.py' in the directory.)

However, the instructions on the GitHub page (which seems to be newer) seems to suggest that the file EDMC-BioScan-2.6.4.zip also is required. And its first when I download that, and extract it in the same way (the resulting directory is just called EDMC-BioScan, and has a load.py file in it) that I manage to get the plugins (EDMC-BioScan (BioScan) and ExploData) enabled.

Next hurdle: The settings page has a setting 'Focus Body Signals' with the alternatives:

Never: Never filter signal details
On Approach: Show only local signals on approach
Near Surface: Show signals under given altitude (see below)
On Surface: Show only local signals when on surface

However, three say 'Show only ...', while one say 'Never filter', which seems odd in a section that talks about 'Focus'. Does it mean 'Show always'? The conjunction of 'Focus', then 'Never', then a mention of 'filter' makes my head spin.

Running this plugin seems to have odd effects on some other journal tools I use. I haven't figured out yet if it is stable -- will test more. Are there any known effects to watch out for?
 
Cool will try it when I find some time (Got a new SSD and upgraded to Win11; so a lot of re-installing needs to be done)
 
Are the installation instructions complete? I'm using the Windows EXE installation

"Download the latest release zip file for Windows" I find only one file for Windows: ExploData-1.0.8-db-4.windows.exe.zip.

"Extract the .zip archive that you downloaded into the EDMC plugins folder" There are several ways of doing that, and it seems different Zip tools use different names for them. One creates a folder named 'ExploData-1.0.8-db-4.windows.exe', another one the folder 'ExploData'. (Seems that the second alternative is the wanted one, as it has the 'load.py' in the directory.)

However, the instructions on the GitHub page (which seems to be newer) seems to suggest that the file EDMC-BioScan-2.6.4.zip also is required. And its first when I download that, and extract it in the same way (the resulting directory is just called EDMC-BioScan, and has a load.py file in it) that I manage to get the plugins (EDMC-BioScan (BioScan) and ExploData) enabled.

Next hurdle: The settings page has a setting 'Focus Body Signals' with the alternatives:



However, three say 'Show only ...', while one say 'Never filter', which seems odd in a section that talks about 'Focus'. Does it mean 'Show always'? The conjunction of 'Focus', then 'Never', then a mention of 'filter' makes my head spin.

Running this plugin seems to have odd effects on some other journal tools I use. I haven't figured out yet if it is stable -- will test more. Are there any known effects to watch out for?
Sorry I didn't see this sooner.

Yes, the intended extraction method is to extract the directory inside the zip. I think you figured that out.

As far as the 'body signals' goes, this is concerning the detailed view scrollbox. The 'focus' refers to only showing the bio signals of a specific body in the system. So if '1 a' has bio signals and you approach '1 a', it'll remove the rest of the signal info for other bodies in the system to give you a focused view of the data.

'Never' means it'll always show all signal info for every body in the system. 'On Approach' means it'll filter the data once the game considers you 'at' that body, based on your location information. 'Near Surface' uses a user-defined altitude above the planet. I find this useful as the 'on approach' can be a pretty big distance and I find I want to see the full system data more quickly than that when I'm leaving the planet. (50km is my current setting.) And 'On Surface' is only when actually landed / traversing the planet surface.

Hopefully that clears it up for you.

I'll see if I can update the description here, it's a bit out of date.

I'm not aware of there being any conflicts with other tools, I'm only processing the journal entries that EDMC passes to the plugin outside of the journal import process. And I haven't had any reports of instability outside of some issues with updating the database structure in earlier versions before I'd made that process more robust. A fresh install would not run into database migration issues.
 
Last edited:
Can you tell me where you list star type and bio colour - had a look in git hub and can see lists detailing atmosphere type, gravity etc but nothing for bio colour. Reason being is that I have set myself the task of logging all (785) varieties!
 
Can you tell me where you list star type and bio colour - had a look in git hub and can see lists detailing atmosphere type, gravity etc but nothing for bio colour. Reason being is that I have set myself the task of logging all (785) varieties!
Sorry for the wait. Some of the bio logic is stored in the ExploData plugin as it's used in the database management logic.
 
Last edited:
Regarding those bios whose colour is determined by star type, which star do you use in the case where the system contains 2 or more? Is it the main star or the star nearest the body where the bios grow?
 
Regarding those bios whose colour is determined by star type, which star do you use in the case where the system contains 2 or more? Is it the main star or the star nearest the body where the bios grow?
To be completely honest this is a bit complicated and I may not have it completely correct. From what I can tell, however, it seems to generally follow this pattern. (I'd have to double-check the logic.)

It has to be a primary system star (A, B, C, etc, if applicable.) If there are multiple main stars, it seems to prioritize the most direct parent star. So if the body is orbiting B C, for example, it'll use B if there's a valid color for that star type or possibly C. If those do not have a valid color, it will fall back to the A star. (I may have this backwards.)

I don't know if it's actually possible for a planet to get a variant color from a different star. (For example, I don't think a B C body can get its color from a D star - rather it would be B > C > A, but it may be possible.)

Again, I may still not have that perfectly correct and there is an element of randomness under certain conditions. But I believe that's the general pattern.

In fact, it could very well be whatever star contributes the greatest luminosity to the planet that takes priority. I haven't done the math to say for sure. But I'm pretty certain it has to be a primary star. Orbiting stars with moons do not seem to ever determine the color.
 
Last edited:
I do not get the plugin to show any info at all.
I installed EDMC and that works
I then downloaded BioScan and ExploData (Windows EXE version), unzipped and placed in EDMC plugins.

When placing the unzipped files in the plugin directory they are contained in their own directories (EDMC-BioScan and ExploData). Is this correct or should I instead have copied their contents into the plugin?

I restarted Elite and with the SRV scanned some Clypeus, but there where no information of distances or anything else to see.
I also scanned whith the hand scanner, nothing...

Do I have to enable it somewhere else?
 
I do not get the plugin to show any info at all.
I installed EDMC and that works
I then downloaded BioScan and ExploData (Windows EXE version), unzipped and placed in EDMC plugins.

When placing the unzipped files in the plugin directory they are contained in their own directories (EDMC-BioScan and ExploData). Is this correct or should I instead have copied their contents into the plugin?

I restarted Elite and with the SRV scanned some Clypeus, but there where no information of distances or anything else to see.
I also scanned whith the hand scanner, nothing...

Do I have to enable it somewhere else?

The top level plugin directory should contain the "load.py" file. Some archive utilities create an additional directory when you extract the files. You only need the directory inside the archive.

BioScan and ExploData should be installed separately.

ExploData does not have a display of its own however BioScan will warn if it's missing. BioScan will display in the EDMC panel. You can see what plugins are loading in the EDMC settings.

You didn't mention it so to reiterate you do need to restart EDMC after installing any plugins.
 
Last edited:
The top level plugin directory should contain the "load.py" file. Some archive utilities create an additional directory when you extract the files. You only need the directory inside the archive.

BioScan and ExploData should be installed separately.

ExploData does not have a display of its own however BioScan will warn if it's missing. BioScan will display in the EDMC panel. You can see what plugins are loading in the EDMC settings.

You didn't mention it so to reiterate you do need to restart EDMC after installing any plugins.
After several days the EDMC suddenly poped up a window that there where problems with the plugins. I think I fixed it now.

Thanks
 
In the file genus.py which addresses the colour of a bio I notice there is a distance field. Is this an indication of the minimum distance from the star the body is orbiting? Any further information gratefully received.
 
In the file genus.py which addresses the colour of a bio I notice there is a distance field. Is this an indication of the minimum distance from the star the body is orbiting? Any further information gratefully received.
This is where it stores the minimum sample distance as this is based entirely on the genus and not the species. So it's not used to predict the bio.
 
I've installed BioScan and ExploData, and I get the BioScan output on the EDMC main window. Unfortunately, when I use the BioScan settings page to "start/stop journal parsing" it ran for a few seconds (the first time) and then places the following error on the EDMC main window: "Error During Journal Parse. Please Submit a Report". I have 'enable debug logging' checked on the BioScan settings page, but not sure where that log is saved. BioScan reports version 2.7.2, Data version 4, and ExploData reports version 1.1.0, Data version 4.

Python reports version 3.12.2

Any suggestions on how to proceed?

Brian
 
I've installed BioScan and ExploData, and I get the BioScan output on the EDMC main window. Unfortunately, when I use the BioScan settings page to "start/stop journal parsing" it ran for a few seconds (the first time) and then places the following error on the EDMC main window: "Error During Journal Parse. Please Submit a Report". I have 'enable debug logging' checked on the BioScan settings page, but not sure where that log is saved. BioScan reports version 2.7.2, Data version 4, and ExploData reports version 1.1.0, Data version 4.

Python reports version 3.12.2

Any suggestions on how to proceed?

Brian
I don't always check this thread super often so GitHub is generally a better place to drop reports.

There should be something in the EDMC debug log. That's generally in the Local AppData Temp directory. So something like C:\Users\Username\AppData\Local\Temp\EDMarketConnector\edmarketconnector-debug.log
On Linux it's at
/tmp/EDMarketConnector

I'd also suggest just restarting it to see if you get the error again, but if this is repeatable I may need more info. There could be a peculiarity in your log files that isn't playing well with the parser. If you have some super early logs from before Horizons it may not be handling those early logs properly, I didn't play prior to Horizons so my logs only go back so far.

You probably don't need debug logging unless you want to see the nitty gritty details about what checks are happening for the bio predictions. It creates a lot of output and hard errors like this should be logged regardless. It would probably also be ExploData producing the error rather than BioScan.
 
Last edited:
Here is the line in the journal file that is causing the problem:

{ "timestamp":"2024-02-14T23:34:48Z", "event":"FSSDiscoveryScan", "Progress":-nan(ind), "BodyCount":0, "NonBodyCount":0, "SystemName":"HIP 8758", "SystemAddress":147933055331 }

It looks like the 'progress' being -nan(ind) is the problem. I changed this line in the journal to set 'progress' to 1.000000 (as I saw in several other FSSDiscoveryScan entries) and now the journal processing completes with no errors.

I have no memory of what I might have done to cause this entry to be created.

The journal file name is Journal.2024-02-14T170812.01.log
The journal file itself has a date of 02/28/2024 16:32, because I just edited it...
 
Last edited:
Back
Top Bottom