问题1:
方式A:在V3d中,一个NeuronTree变量直接通过v3d_external\v3d_main\basic_c_fun中的basic_surf_objs.cpp文件内的函数writeSWC_file,保存成文件A。
方式B:callback.setSWC(curwin,nt);再通过3D窗口右键选择swc文件并选择 save the selectedstructure to file再保存成文件B。
这两种方式得到的swc文件的形状一致、但是并不完全相同。其中方式B内parent==-1的点变多了。
很奇怪这是为什么,但是可以确认的是这种变化发生在callback.setSWC这个函数内部。
猜测可能是setSWC这个函数修改了NeuronTree
问题2:
Swc中点的坐标比marker文件中点的坐标小1.
这意味着swc中,选出一个点的坐标,作为marker后,x、y、z各加一,才与swc中原位置处于同一位置。