{
    "Help": {
      "[en]": {
        "Domain::VolumeFile": "file full path to the volume file, file mst be in the uchar binary format",
        "Domain::Dim": "dimension of the data array stored in the volume file",
        "Domain::OriginType": "similar to --srcfrom0, 1 if the origin is [0 0 0], 0 if it is [1.0,1.0,1.0]",
        "Domain::Step": "do not change this, should be always be 1",
        "Domain::CacheBoxP0": "for cachebox mcx with -R negative_num, this specifies a 3D index for 
                               a corner of the cache region, in grid unit",
        "Domain::CacheBoxP1": "the other corner, the starting value of the indices is 1",
        "Domain::Media": "the first medium is always assigned to voxels with a value of 0 or outside of
                         the volume, the second row is for medium type 1, and so on. mua and mus must 
                         be in 1/mm unit",
        "Session::Photons": "if -n is not specified in the command line, this defines the total photon number",
        "Session::ID": "if -s is not specified in the command line, this defines the output file name stub",
        "Forward::T0": "the start time of the simulation, in seconds",
        "Forward::T1": "the end time of the simulation, in seconds",
        "Forward::Dt": "the width of each time window, in seconds",
        "Optode::Source::Pos": "the grid position of the source, can be non-integers, in grid unit",
        "Optode::Detector::Pos": "the grid position of a detector, can be non-integers, in grid unit"
      }
    },
    "MCX_Shape_Command_Help":{
       "Shapes::Common Rules": "Shapes is an array object. The Tag field sets the voxel value for each 
           region; if Tag is missing, use 0. Tag must be smaller than the maximum media number in the 
	   input file.Most parameters are in floating-point (FP). If a parameter is a coordinate, it 
	   assumes the origin is defined at the lowest corner of the first voxel, unless user overwrite
	   with an Origin object. The default origin of all shapes is initialized by user's --srcfrom0 
	   setting: if srcfrom0=1, the lowest corner of the 1st voxel is [0,0,0]; otherwise, it is [1,1,1]",
       "Shapes::Name": "Just for documentation purposes, not parsed in MCX",
       "Shapes::Origin": "A floating-point (FP) triplet, set coordinate origin for the subsequent objects",
       "Shapes::Grid": "Recreate the background grid with the given dimension (Size) and fill-value (Tag)",
       "Shapes::Sphere": "A 3D sphere, centered at C0 with radius R, both have FP values",
       "Shapes::Box": "A 3D box, with lower corner O and edge length Size, both have FP values",
       "Shapes::SubGrid": "A sub-section of the grid, integer O- and Size-triplet, inclusive of both ends",
       "Shapes::XLayers/YLayers/ZLayers": "Layered structures, defined by an array of integer triples: 
            [start,end,tag]. Ends are inclusive in MATLAB array indices. XLayers are perpendicular to x-axis, and so on",
       "Shapes::XSlabs/YSlabs/ZSlabs": "Slab structures, consisted of a list of FP pairs [start,end]
            both ends are inclusive in MATLAB array indices, all XSlabs are perpendicular to x-axis, and so on",
       "Shapes::Cylinder": "A finite cylinder, defined by the two ends, C0 and C1, along the axis and a radius R",
       "Shapes::UpperSpace": "A semi-space defined by inequality A*x+B*y+C*z>D, Coef is required, but not Equ"
    },
    "Domain": {
        "Dim":    [60,60,60],
        "OriginType": 1,
        "Step":   [1.0,1.0,1.0],
        "CacheBoxP0": [24,24,1],
        "CacheBoxP1": [34,34,10],
        "Media": [
             {"mua": 0.00, "mus": 0.0, "g": 1.00, "n": 1.0},
             {"mua": 0.005,"mus": 1.0, "g": 0.01, "n": 1.0},
             {"mua": 0.01, "mus": 2.0, "g": 0.01, "n": 1.0},
             {"mua": 0.01, "mus": 10.0,"g": 0.89, "n": 1.0},
             {"mua": 0.005,"mus": 2.0, "g": 0.01, "n": 1.0}
        ]
    },
    "Shapes": [
       {"Name":     "Test"},
       {"Origin":   [0,0,0]},
       {"Grid":     {"Tag":1, "Size":[40,60,50]}},
       {"Sphere":   {"Tag":2, "O":[30,30,30],"R":20}},
       {"Box":      {"Tag":0, "O":[10,10,10],"Size":[10,10,10]}},
       {"Subgrid":  {"Tag":1, "O":[13,13,13],"Size":[5,5,5]}},
       {"UpperSpace":{"Tag":3,"Coef":[1,-1,0,0],"Equ":"A*x+B*y+C*z>D"}},
       {"XSlabs":   {"Tag":4, "Bound":[[5,15],[35,40]]}},
       {"Cylinder": {"Tag":2, "C0": [0.0,0.0,0.0], "C1": [15.0,8.0,10.0], "R": 4.0}}
    ],
    "Session": {
	"Photons":  1000000,
	"RNGSeed":  29012392,
	"ID":       "jsonshape_one"
    },
    "Forward": {
	"T0": 0.0e+00,
	"T1": 5.0e-09,
	"Dt": 5.0e-09
    },
    "Optode": {
	"Source": {
	    "Pos": [29.0, 29.0, 0.0],
	    "Dir": [0.0, 0.0, 1.0]
	},
	"Detector": [
	    {
		"Pos": [29.0,  19.0,  0.0],
		"R": 1.0
	    },
            {
                "Pos": [29.0,  39.0,  0.0],
                "R": 1.0
            },
            {
                "Pos": [19.0,  29.0,  0.0],
                "R": 1.0
            },
            {
                "Pos": [39.0,  29.0,  0.0],
                "R": 1.0
            }
	]
    }
}
