1 /*****************************************************************************
2    Major portions of this software are copyrighted by the Medical College
3    of Wisconsin, 1994-2000, and are released under the Gnu General Public
4    License, Version 2.  See the file README.Copyright for details.
5 ******************************************************************************/
6 
7 #include "mrilib.h"
8 
9 /* not 7D safe */
10 
11 /*---------------------------------------------------------------------------------------
12   Extract images of size (nx,ny) from  larger image im
13 -----------------------------------------------------------------------------------------*/
14 
mri_uncat2D(int nx,int ny,MRI_IMAGE * im)15 MRI_IMARR * mri_uncat2D( int nx , int ny , MRI_IMAGE * im )
16 {
17    MRI_IMARR * imar ;
18    MRI_IMAGE * qim ;
19    int nxim , nyim , ii,jj,kk , kind ;
20 
21 ENTRY("mri_uncat2D") ;
22 
23    if( nx < 1 || ny < 1 || im == NULL ) RETURN(NULL) ;
24 
25    kind = im->kind ;
26 
27    nxim = im->nx / nx ;
28    nyim = im->ny / ny ;
29    if( nxim < 1 || nyim < 1 ) RETURN(NULL) ;
30 
31    INIT_IMARR(imar) ;
32 
33    for( jj=0 ; jj < nyim ; jj++ ){
34       for( ii=0 ; ii < nxim ; ii++ ){
35          qim = mri_cut_2D( im , ii*nx , (ii+1)*nx-1 , jj*ny , (jj+1)*ny-1 ) ;
36          if( qim != NULL ) ADDTO_IMARR(imar,qim) ;
37          else              fprintf(stderr,"mri_uncat2D: NULL image error!\n") ;
38       }
39    }
40 
41    RETURN(imar) ;
42 }
43