Re: dicom series image orientation problem! request David for help!
Where does info->patient_orientation come from? Is it the cross product of patient_row_orientation and patient_col_orientation?
The line "imgdata->DeepCopy(reslice->GetOutput());" looks like a mistake, is it meant to be "imgdata->DeepCopy(imgchangeinfo->GetOutput());"? And where does the "imgdata" object come from? Note that it is only safe to DeepCopy into a data object that you create yourself, it isn't safe to DeepCopy into an object that is the output of a VTK algorithm.
Also, the output of vtkTransformFilter is a vtkStructuredGrid, not a vtkImageData, so it seems like an unusual filter to use in a VTK image display pipeline.
For the problem with multi-frame files, my guess is that you depend on proper sorting of the DICOM files in order to properly reconstruct the volume, and file sorting doesn't work if there is only one file. Instead, it is necessary to sort the frames, but how to do this depends on what kind of multi-frame file you have (e.g. NM vs enhanced MR/CT/US).
If you're curious, you can see my own DICOM file/frame sorting code here: