adjust_detector(1)

πŸ“¦ version 0.13.0, in nixos 26.05, nixpkgs unstable

πŸ’… adjust_detector β€” like, the manual page

okay so this is adjust_detector(1), straight out of the General Commands Manual, and it's genuinely the glow-up your detector geometry has been waiting for ✨


🌸 NAME 🌸

adjust_detector β€” move detector panels πŸ’ƒ


πŸŽ€ SYNOPSIS πŸŽ€

adjust_detector -g input.geom -o output.geom -p group [movement]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay bestie, here's the vibe: adjust_detector moves a panel (or a whole group of panels, no cap) inside a CrystFEL detector geometry file, and then writes out an updated geometry file. that's it. that's the whole job. iconic 🫢

so like, if you wanna rotate a panel, you reach for one of --rotx, --roty or --rotz. the rotation is in degrees, and it's clockwise when you're looking along the axis you picked. and where does it spin around? the center of rotation is the centroid of the corners of the panel β€” or, if you're moving a group, the centroid of all the panel centers in that group. balanced. symmetric. main character energy πŸ‘‘

and if you wanna translate a panel or a group, that's --shiftx, --shifty or --shiftz. translation goes along the positive direction of whichever axis you named. units are pixels, UNLESS you also throw in --mm. the way that little detail matters 😭

you can use multiple movements together, but ⚠️ heads up: the results are unspecified if you combine a rotation with any other movement (and yes, that includes another rotation). so like. don't. please. for me πŸ™ˆ


✨ OPTIONS ✨

  • -g input.geom β€” tells it which input geometry file you're working with. the starting point, the origin story πŸ’–
  • -o output.geom β€” tells it where to write the output geometry file. ⚠️ real talk though: the geometry file gets re-written, which means any formatting and comments are gonna be lost. gone. poof. so if you had cute comments in there, mourn them now πŸ’€
  • -p group β€” picks the panel, or panel group, that you want to move. choose your fighter 🎯
  • --mm β€” interpret panel shifts as millimetres instead of pixels. metric system slay πŸ“
  • --shiftx=n, --shifty=n, --shiftz=n β€” shift the chosen panel (or group) by n along the given direction, in units of pixels (unless --mm is used, obviously πŸ’…). and when you're moving a group of panels, the pixel size of the first panel is the one that gets used. first one wins, iykyk.
  • --rotx=n, --roty=n, --rotz=n β€” shift the chosen panel (or group) by n degrees clockwise about the given axis. yes, the original says "shift" even though it's a rotation β€” that's just how it is, don't @ me 😭. the center of rotation is the centroid of the corners of the panel, or the centroid of all the panel centers in the specified group. same deal as above πŸŒ€
  • --panel-totals β€” display the total translation and rotation changes for each panel. πŸŽ€ and before you panic: this does not affect the refinement or the output geometry file in any way whatsoever β€” it only changes the console output. purely vibes. purely informational. 😌

πŸ‘‘ AUTHOR πŸ‘‘

this page was written by Thomas White. thank you for your service πŸ«‘πŸ’œ


πŸ’€ REPORTING BUGS πŸ’€

found a bug? report it to taw@physics.org, or go visit http://www.desy.de/~twhite/crystfel. do it, bestie, they wanna know πŸ™


Copyright Β© 2023-2025 Deutsches Elektronen-Synchrotron DESY, a research centre of the Helmholtz Association.

adjust_detector, and this manual, are part of CrystFEL.

CrystFEL is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. πŸŽ‰

CrystFEL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ⚠️ like genuinely, no promises, read the license fr fr

You should have received a copy of the GNU General Public License along with CrystFEL. If not, see http://www.gnu.org/licenses/. go get it 🧚


⭐ SEE ALSO ⭐

crystfel(7), indexamajig(1), align_detector(1), crystfel_geometry(5)

these are the friends in the group chat, go say hi πŸ¦‹


and that's the whole page!! this was the adjust_detector(1) entry from the General Commands Manual, part of CrystFEL, with that 2023-2025 DESY copyright energy ✨ mwah, go move some panels, you got this πŸ’–πŸŽ€

πŸ“¦ where this page comes from