BeamSequence 属性内の各 ControlPointSequence 属性内のすべての GantryAngle 値にアクセスする必要があります。
これは、ネスティングの簡単な視覚化です
Beam Sequence
...
Control Point Sequence
Gantry Angle
...
...
Control Point Sequence
Gantry Angle
...
...
Control Point Sequence
Gantry Angle
...
pixelmedライブラリを使用して各ガントリー角度にアクセスするにはどうすればよいですか?
編集:
cnellarの助けのおかげで、これが最終的に機能したものです
private ArrayList<Double> getAngles( SequenceAttribute beamSequence ) {
ArrayList<Double> n = new ArrayList<Double>();
Iterator is = beamSequence.iterator();
while (is.hasNext()) {
SequenceItem item = (SequenceItem)is.next();
if (item != null) {
AttributeList itemList = item.getAttributeList();
if (itemList != null) {
SequenceAttribute ctrlPoint = (SequenceAttribute)itemList.get( TagFromName.ControlPointSequence );
//System.out.print(ctrlPoint);
Iterator is1 = ctrlPoint.iterator();
while (is1.hasNext()) {
SequenceItem item1 = (SequenceItem)is1.next();
if (item1 != null) {
AttributeList itemList1 = item1.getAttributeList();
if (itemList1 != null) {
Attribute gantry_angle = itemList1.get( TagFromName.GantryAngle );
if(gantry_angle!=null)
n.add(gantry_angle.getSingleDoubleValueOrDefault(0));
}
}
}
}
}
}
return n;
}