Skip to main content

Python implementation of the Pulse Coupled Neural Network (PCNN)

Project description

PCNN

Python implementation of the Pulse Coupled Neural Network (PCNN) alongside multiple variations:

  • Classical PCNN
  • Feature Linking Model (FLM)
  • Intersecting Cortical Model (ICM)
  • Multi Linking Model (MLM)
  • Spiking Cortical Model (SCM)
  • Sigmoidal Linking Model (SLM)

Install:

pip install pulse_coupled_nn

Usage example:

import numpy as np
import matplotlib.pyplot as plt

from pulse_coupled_nn import FLM
from pulse_coupled_nn import ICM
from pulse_coupled_nn import ClassicalPCNN
from pulse_coupled_nn import SCM
from pulse_coupled_nn import SLM


def run_image_segm(gamma=1, beta=2, v_theta=400, kernel_size=3, kernel='gaussian'):

    image = np.array(
        [[230, 230, 230, 230, 115, 115, 115, 115],
        [230, 230, 230, 230, 115, 115, 115, 115],
        [230, 230, 205, 205, 103, 103, 115, 115],
        [230, 230, 205, 205, 103, 103, 115, 115],
        [230, 230, 205, 205, 103, 103, 115, 115],
        [230, 230, 230, 230, 115, 115, 115, 115],
        [230, 230, 230, 230, 115, 115, 115, 115]]
    )

    model = ClassicalPCNN(image.shape, kernel, kernel_size=kernel_size)
    segm_image = model.segment_image(image, gamma=gamma, beta=beta, v_theta=v_theta, kernel_type='gaussian')

    plt.imshow(image)
    plt.colorbar()
    plt.show()

    plt.imshow(segm_image)
    plt.colorbar()
    plt.show()


run_image_segm()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulse_coupled_nn-0.0.6.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pulse_coupled_nn-0.0.6-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file pulse_coupled_nn-0.0.6.tar.gz.

File metadata

  • Download URL: pulse_coupled_nn-0.0.6.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for pulse_coupled_nn-0.0.6.tar.gz
Algorithm Hash digest
SHA256 5c9558144efc17ecfeb2b9dfc1eb74e2ffc3415579e7fc696af53d73b1d9a749
MD5 1b635b8a86560c6c192e20d2bef0443d
BLAKE2b-256 4330b8f50bd777d3846d133d3e6b1dddfa0593488ca4389539564ee265736fae

See more details on using hashes here.

File details

Details for the file pulse_coupled_nn-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for pulse_coupled_nn-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 397bb0d458b5a56c385fe4ff8430dbf5723541f5db6d4a1121b7a052ac063d99
MD5 823ddaa8f0c86995b89c87ea44b1a344
BLAKE2b-256 215a26a1c0f9a0883e07ba463504b9d9adab03c5ef8822670ef92a532bbe5dac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page