Source code for nest.lib.hl_api_nodes

# -*- coding: utf-8 -*-
#
# hl_api_nodes.py
#
# This file is part of NEST.
#
# Copyright (C) 2004 The NEST Initiative
#
# NEST is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# NEST is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with NEST.  If not, see <http://www.gnu.org/licenses/>.

"""
Functions for node handling
"""

from .hl_api_helper import *
from .hl_api_info import SetStatus


[docs]@check_stack def Create(model, n=1, params=None): """Create n instances of type model. Parameters ---------- model : str Name of the model to create n : int, optional Number of instances to create params : TYPE, optional Parameters for the new nodes. A single dictionary or a list of dictionaries with size n. If omitted, the model's defaults are used. Returns ------- list: Global IDs of created nodes """ model_deprecation_warning(model) if isinstance(params, dict): cmd = "/%s 3 1 roll exch Create" % model sps(params) else: cmd = "/%s exch Create" % model sps(n) sr(cmd) last_gid = spp() gids = tuple(range(last_gid - n + 1, last_gid + 1)) if params is not None and not isinstance(params, dict): try: SetStatus(gids, params) except: warnings.warn( "SetStatus() call failed, but nodes have already been " + "created! The GIDs of the new nodes are: {0}.".format(gids)) raise return gids
[docs]@check_stack @deprecated('', 'GetLID is deprecated and will be removed in NEST 3.0. Use \ index into GIDCollection instead.') def GetLID(gid): """Return the local id of a node with the global ID gid. Parameters ---------- gid : int Global id of node Returns ------- int: Local id of node Raises ------ NESTError """ if len(gid) > 1: raise NESTError("GetLID() expects exactly one GID.") sps(gid[0]) sr("GetLID") return spp()