品質の異なる2つのボリューム(.nrrd)があります。ユーザーはレイヤーを閲覧できます。キーが押された場合、ボリュームのスライスをより良い品質でロードしたいと思います。
私のボリュームはこれに似ています:レッスン10 xtk
私が見つけた:
volume.children [2] .children [0] .children [0] .texture.file = " http://path/to/file.ext ";
しかし、ある種のファイル(.jpg、.dcm)を適用しても、何も起こりません。
これは、スライスを変更して子の内部に入り、テクスチャを変更するための正しいアプローチですか?
または、選択したスライスをオブジェクトとして個別にロードし、それを「低品質ボリューム」に何らかの方法で適用する必要がありますか?
編集: これは私がこれまでに試したことです(私はdcmsではエラーが発生しますがjpgではエラーが発生しません):
if (event.keyCode == 83) { // "s"-button
volume.children[2].children[0].children[0].texture.file = "http://localhost:3000/112.jpg";
volume.children[2].children[0].children[0].modified();
r.render();
}
edit2:これは私のr.onShowtime = function(){}の内容です
volume.children[2].children[0].texture.file = 'http://localhost:3000/112.jpg';
volume.children[2].children[0].visible = true; // to activate the first layer
volume.children[2].children[0].modified();
console.log(volume.children[2].children[0].visible +" "+ volume.children[2].children[0].texture.file);
「truehostname/112.jpg」を出力します
Firebugの.jpgを調べると、ヘッダーは問題ありませんが、答えは「null」です。
console.log(volume.children [2] .children [0]);を検査するとき ファイアバグで
.texture.fileはhostname/112.jpgに設定されます
「ネットワーク」に移動すると、.jpgが正常に転送されました
112.jpgとlevel.jpgは同じであることに注意してください。最初の1つはr.onShowtimeにロードされ、もう1つはキーが押されたイベントでロードされます。
編集3: volume.children [2] .children [0]は「X.slice」タイプですよね?
これが私のアプローチです:jsFiddle
これは私の実際の問題であり、まだ機能していません:jsFiddle