function [ns_RESULT, nsNeuralInfo] = ns_GetNeuralInfo(hFile, EntityID);
%ns_GetNeuralInfo Retrieves information for neural event entities
%
% Usage:
% [ns_RESULT, nsNeuralInfo] = ns_GetNeuralInfo(hFile, EntityID)
%
% Description:
% Retrieves information on Neural Event entity EntityID from the
% file referenced by hFile. The information is returned in the
% nsNeuralInfo.
%
% Parameters:
% hFile Handle/Indentification number to an open file.
% EntityID Identification number of the entity in the data file.
%
% Return Values:
% nsNeuralInfo ns_NEURALINFO structure to receive the Neural
% Event information.
% ns_RESULT This function returns ns_OK if the file is successfully
% opened. Otherwise one of the following error codes is
% generated:
%
% ns_BADFILE Invalid file handle passed to
% function
% ns_BADENTITY Invalid or inappropriate entity
% identifier specified
% ns_FILEERROR File access or read error
%
% Copyright (C) 2003 Neuroshare Project
% Author: Almut Branner
% Last modification: 10/24/2003
[ns_RESULT, nsNeuralInfo] = mexprog(12, hFile, EntityID - 1);
SourceEntityID = [nsNeuralInfo.SourceEntityID] + 1;
SourceUnitID = [nsNeuralInfo.SourceUnitID];
ind = find(SourceUnitID == 1);
SourceUnitID(ind) = 255;
ind = find((SourceUnitID > 1) & (SourceUnitID < 255));
SourceUnitID(ind) = log2(SourceUnitID(ind));
for i = 1:length(nsNeuralInfo)
nsNeuralInfo(i).SourceEntityID = SourceEntityID(i);
nsNeuralInfo(i).SourceUnitID = SourceUnitID(i);
end