//macro "StackExploder [x]"{ getDimensions(w,h,chs,sls,frms); getVoxelSize(pw,ph,pd, unit); dims=newArray("slice","frame"); x=0; if(sls==1) x=1; Dialog.create("SE"); Dialog.addNumber("Explode factor? (neg means shrink)",4); Dialog.addChoice("Which dimension?",dims,dims[x]); Dialog.show(); expl=Dialog.getNumber(); dim=Dialog.getChoice(); end=sls; dofrms=false; nextend=frms; if(dim=="frame") {end=frms; nextend=sls; dofrms=true;} if(expl>0){ for(i=(end-1);i>=0;i--){ for(j=1;jnSlices)||(nSlices%-expl>0)) exit("Not right: must be exact multiple"); while((getSliceNumber()-expl-1)]"); for(i=0;i>expl;i--) {run("Delete Slice");run("Next Slice [>]"); } } } else { exit("shrinking hyperstack not coded yet"); } setVoxelSize(pw,ph,pd*(-(expl)),unit); } //}