===============================================================================
= JSONLab =
= An open-source MATLAB/Octave JSON encoder and decoder =
===============================================================================
*Copyright (C) 2011-2017 Qianqian Fang <q.fang at neu.edu>
*License: BSD License, see License*.txt
*Version: 1.5 (Nominus - alpha)
-------------------------------------------------------------------------------
Table of Content:
I. Introduction
II. Installation
III.Using JSONLab
IV. Known Issues and TODOs
V. Contribution and feedback
-------------------------------------------------------------------------------
I. Introduction
JSON ([http://www.json.org/ JavaScript Object Notation]) is a highly portable,
human-readable and "[http://en.wikipedia.org/wiki/JSON fat-free]" text format
to represent complex and hierarchical data. It is as powerful as
[http://en.wikipedia.org/wiki/XML XML], but less verbose. JSON format is widely
used for data-exchange in applications, and is essential for the wild success
of [http://en.wikipedia.org/wiki/Ajax_(programming) Ajax] and
[http://en.wikipedia.org/wiki/Web_2.0 Web2.0].
UBJSON (Universal Binary JSON) is a binary JSON format, specifically
optimized for compact file size and better performance while keeping
the semantics as simple as the text-based JSON format. Using the UBJSON
format allows to wrap complex binary data in a flexible and extensible
structure, making it possible to process complex and large dataset
without accuracy loss due to text conversions.
We envision that both JSON and its binary version will serve as part of
the mainstream data-exchange formats for scientific research in the future.
It will provide the flexibility and generality achieved by other popular
general-purpose file specifications, such as
[http://www.hdfgroup.org/HDF5/whatishdf5.html HDF5], with significantly
reduced complexity and enhanced performance.
JSONLab is a free and open-source implementation of a JSON/UBJSON encoder
and a decoder in the native MATLAB language. It can be used to convert a MATLAB
data structure (array, struct, cell, struct array and cell array) into
JSON/UBJSON formatted strings, or to decode a JSON/UBJSON file into MATLAB
data structure. JSONLab supports both MATLAB and
[http://www.gnu.org/software/octave/ GNU Octave] (a free MATLAB clone).
-------------------------------------------------------------------------------
II. Installation
The installation of JSONLab is no different than any other simple
MATLAB toolbox. You only need to download/unzip the JSONLab package
to a folder, and add the folder's path to MATLAB/Octave's path list
by using the following command:
addpath('/path/to/jsonlab');
If you want to add this path permanently, you need to type "pathtool",
browse to the jsonlab root folder and add to the list, then click "Save".
Then, run "rehash" in MATLAB, and type "which loadjson", if you see an
output, that means JSONLab is installed for MATLAB/Octave.
-------------------------------------------------------------------------------
III.Using JSONLab
JSONLab provides two functions, loadjson.m -- a MATLAB->JSON decoder,
and savejson.m -- a MATLAB->JSON encoder, for the text-based JSON, and
two equivallent functions -- loadubjson and saveubjson for the binary
JSON. The detailed help info for the four functions can be found below:
=== loadjson.m ===
<pre>
data=loadjson(fname,opt)
or
data=loadjson(fname,'param1',value1,'param2',value2,...)
parse a JSON (JavaScript Object Notation) file or string
authors:Qianqian Fang (q.fang <at> neu.edu)
created on 2011/09/09, including previous works from
Nedialko Krouchev: http://www.mathworks.com/matlabcentral/fileexchange/25713
created on 2009/11/02
Fran�ois Glineur: http://www.mathworks.com/matlabcentral/fileexchange/23393
created on 2009/03/22
Joel Feenstra:
http://www.mathworks.com/matlabcentral/fileexchange/20565
created on 2008/07/03
$Id$
input:
fname: input file name, if fname contains "{}" or "[]", fname
will be interpreted as a JSON string
opt: a struct to store parsing options, opt can be replaced by
a list of ('param',value) pairs - the param string is equivallent
to a field in opt. opt can have the following
fields (first in [.|.] is the default)
opt.SimplifyCell [0|1]: if set to 1, loadjson will call cell2mat
for each element of the JSON data, and group
arrays based on the cell2mat rules.
opt.FastArrayParser [1|0 or integer]: if set to 1, use a
speed-optimized array parser when loading an
array object. The fast array parser may
collapse block arrays into a single large
array similar to rules defined in cell2mat; 0 to
use a legacy parser; if set to a larger-than-1
value, this option will specify the minimum
dimension to enable the fast array parser. For
example, if the input is a 3D array, setting
FastArrayParser to 1 will return a 3D array;
setting to 2 will return a cell array of 2D
arrays; setting to 3 will return to a 2D cell
array of 1D vectors; setting to 4 will return a
3D cell array.
opt.ShowProgress [0|1]: if set to 1, loadjson displays a progress bar.
output:
dat: a cell array, where {...} blocks are converted into cell arrays,
and [...] are converted to arrays
examples:
dat=loadjson('{"obj":{"string":"value","array":[1,2,3]}}')
dat=loadjson(['examples' filesep 'example1.json'])
dat=loadjson(['examples' filesep 'example1.json'],'SimplifyCell',1)
license:
BSD or GPL version 3, see LICENSE_{BSD,GPLv3}.txt files for details
</pre>
=== savejson.m ===
<pre>
json=savejson(rootname,obj,filename)
or
json=savejson(rootname,obj,opt)
json=savejson(rootname,obj,'param1',value1,'param2',value2,...)
convert a MATLAB object (cell, struct or array) into a JSON (JavaScript
Object Notation) string
author: Qianqian Fang (q.fang <at> neu.edu)
created on 2011/09/09
$Id$
input:
rootname: the name of the root-object, when set to '', the root name
is ignored, however, when opt.ForceRootName is set to 1 (see below),
the MATLAB variable name will be used as the root name.
obj: a MATLAB object (array, cell, cell array, struct, struct array,
class instance).
filename: a string for the file name to save the output JSON data.
opt: a struct for additional options, ignore to use default values.
opt can have the following fields (first in [.|.] is the default)
opt.FileName [''|string]: a file name to save the output JSON data
opt.FloatFormat ['%.10g'|string]: format to show each numeric element
of a 1D/2D array;
opt.ArrayIndent [1|0]: if 1, output explicit data array with
precedent indentation; if 0, no indentation
opt.ArrayToStruct[0|1]: when set to 0, savejson outputs 1D/2D
array in JSON array format; if sets to 1, an
array will be shown as a struct with fields
"_ArrayType_", "_ArraySize_" and "_ArrayData_"; for
sparse arrays, the non-zero elements will be
saved to _ArrayData_ field in triplet-format i.e.
(ix,iy,val) and
没有合适的资源?快使用搜索试试~ 我知道了~
Lung medical image analysis and visualisation software for Matla
共1474个文件
m:937个
hpp:226个
h:132个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 77 浏览量
2023-07-21
20:55:10
上传
评论
收藏 9.72MB ZIP 举报
温馨提示
Lung medical image analysis and visualisation software for Matlab.zip
资源推荐
资源详情
资源评论
收起资源包目录
Lung medical image analysis and visualisation software for Matla (1474个子文件)
build-win.bat 613B
COPYING 18KB
PTKSmoothedRegionGrowingFromBorderedImage.cpp 21KB
UCButils.cpp 15KB
UCBsplines.cpp 14KB
MBA.cpp 14KB
PointAccessUtils.cpp 12KB
UCBsplineSurface.cpp 11KB
PTKWatershedMeyerFromStartingPoints.cpp 11KB
PTKFastEigenvalues.cpp 10KB
PTKFastIsSimplePoint.cpp 9KB
PTKWatershedFromStartingPoints.cpp 8KB
mba_surface_interpolation.cpp 6KB
MBAdata.cpp 4KB
filterRestrict2D.cpp 4KB
raw_read_header.fig 7KB
ReadData3D.fig 4KB
ErrorData3D.fig 2KB
InfoData3D.fig 1KB
.gitignore 51B
.gitignore 44B
UCBsplines.h 16KB
UnifBsplines.h 13KB
MBA.h 9KB
UCBsplineSurface.h 7KB
endian.h 7KB
GenMatrix.h 6KB
foo.h 6KB
open.h 6KB
doxymain.h 5KB
MBAdata.h 5KB
make.h 4KB
UCButils.h 4KB
PointAccessUtils.h 4KB
stdcpp.h 3KB
bsd.h 3KB
32.h 3KB
visualc.h 3KB
filterRestrict2D.h 3KB
m68k.h 3KB
metrowerks.h 3KB
net.h 2KB
MBAtypedef.h 2KB
UCBtypedef.h 2KB
mingw.h 2KB
mips.h 2KB
ibm.h 2KB
ppc.h 2KB
MBAclock.h 2KB
MyClock.h 2KB
arm.h 2KB
sunpro.h 2KB
gcc.h 2KB
sgi_mipspro.h 2KB
greenhills.h 2KB
compaq.h 2KB
checkWIN32andSGI.h 2KB
parisc.h 2KB
intel.h 2KB
unix.h 2KB
convex.h 2KB
borland.h 2KB
macos.h 2KB
superh.h 2KB
stlport.h 2KB
mpw.h 2KB
aix.h 2KB
pgi.h 2KB
comeau.h 2KB
alpha.h 2KB
hp_acc.h 2KB
version_number.h 2KB
ekopath.h 1KB
clang.h 1KB
free.h 1KB
qnxnto.h 1KB
gnu.h 1KB
diab.h 1KB
watcom.h 1KB
compiler.h 1KB
dignus.h 1KB
edg.h 1KB
llvm.h 1KB
roguewave.h 1KB
digitalmars.h 1KB
dinkumware.h 1KB
palm.h 1KB
tendra.h 1KB
iar.h 1KB
zos.h 1KB
rs6k.h 1KB
kai.h 1KB
gcc_xml.h 1KB
sparc.h 1KB
metaware.h 1KB
windows.h 1KB
stdcpp3.h 1KB
microtec.h 1KB
stdc.h 1KB
ios.h 1KB
共 1474 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论
AbelZ_01
- 粉丝: 894
- 资源: 5441
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功