Installation
- Install Oasis Montaj, which includes the Anaconda3 Python distribution.
Install the dependent "pyqt5" package as Administrator
- In Start Menu > Anaconda3 (64-bit)
- RMB on "Python Prompt" and select "More" > "Open file location" to show these shortcuts in Windows Explorer
In Explorer, RMB on "Python Prompt" and select "Run as Administrator" to open the Python command prompt
Run the following command
pip install pyqt5
Download self_organizing_maps_9_4.zip, extract the content to your Geosoft user\\Python folder (
%USERPROFILE%\Documents\Desktop Applications 9\python
)Open your Oasis montaj project, create a Geosoft database with multivariate data, display the data channels to be analysed, and only those channels.
Run the som_om.py file (Run a GX, change the type to *.py, navigate to C:\Program Files\Geosoft\Desktop Applications 9\user\python and select som_om.py):
Optionally add an entry to your custom menu, so that you don't have to browse to the user\python folder:
ITEM "SOM Analysis" , som_om.py
If installed correctly you will see the SOM dialog:
Usage Notes
This GX analyses multivariate data by grouping data into statistically meaningful groupings using SOM neural-network analysis. The technique is described here:
http://en.wikipedia.org/wiki/Self-organizing_map
In this implementation up to 16 separate data channels can be analysed. The first three channels are used to colour-code the resulting SOM neural network report. The report provides a simple visual impression of the classifications.
The size of the neural network is the square-root of the number of classifications, which can be any of 4,6,16,25,36,49,etc… Two new channels are added (or replaced) in the database:
Class – the classifications, 0 to number of classifications - 1
EuD - Euclidian distance of the point from the assigned neuron class, which is the closest based on Euclidian distance.
If an anomalous percent above 0 is specified, the percent of data that is furthest from the network (by Euclidian distance) is re-classified a second time on its own into a second SOM network of the same dimension such that there will be twice as many classes. For example, choosing 16 classifications and 5% anomalous data will result in 32 classes (16+16) where classes 0 to 15 capture the 95% of data that most closely fits the original network, and classes 16 to 31 are the most extreme 5% reclassified in their own network.
To work with gridded or voxel data:
Export a grid or voxel to a new database.
Sample other grids/voxels into new channels of the database.
Run the SOM analysis.
Save the "Class" channel as a grid or voxel.
Imagination encouraged!
For example, you can classify MVI results based on the x,y,z vector directions and the amplitude, which effectively double-weights the amplitude in the analysis. Because the directions can range + or -, the amplitude is scalar, and all dimensions are likely reasonably and meaningfully scaled relative to each other then no normalization is necessary. The process would be:
Create a database from the amplitude voxel.
Sample the x, Y and Z directions into mx,my,mz channels.
Run a SOM, dimension 9 (or 16), anomalous percent 5.
Convert Class channel to voxel and view.
Clip the data to above 9 (or 16), and this is the SOM of the anomalous locations.