julianeuroscience / neurocore.jl Goto Github PK
View Code? Open in Web Editor NEWCore methods and structures for neuroscience research in Julia.
License: MIT License
Core methods and structures for neuroscience research in Julia.
License: MIT License
Right now there's just CoordinateSystem
. The following functions and types still need to be created.
I'll flesh some of my ideas for this out more in soon, but I'm leaning towards using GeometryBasic PointMeta
for coordinate points. It would give us a simple high performance type that could incorporate metadata and be native plotting capabilities with Makie.jl. 3 really just needs a logical method name because conversion between coordinate systems is pretty well documented in the literature (and fairly simple). Incorporating the coordinate system in axes is a lot more complicated and may involve more work outside of this package first.
@JuliaRegistrator register
ColorChannels
refers to RGB-type channels, while electrophysiology.jl refers to electrode channels (though only in comments).
It seems like electrophysiology.jl should only refer to electrodes for the sake of clarity.
There are several packages that I think belong in JuliaNeuroscience. Some of these are just ideas and others I've been waiting for NeuroCore.jl to get in place first. All names should be considered suggestions at this point (not final).
Is this under active development and what needs to be done here? (I expect a lot :)
In the absence of a formal write up (which I will upload shortly before JuliaCon) the strategy for development throughout this org is this: Write the code we need to do neuroscience research and do it well. Any code that ends up being useful to a wider community (e.g., plotting, stats, etc.) may eventually become part of a different ecosystem (e.g., JuliaPlots, JuliaStats, etc.).
From a pure user perspective this means that if code move from this org to another it won't be noticeable. From a developer perspective it means that code developed here might end up somewhere else eventually if it means it will be maintained by a more appropriately focused team of developers. Therefore, we use the commonly used MIT license to make this sort of thing easy and we play nice with our peers.
For example, at the time of writing this I have a substantial PR providing data type (time, space, observation, etc.) methods. Instead of waiting for the entire Julia community to agree upon a standard for referring to time data we can move the code to a broader community once it appears stable and useful. This means some packages may end up simply end up being short scripts that bind a variety of packages together in a useful way (see Makie.jl for an example) or just formal documentation on how to perform analyses with a few convenience functions for learning (see StatisticalRethinking.jl).
The end result should look the same to users, a Julian approach to neuroinformatics.
These are things that need to be taken care of before a wider public release of the package can happen.
I plan on getting the following supported (mostly because I regularly use these):
Here are some other formats that may be worth supporting but would require someone else to take the lead.
We need an AbstractArray
subtype with the following features:
This is largely accomplished by AxisIndices.jl. I've been heavily testing it and hope to have it at a point where we can simply perform things like PCA and ICA on types present through this.
I'm leaning towards using GeometryTypes.jl, which will provide support for plotting with very little effort.
Connectomes and potentially data access patterns.
The backend for this will likely be all or mostly Makie.jl.
Note that work for this specific objective will start rolling out after March 16th (after VizCon 2). This will ensure that developments in this area are in harmony greater harmony with future directions of Julia's various plotting ecosystems.
Use the new "Extended Documentation" feature for properties.
I have an EEG recording with 20 channels. At the moment, I have no information about the arrangement of these electrodes in physical space. Should the 1:20 dimension of electrodes still fall under SpatialAPI?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.